Search Unity

  1. Megacity Metro Demo now available. Download now.
    Dismiss Notice
  2. Unity support for visionOS is now available. Learn more in our blog post.
    Dismiss Notice

[RELEASED] Ruaumoko: iso-surface, voxel mesh generation and terrain engine

Discussion in 'Assets and Asset Store' started by bens1984, Apr 29, 2013.

  1. bens1984

    bens1984

    Joined:
    Jan 18, 2013
    Posts:
    84
    Celebrating 3 years of Ruaumoko for Unity, TODAY!

    Version 1.3 is now available, with many performance optimizations and improvements with Unity 5. Maintenance has been on and off over the years, as jobs and life situations change, but I plan to keep this project alive as long as it is useful. Thus far I have not seen another product with the same features (although several have come and gone with related abilities). To further help users new and old I've created a tutorial video of sorts walking through starting a new scene:


    The latest version includes a beta version of an Octree scene manager! I'm very excited about this ability as it ensures that all of your data is always rendered at some level of detail, regardless of how near/far away the camera is. And it's still deformable!

    Please let me know if you enjoy (or have problems) using these assets. Feature requests are always welcome as well. Comment on this thread or send me a personal message.

    All the best in your game development!

    [Original Post: ]
    I'm very excited to announce the release of this project which provides a very strong solution for some unique problems (destructible worlds fully deformable meshes), in a light weight package. This is the only package like it implemented entirely in C# (giving you full control of every aspect!)

    https://www.assetstore.unity3d.com/#/content/8176

    Details

    Demos
    NEW! Blocky Demo
    Planet Demo
    Destructible world (infinite, paging,etc.)
    Volatile Liquids - Meta Ball based fluid emulation
    Infinite, paging, melt-able terrain demo (You Shall Not Escape!)
    Infinite Paging Terrain demo
    Walk-through paging terrain demo (see screen shot in post)
    Ice Caves: melt-able terrain demo

    The pre-release thread, with discussion and questions, is available here: http://forum.unity3d.com/threads/173493-Voxel-tools-unreal-landscape-shaders-meltable-ice-trees

    Please post or contact me with questions, feature requests, and bug reports/problems. I fully intend to grow the functionality of this project over time and would be glad to see sharing of use scripts and modifications as users dig into it. I also intend to write-up a tutorial on how to write scalar density generating functions for iso-surface extraction which should clarify and get people up to speed quickly. Finally, a sister-project with a suite of shaders for mesh-based terrain (used in the demos) will be released to support this project soon.
     
    Last edited: Apr 29, 2016
    Gekigengar likes this.
  2. Rico21745

    Rico21745

    Joined:
    Apr 25, 2012
    Posts:
    409
    Hey, looks nice!

    I have some questions, maybe you can answer them :) I'm definitely interested in this but I'm unsure if it will work for my current project.

    1) Can you convert an existing height map to a voxel terrain? Any performance improvements from doing this? This would not be an infinite terrain I'm talking about.

    2) Can it handle complete dynamic level generation? Is that a goal? See below for more details.

    3) Do you have any easy functions in code built in, so I could for example, flatten/raise areas under entire buildings while I'm generating the terrain? How difficult do you think it would be to create terrain that resembles a realistic city? I currently have a system that generates buildings procedurally but I'm still looking for a good way to generate the entire world itself (for example, placing forests, mountains, oceans, and cities) that look somewhat believable.

    4) Do you plan on providing a few different noise functions so users can generate the terrain without coding their own? I know this can be a time consuming process so anything out of the box would be awesome

    5) Does this play nice with AI solutions out there, like arongranberg's A* pathfinding? http://arongranberg.com/astar/

    Those are really my main questions. I know it's a lot so I appreciate your time :)
     
  3. dl_studios

    dl_studios

    Joined:
    Oct 14, 2012
    Posts:
    76
    @bens1984 Bought it! First impressions are very positive. I've been messing with the public variables in the inspector and getting fun results. I've also been browsing the scripts and documentation. The documentation isn't as sparse as you let on -- though being as unfamiliar with the inner workings and terminology of marching cubes I'm doing a bit of guessing as to what is doing what and some passages I've no clue.

    My goal right now is to get the ray gun in your demo to create square voxels on the smooth voxel land for creating buildings and other man made structures. How would I call a perfectly square voxels to be placed? Looking up the marching cubes it looks like case 0 is square empty and case 22 is square full. Which script would I do that on? Thank you.
     
  4. Socrates

    Socrates

    Joined:
    Mar 29, 2011
    Posts:
    787
    I have a question about the nature of the voxel data being used in this application: Is the data simply a binary yes/no as to what is located at a point or is it set up to handle multiple materials? What I mean is could you differentiate between air, dirt, rock, coal, iron, bedrock based purely on the voxel data being stored?
     
  5. Curious

    Curious

    Joined:
    Nov 19, 2009
    Posts:
    334
    Congrats!

    May I ask if you use a special algorithm for triangulation since this is not a triangle soup? (Shouldn't be very easy to do this efficiently)

    In my project I need to do a lot of modifications, mostly digging through the voxel data and I need a re-sizable sphere/cylinder/capsule shaped collider for the modification which might involve a few chunks simultaneously! Do you have a demo showing a sample like this:

    http://www.youtube.com/watch?v=4XefFMWdoAg

    I'd love to see something like that in your engine, TBH, I'm saving my money for TerrainEngine (in case no-one gave me the money for it ), but I need an affordable/working/supported voxel engine to work on my prototype before actually spending $3K, and I'm looking after your project.

    Thanks in advance
     
  6. bens1984

    bens1984

    Joined:
    Jan 18, 2013
    Posts:
    84
    @dl_studios: glad you're digging it! For regular old, minecraft-voxel cubes you would want to push in scalar density data that will cause the marching cubes to produce cubes (you don't want to reach inside those scripts, although you are right about the 0 and 22). The terrain demos use one "density map" (think height map but in 3D) for the whole space to enable digging and building land. For discrete structures (buildings, etc.) you may want to instantiate new density field/march cubes areas that make cubes. The ice-sculpting demo uses discrete "blocks" of ice, which are quite large, but you could look at that and think about it.

    One problem is that the engine will always try to bevel the edges of the cubes (producing diamonds, or buildings with beveled roof/corners). I'll have to think about how to defeat that.

    @Socrates: it is not binary, it's continuous scalar data (that's the only way to have smooth deformation). You could easily define ranges of values (where currently < 0 is "air" and > 0 is "dirt"):
    < 0 = air
    0 - 1 = dirt
    1 - 3 = rock
    3 - 5 = coal
    5-6 = dirt
    6 - 10 = iron
    > 10 = bedrock

    and then you have to handle rendering this out. I will put in a hook that bakes the density values into the mesh Color values–something I've been thinking could be useful–as this would allow you to write a shader to display the correct textures and then modify the sculpting/deformation code to respond differently for the different material type (dirt "digs" faster than rock, etc.)

    @Rico:
    1) yes, it would be easy to do. In fact I'll do it this coming weekend! The advantage is that you could easily allow the player to dig into the ground, or blow up subterranean bombs, or crash ships into the earth, or construct earthen defenses, or...

    2) this is the goal! I've got some good tree algorithms I'm toying with and will bring out soon. Right now it's terrain only (but perhaps many materials, formations, etc.).

    3) I don't have them written in yet, but in theory it's pretty simple. Doing it at run time would be very easy. Doing it in the editor less so at the moment. My editor tools are static right now (open the wizard, tweak some parameters, bake a new landscape mesh. Repeat as desired).

    4) Yes. I have classic and perlin noise at the moment. And you have full control over number of octaves, base frequency, strengths, warping the noise lookups, and more.

    5) It will play nice with any AI (I'm assuming you mean mostly navigation systems) that looks at mesh colliders at run-time. The one you linked should be easy–they say it generates nav meshes at run time. Eventually I'll have more in-editor tools to allow packages that need to build pre-run. I'd love to see some AIs navigating around the landscapes that I'm delivering "out of the box"! That'd be wicked.
     
  7. dl_studios

    dl_studios

    Joined:
    Oct 14, 2012
    Posts:
    76
    @bens1984

    Thanks for the advice on how to go about making cubes. I'll give that a go. But before I do that I realized I might have a larger issue. I'd like to use Ruaumoko for an iOS game. But at the moment it's not building to ios. I get the error:

    Unsupported texture format - needs to be ARGB32, RGBA32, BGRA32, RGB24, Alpha8 or DXT
    UnityEngine.Texture2D:GetPixelBilinear(Single, Single)
    <GenerateDensityCoroutine>c__Iterator2:MoveNext() (at Assets/Ruaumoko/Plugins/RuaumokoDensity.cs:205)

    My guess is that for whatever reason the maps created by the noise algorithm are in the wrong format. Is there a work around for this?

    Thanks!
     
    Last edited: May 1, 2013
  8. PolyMad

    PolyMad

    Joined:
    Mar 19, 2009
    Posts:
    2,350
    You will probably need to set up a texture to take care of how much crease each 3d pixel has.
     
  9. Banksy

    Banksy

    Joined:
    Mar 31, 2013
    Posts:
    376
    Kiora Bro... just made the purchase. time to dig dog dig...
     
  10. bens1984

    bens1984

    Joined:
    Jan 18, 2013
    Posts:
    84
    dl_studios: it's not the internal noise but the bitmap that guides the noise. Find the texture "gradients" in the Shared/Textures folder and change the Format (it's the last option at the bottom of the Inspector window, probably says "automatic compressed" at the moment. Change it to RGB24 or one of the others as the error specifies). Hit Apply and it should get you past that one.

    Let me know how it does–I have no idea what it'll be like on iOS but post your findings here, lots of others are keenly interested!
     
  11. bens1984

    bens1984

    Joined:
    Jan 18, 2013
    Posts:
    84
    $3K?!? Holy *^#$@ I can do all of that, and I will (and show you too). At 1'22" or so you see how far behind the deformation lags the cursor?? And the framerate: it's like 25fps or so and there's no other game play. Either they made the video on a crap system or it's very heavy on the CPU.

    Also, all of the voxels are beveled, as I noted mine would be as well. I have some ideas to make them true cubes (since it seems so attractive to many), but in the mean while mine are fully continuous and smooth. I will put in a toggle to reduce it to beveled, like in this video, but it's actually simplifying the engine to do that (taking out the more accurate smoothing calculations).

    Now to put my words into action... might be days before I find time.
     
  12. dl_studios

    dl_studios

    Joined:
    Oct 14, 2012
    Posts:
    76
    @bens1984 Thanks for the help. So in response to the anticipated question does it build the answer is....sort of. I'm new to Unity and programing in general so I hope those interested can be patient with me here.

    I'll give you all of the errors and what I've done to try to get around them and the results, just in case I introduced new errors.

    The first error that appears is:
    Assets/Ruaumoko/Demo Scenes/IceSculpting Prefabs/Lightning/Scripts/Lightning.js(113,99): BCE0005: Unknown identifier: 'i'.

    then

    Assets/Ruaumoko/Demo Scenes/IceSculpting Prefabs/Lightning/Scripts/Lightning.js(109,17): BCE0005: Unknown identifier: 'positionDistance'.

    I have no idea why it would be complaining about those since it runs fine normally. So I just declared the variables at the top of the Lighting.js doc as public floats--my guess is very dangerous as far as programing goes, but I just wanted a quick hack to get it to stop complaining. At any rate, it stopped throwing an error.

    After that it threw the error about the texture. bens1984 your solution worked(I changed gradients to RGB 24 bit) and it allowed me to play the game in the editor.

    I then built it to the device, it began to run. On my 4s I could see the skybox and I could look around and tap to shoot lighting. No land appeared. Then in xcode I got a thread error: Thread1:EXC_BAD_ACCESS(code=1,address=0xc))
    Photo below to see thread error in context.


    $Screen Shot 2013-05-03 at 4.10.43 PM.png

    Hopefully you have insights.
     
  13. Banksy

    Banksy

    Joined:
    Mar 31, 2013
    Posts:
    376
    Thought I'd post this vid....

     
  14. Curious

    Curious

    Joined:
    Nov 19, 2009
    Posts:
    334
    Awesome, can't wait :D

    Well, this is a very special case, he claims that his package is very optimized and yeah, the video has been captured on a pretty old dual-core PC.
    His customers seem pretty satisfied and I'm pretty sure the best part in his product is his support, which can be VERY useful :)

    -------------------------
    Well, back to our business ;)
    Very curious to know about your implementation :D

    Thanks in advance
     
  15. VicToMeyeZR

    VicToMeyeZR

    Joined:
    Jun 3, 2012
    Posts:
    427
    Is it possible you can update your docs? Very lacking.

    I run the demo scene and they work just fine, but if I try to copy them nothing happens.... I'm not sure where to begin
     
  16. bens1984

    bens1984

    Joined:
    Jan 18, 2013
    Posts:
    84
    Package has been submitted with an update to vrs 0.12b, including the planet generation code and new demo.

    @Banksy - nice vid! The hands animations make it look really cool.

    @Curious: the demo's at the top of the post!
    I also added a sculpt mode that uses a cube brush, however the beveled voxels are still in effect so it's still more on the smooth side.

    The "non-triangle soup" solution is two parts: first generate all the vertices but only make each one once (loop through only creating vertices for voxel edges 0, 3, and 8, because all the other edges will then get built as a 0,3, or 8 of another voxel). Then use a lookup table to generate the triangles, sharing the vertices on each edge with the neighboring triangles.

    I'm frequently making meshes with 40K vertices, using my current model, and if I was generating each vertex 5+ times Unity would scream at me. If using the lookup to share vertices incurs any performance hit it's made up for in increased functionality by making real meshes (so normal and tangent calculations work great, deformation works, dx11's all good...)

    @dl_studios: I'm glad you're on the iOS! But I have no idea what that Xcode error is. Can you post the image or PM it to me? Did you try one of the other demos, such as the "IsosurfaceWorld" scene? It has less stuff in it so it might help isolate what's causing the problem.
     
  17. dl_studios

    dl_studios

    Joined:
    Oct 14, 2012
    Posts:
    76
    @bens1984

    "IsosurfaceWorld" built on the iphone! My guy was able to land on the generated ground and look around. That's one small step for virtual man, one giant leap for ios gamer kind.

    There are still a number of performance issues that need to be ironed out. It took 40 seconds for the game to go from the Unity splash screen to game play, and the frame rate is choppy. But still, it ran! How to optimize is the question now.

    A thought: I've been reading around and came across dual contouring. http://procworld.blogspot.com/2010/11/from-voxels-to-polygons.html
    I don't know if you've given it any thought, and if it is a possibility, but it looks like it is a lot less limited when it comes to crispness and precision than marching cubes. In the end it might make things easier for you to get any shape customers want.
     
  18. ronan-thibaudau

    ronan-thibaudau

    Joined:
    Jun 29, 2012
    Posts:
    1,722
    Subscribed !
     
  19. Curious

    Curious

    Joined:
    Nov 19, 2009
    Posts:
    334
    I saw the latest demo, tnx :)
    First, I want to congratulate you, the mesh looks really nice and smooth :D

    I can't really say anything about the performance though, as I can't see the framerates, the very miliseconds it took to create the n^3 sphere voxel data, the RAM usage amount, the digging speed and resurfacing speed... I'd love to know more about the scene (And a FPS counter there would be nice)

    What is the voxel dimensions? How many chunks are there in the scene? And please note that the planet in the video I mentioned before was really HUGE, how about an updated planet demo that lives up to its name? A planet ;)

    Thanks in advance
     
  20. bens1984

    bens1984

    Joined:
    Jan 18, 2013
    Posts:
    84
    @Curious: here's something more what you're looking for:

    https://dl.dropboxusercontent.com/u/26291791/BigPlanetDemo/PlanetDemo.html

    This will let you make one as big as you want (bear in mind that the voxel count in the lower corner is cubed in actuality. Planets over 256 ^3 will take time to generate!). I have it maintain 10fps while building, which slows down the total time but lets the progress bar fill up. Once it's built I've had huge meshes deforming at 60fps (clamped at screen refresh rate, so could be faster possibly). I'm attaching a wire-frame image.

    $bigplanet_wire.jpg

    The "planets" demo has 4 spheres, with varying numbers of voxels. The smallest is 32^3, the largest is 96^3.

    @dl_studios: that's great news! I wonder what are the best steps to optimization... Let me know if you get any of the others to work (the ice-sculpting one, maybe?). It could be that the isosurface scene generates too many polygons for the phone (and the generation clearly takes time - 40 seconds in your case). You could mess with the parameters to have it build a smaller scene.. try this: Set the "TerrainTest" scale higher (4x4x4?) and pull it down in Y in the scene (otherwise you'll spawn below it). Change the TerrainDensityGenerator script "Size" to something smaller (64?). Also change the material it uses to something simpler (it could be the shader that's not optimized for iOS!)

    @Victomeyezr: sorry about the docs. They're coming along, but not top priority yet. I hope you can poke around and try changing the scenes to figure out how things work. You should be able to duplicate them at least.
     
  21. Curious

    Curious

    Joined:
    Nov 19, 2009
    Posts:
    334
    Tnx man, the new demo is pretty much what I was looking for :D
    I'm going to buy it in a few days (waiting for my credit card :D )

    Two more questions:
    1) Imagine this: You have a sphere mesh (with a sphere collider) which can be manipulated in 3d space, how do you use the sphere to create or dig something in the voxel mesh? (shouldn't be hard, right? or at least, I hope so ;))

    2) How do you count the number of voxels which has been modified? (for example a sum of each voxel * its density value)
     
  22. nosyrbllewe

    nosyrbllewe

    Joined:
    Oct 18, 2012
    Posts:
    182
  23. bens1984

    bens1984

    Joined:
    Jan 18, 2013
    Posts:
    84
    @dl_studios: thanks for the progress report! Dual Contouring is certainly in the future, I'm very excited to have more creased surfaces. However it's going to take some time to research implement.

    @Curious: 1) yes, easy. In fact it's doing basically that when the player clicks on the terrain, it just doesn't render the sphere or cube. 2) how do you want to count it? And is this a "modified from startup" or "modified this frame" or last second or ? In the code I'm changing the voxel values and it would be easy to sum up the changes at any point (keep a running average?) or whatever you desired.

    @nosyrbllewe: ah. The engine doesn't require Pro but the real-time shadows are still a Pro-only feature. I have a computer with Indy and one with Pro and I built the demos with shadows on the Pro machine to show that all the tangents were calculated to enable shadows. There's also bloom and scatter on some of the demos–also Pro features. So you can do everything this engine enables: terrain, surfaces, deformation with any license.
     
  24. Curious

    Curious

    Joined:
    Nov 19, 2009
    Posts:
    334
    Awesome, I like your enthusiasm ;)

    Thanks, I was hoping for something this easy, thanks to your implementation :)

    I would like to count them every frame (e.g. in update loop)
    Well, about the formula, I'd like to be able to count the number (and maybe position) of the voxels that are modified (in each frame)
    Then want to be able to sum them up like this in a loop: sum each voxel multiplied by its density
    Then if possible I'd want to calculate the digging Normal Vector (by averaging the normal of each modified voxel not the direction from the moving sphere-collider)

    I hope that I have explained it well :)'

    [EDIT]
    Oh, is it possible to generate each chunk of voxel on the GPU? Even for deformation?
    http://http.developer.nvidia.com/GPUGems3/gpugems3_ch01.html

    I'd love to see the usage of Compute Shaders (DX11) in the future for this purpose :)
     
    Last edited: May 10, 2013
  25. zephren

    zephren

    Joined:
    Dec 7, 2012
    Posts:
    25
    Just purchased, but no documentation or very basic.

    I need to pre-create a world (preferably) a planet.The planet needs to consist of mountains, valleys, caves, rivers and many more. I do not want it randomly generated but I need to create everything from scratch. This will be completely destructible and changeable, during game time, how do I get started in that? as the worlds are in the scene are invisible.
     
  26. dl_studios

    dl_studios

    Joined:
    Oct 14, 2012
    Posts:
    76
    @bens1984 That's wonderful news! I'm excited to hear that you're going down the dual contouring route.

    For optimization it seems that there are a number of octree types used with dual contouring : adaptive and sparse octree are two that I've come across. Also, here's some dual contouring source code to help with research in case you haven't come across this yet.

    http://www.oocities.org/tzukkers/isosurf/isosurfaces.html

    Best of luck!
     
  27. meta87

    meta87

    Joined:
    Dec 31, 2012
    Posts:
    254
    This looks incredibly cool! I'm thinking about buying, but is there any way to upload the asset with an older version of unity? I don't want to upgrade to 4.12 just yet, I'm currently on 4.0.1f2
     
  28. pmuno007

    pmuno007

    Joined:
    May 6, 2013
    Posts:
    1
    Hi bens1984,
    I just bought your package, went through the demos, and I am loving it.

    I have one problem though. I have one height map, which is not infinite, and I am having trouble making it so you can deform it like the ice or infinite terrain in the demo. I am guessing I have to convert it into voxel terrain, but I have no idea on how to do this. I would appreciate if you could give me a hand.

    Thank you in advance
     
  29. Curious

    Curious

    Joined:
    Nov 19, 2009
    Posts:
    334
    @pmuno007,
    That would be pretty easy actually...
    Your heightmap is a 8-bit texture map, right? Just read the pixels (x and z of your 3d array), the value of each pixel would be the height of your terrain of course (y value of your 3d array) then you'll have a 3d array that could easily be used to transform your height map into a voxelized terrain ;)

    Good luck
     
  30. bens1984

    bens1984

    Joined:
    Jan 18, 2013
    Posts:
    84
    Just want to let everyone know what's on the horizon (should be released later this week):

    • Height Map support: now you can drop in your most awesome height map and generate a fully deformable world on-the-fly. Available in standard and warped-cave-noise flavors.
    • Porting it back to 3.5.
    • More shaders to give more options (elevation changes, multiple materials, and more)
    (and minor bug fixes. Thanks for the feedback!)

    @meta87: It should open in any version of 4... (I haven't tested this but have no reason to believe it won't). I wrote it originally in 3.5 and need to port it back there for everyone who's staying in 3.
     
  31. nosyrbllewe

    nosyrbllewe

    Joined:
    Oct 18, 2012
    Posts:
    182
    I can't wait for the update. The new shaders sound very useful.
     
  32. PolyMad

    PolyMad

    Joined:
    Mar 19, 2009
    Posts:
    2,350
    Do the shaders support normal maps?

    I would like so much to buy it because I want to make some maps set in caves, but I really can't drop down normal maps that I am using all along the game.
     
  33. Curious

    Curious

    Joined:
    Nov 19, 2009
    Posts:
    334
    Ahem, could you please be more supportive and all? It really sucks to wait for a whole week and get no answer :(

    A responsive developer is as important as the product...
     
  34. bens1984

    bens1984

    Joined:
    Jan 18, 2013
    Posts:
    84
    @megmaltese: normals - yes! All my shaders have bump maps and parallax (height maps) as options. I can't live without them.

    @curious - sorry for the delay! In RL I have students contesting their grades, baby toys to pick up, blah blah (no excuse, I know). Counting voxel modifications and normals: easy, but requires a few lines of code. This seems like a pretty specialized tool so I won't be dropping it in the public release, but if you have trouble stepping through the code I'll do my best to help.

    I know my doc's suck, they'll improve with time! (now it's summer so time will be more abundant)
     
  35. PolyMad

    PolyMad

    Joined:
    Mar 19, 2009
    Posts:
    2,350
    Cool great :)

    Another question: can your triplanar shader be used for common meshes?
     
    Last edited: May 20, 2013
  36. Curious

    Curious

    Joined:
    Nov 19, 2009
    Posts:
    334
    Yep, normally they should work on any mesh, I'm pretty sure ;)

    RL as in Real Life I assume ;)
    Yeah, sure, I didn't mean to be rude or anything, so, yeah, apology accepted ;)
    But seriously, be (more) supportive, you'll guarantee your current/future business.

    I almost decided to go for the other Voxel engine (just because of support!)

    Thanks for your answer and for your offer (as in helping me with that specific need), it's always good to know that the developer won't take your money and go away with it :D
     
  37. PolyMad

    PolyMad

    Joined:
    Mar 19, 2009
    Posts:
    2,350
    Then I'm going to buy this soon :rolleyes:
     
  38. meta87

    meta87

    Joined:
    Dec 31, 2012
    Posts:
    254
    I can't purchase it with an older version in the asset store, because you uploaded with a newer version I think. Looking forward to getting it when you upload with an older version, thanks!
     
    Last edited: May 22, 2013
  39. PolyMad

    PolyMad

    Joined:
    Mar 19, 2009
    Posts:
    2,350
    Uhhhh btw this works in Unity 3.5, RIGHT???
     
  40. Curious

    Curious

    Joined:
    Nov 19, 2009
    Posts:
    334
    I've been playing around the new planet demo and found this very annoying seam in the planet! I can easily re-produce it (you can see my property sets) by randomly digging the planet! Could you please confirm (and hopefully fix) it?
     

    Attached Files:

  41. sen3d

    sen3d

    Joined:
    May 21, 2013
    Posts:
    3
    Hi,
    is it possible to use external voxel-data?
    Maybe you heard of 3D-Coat?
    It lets you export RAWVOX.

    That pipeline would be awesome!
     
  42. bens1984

    bens1984

    Joined:
    Jan 18, 2013
    Posts:
    84
    All 3.5 people: yes it works in 3.5 (the shaders require a few lines changed), but to save you trouble I've got it all ported back. I need a day to make sure I haven't broken anything and then I'll submit it so anyone can buy/download for 3.5!

    @Curious: for some reason I can't see your image, can you pm it to me? The planets exist in an invisible voxel box so if you're growing tall mountains you will get to the edge and I haven't coded any limits (to prevent holes). But this sounds like something else you've found!

    @sen3d: I'd love to support external data imports (and in fact it may be simple enough to save out as well). I'll have to dig up the specs for RAWVOX and some sample files (or if you have some you'd be willing to send me that'd be a great assist). Then it should be pretty simple to bring it in!
     
  43. Terrion01

    Terrion01

    Joined:
    May 25, 2013
    Posts:
    19
    Loving the tool so far, Any news on the next update :)
     
  44. Curious

    Curious

    Joined:
    Nov 19, 2009
    Posts:
    334
    That's very odd! It's gone!

    Yeah, well, it's a seam/hole between the chunks I believe! A naive implementation of Marching Cubes would use a linear-interpolation to determine the position of each point on an edge, but since you're using a shared vertices method I don't know what the problem is... But I'm sure you can handle it ;)

    [EDIT]
    There's something wrong with this forum these days!
    Well, here it is:
     

    Attached Files:

    Last edited: May 25, 2013
  45. meta87

    meta87

    Joined:
    Dec 31, 2012
    Posts:
    254
    I updated my version of Unity and picked this up. So awesome! Really easy to use. I spent hours yesterday just messing around seeing what I could come up with. Keep up the great work on this :) Here's a youtube from my experiments:

     
  46. meta87

    meta87

    Joined:
    Dec 31, 2012
    Posts:
    254
    One more! Okay must do some actual work :)

     
  47. Imillionaire

    Imillionaire

    Joined:
    Dec 14, 2012
    Posts:
    60
    Is there currently any way to keep the terrain we create using the diggable/buildable paging terrain demo after we unclick the play button? maybe exporting out the meshes created during run time so they arn't lost when you go back to editor mode. honestly that's the only thing i see holding this back from being absolutely fan-f**king-tastical
     
  48. bens1984

    bens1984

    Joined:
    Jan 18, 2013
    Posts:
    84
    sorry for the slow comments these days - holidays keeping me away from the keyboard. A 3.5 compatible version has been submitted so it's up to the Asset Store review board to get it up for y'all!

    @curious: a ha! I know the problem... now to fix it. Although the meshes are all fully connected the planet is generated in chunks that update independently. Based on frame-rates or floating point round-off they can get out-of-sync at the edges. I'll find a way to get them to share and sew those holes up.

    @meta87: cool videos–I'm digging the underwater effect!

    @millionaire: saving is in the works! I've been toying with exporting a pile of 3D textures (or another voxel data format) but the asset export might be a quick solution. I'll put it in the queue!
     
  49. Imillionaire

    Imillionaire

    Joined:
    Dec 14, 2012
    Posts:
    60
    when i try building a world in the editor, im only able to make it around 60* size otherwise unity crashes saying something about memory overload. and when i try to make them smaller, and piece them together - they never line up. how do i remedy this? or is there currently no way to make your own perminent landmass yet? (im using the export .OBJ editor script during runtime to save the voxel instances out and reimport them back into unity)
     
  50. Curious

    Curious

    Joined:
    Nov 19, 2009
    Posts:
    334
    @bens1984,
    Based on which chunk border(s) has been modified most people would flag the corresponding neighboring chunk(s) as dirty and force those neighbor(s) to update... but again, you're the master here and I don't know your algorithm so we'll trust you to handle it your way ;)

    Can't wait to see an update on this :)