Vexosaur Posted October 1, 2017 Share Posted October 1, 2017 (edited) Working on a procedural cave generator using input curves for the base shape and cellular automata. The goal is for them to be game engine ready with textures, what do you think? Edited October 1, 2017 by Aragatory 8 Quote Link to comment Share on other sites More sharing options...
f1480187 Posted October 2, 2017 Share Posted October 2, 2017 (edited) Cool stuff! The biggest challenge are fail cases. Extrude spikes, bad booleans and other degenerate outputs which will break the generator or yield dangerous results that will break the game. It may be hard to create robust generator. I also found that generator complexity may increase exponentially from adding new features to it. Edited October 2, 2017 by f1480187 Quote Link to comment Share on other sites More sharing options...
Vexosaur Posted October 2, 2017 Author Share Posted October 2, 2017 (edited) 18 hours ago, f1480187 said: Cool stuff! The biggest challenge are fail cases. Extrude spikes, bad booleans and other degenerate outputs which will break the generator or yield dangerous results that will break the game. It may be hard to create robust generator. I also found that generator complexity may increase exponentially from adding new features to it. Thanks! I've tried to stay away from methods with relatively high failure rates, so no booleans and only one extrude for the wall mesh. The stalagmites/stalactites are all instanced, so little chance of them breaking (aside from awkward placement). But yeah added complexity might change all this. Edited October 2, 2017 by Aragatory Quote Link to comment Share on other sites More sharing options...
acey195 Posted October 2, 2017 Share Posted October 2, 2017 very nice always good to see more game oriented stuff! makes me considering revisiting some of my old projects ^^ 1 Quote Link to comment Share on other sites More sharing options...
Atom Posted June 5, 2018 Share Posted June 5, 2018 (edited) I put together an attempt at emulating this technique. But I am not sure how to implement the stalagtite/mite. Also probably need a way to detect points with no neighbors and just throw them away. ap_python_cellular_automata_060518.hiplc Edited June 5, 2018 by Atom 1 Quote Link to comment Share on other sites More sharing options...
Atom Posted June 5, 2018 Share Posted June 5, 2018 Played around a little more with surfacing and came up with a way to have a mostly flat floor but still keep some noise. ap_python_cellular_automata_060518.hiplc 1 Quote Link to comment Share on other sites More sharing options...
Vexosaur Posted June 5, 2018 Author Share Posted June 5, 2018 Nice! I need to start working on mine again, it's been sitting in hiatus for ages. The new poly reduce will be really helpful too. Quote Link to comment Share on other sites More sharing options...
Atom Posted June 5, 2018 Share Posted June 5, 2018 (edited) This is a fun one to play around with. I am definitely getting some UV stretching where the floor meets the walls. That would be right at player eye level too. I am not a big fan of polyreduce, it seems to mess things up more than fix them. But maybe polyreduce then run it through InstantMeshes to restore the quad topology might be worth trying out. Edited June 5, 2018 by Atom Quote Link to comment Share on other sites More sharing options...
Vexosaur Posted June 5, 2018 Author Share Posted June 5, 2018 Yeah, will need to play around. Mainly thinking for it's ability to preserve UVs. Quote Link to comment Share on other sites More sharing options...
Vexosaur Posted June 21, 2018 Author Share Posted June 21, 2018 Start working on this again. Added some width variation to the input curve, vertical shafts and broken it into segments. 1 Quote Link to comment Share on other sites More sharing options...
Vexosaur Posted July 13, 2018 Author Share Posted July 13, 2018 3 Quote Link to comment Share on other sites More sharing options...
vr_voxel Posted July 12, 2019 Share Posted July 12, 2019 This is really cool stuff. I was wondering if you could elaborate on how you went about creating UVs for this cave system? I'm doing something similar, basically carving out "tunnels" with 3d noise in a fog vdb and then converting to polygons. How the heck would one generate nice UVs for this? Is it even really possible without extensive manual work? I remember reading a paper/article by Ari Danesh a while ago about a procedurally generated landscape with overhangs and tunnels used for a game in Unreal engine that apparently used a procedural UV system. Can't find it any more but I seem to remember he glossed over the procedural UV part anyway... UVing a procedurally generated complex 3d "swiss cheese" mesh can't be a trivial problem to solve so I'm being realistic in my expectations. But your results look pretty good! Any info or tips gratefully received! Quote Link to comment Share on other sites More sharing options...
Vexosaur Posted July 14, 2019 Author Share Posted July 14, 2019 On 13/07/2019 at 8:21 AM, vr_voxel said: This is really cool stuff. I was wondering if you could elaborate on how you went about creating UVs for this cave system? I'm doing something similar, basically carving out "tunnels" with 3d noise in a fog vdb and then converting to polygons. How the heck would one generate nice UVs for this? Is it even really possible without extensive manual work? I remember reading a paper/article by Ari Danesh a while ago about a procedurally generated landscape with overhangs and tunnels used for a game in Unreal engine that apparently used a procedural UV system. Can't find it any more but I seem to remember he glossed over the procedural UV part anyway... UVing a procedurally generated complex 3d "swiss cheese" mesh can't be a trivial problem to solve so I'm being realistic in my expectations. But your results look pretty good! Any info or tips gratefully received! Thanks. I was able to make nice clean UVs for this because the mesh is actually very uniform. The ground/ceiling is just mapped to a grid based on its position, and the wall the all the strips of mesh that have the same amount of polys vertically. For your problem, the best solution I can think of off the top of my head would be group polys based on facing angle/curvature and then breaking those up into more uniform pieces maybe. You might need to look into generating procedural textures to help with seams since you are probably never going to get really clean UVs. Quote Link to comment Share on other sites More sharing options...
CinnamonMetal Posted July 28, 2019 Share Posted July 28, 2019 Look like a Teletubbies cave. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.