No announcement yet.

The Eden Project

  • Filter
  • Time
  • Show
Clear All
new posts

    Nice, i have something of procedural planets too:

    And i've implemented it about year ago. But now i can't continue it. Reason in that post:
    Have runtime LOD and collision update. It works great in standalone and PIE, but not in packaged. Also it interacts with player character without problems and i've implemented correct LOD and collision update for network gameplay. Collision in packaged build is disappointed me. Also i have correct object spawner for procedural planets - it spawns any foliage, any buildings. Have prototype of atmosphere and water, also have prototype of in-game terraforming. I've done lot of work and what can i do now? Nothing or implement my own PhysX-based runtime collision pipeline to make it work in packaged, but i can't.
    P.S. Заранее извиняюсь за мой английский


      [MENTION=42241]R4ndom3r[/MENTION] - I have some experience with PhysX's base code, add me on Steam (same name as on here) and maybe we can chat and work through a solution together.
      Storyteller - An immersive VR audiobook player

      Dungeon Survival - WIP First person dungeon crawler with a focus on survival and environmental gameplay ala roguelikes


        Hey there R4ndom3r,

        They look great! Sounds like you're quite a bit ahead of me as far as adding stuff to the planet goes (good news for me, means all of that stuff is doable!)

        Collision is definitely one of the things I'm expecting to be more difficult than the other stuff I've already got done. My first plan of attack will be to try not using mesh collision at all, but instead to give each actor access to the planets height generating algorithms, so that they can effectively ask "what is the altitude of the terrain under my lat/lon position" and react accordingly . Height generated purely from math is very fast to access, but because I'm wanting to mix between different terrain patterns using the bitmap based biomes from the voronoi images at the start of this thread I'll probably run into some performance challenges there (but I'll cross those bridges when I get to them).

        How do you find the performance of procedurally spawned foliage? That's the one that I expect will be the most challenging, and collision will be an issue there too (can't have people driving through trees...)


          Originally posted by ioFlow Studios View Post
          How do you find the performance of procedurally spawned foliage?
          Just spawn some trees and grass and see what happened. If you going to spawn over 500k meshes on planet, even with culling it will freeze every 0.5-1 seconds (i have not researched this problem, but found a solution). The solution is compounding big amount of single meshes to large "lod-blocks" of foliage and spawn that "blocks" (seems like landscape LODs). From 500k meshes i've reached about 500-1000 big lod-meshes. I've added culling distance too. But you can calculate foliage runtime like heights of planet - it's good solution too and i've implemented it too (based on coherent noise with displacement for coords matching every time). It's only performance issue and i wanted to avoid "spawn-calls", thats reason why i've implemented "lod-blocks".
          Not using collision is good choise, but what about interplanet interaction? At the beginning of my project i wanted to "ramming planets" and even did simulation with destruction meshes - it uses in-engine implementation of collision as far as i know. And collision interface provides good stuff (events, for example) to manage any kind of interaction (terraforming, ramming and even integration with physics-based fluids). I don't want to refuse it
          Last edited by R4ndom3r; 04-19-2016, 01:59 AM.


            Re the foliage, sounds promising... Re ramming planets, lol, no I won't be doing anything like that sorry

            Having said that, because I'm using clipmaps (or at least, my version of them) it's very easy to say "Ok, give me collision, but only for the 3 closest lod octaves" (or whatever). In fact I tried it already, but the collision generated by default by the proc mesh component was very poor quality so I guess I'll have to spin some code of my own to do that.

            Re progress, for tonight I had to keep slogging away at getting the normals between lod octaves synched, it's turning into a tough job but I seem to still be making progress (albeit of the slow variety). Needs doing but, so... *shrugs*


              Hello ioFlow Studios
              What you’re doing with the planet -sized terrain looks interesting and rather promising. I did build a system for planets that work good from an orbital view and procedural texturing a while back if you’re interested I could look into coming up with a system to texture and populate your generated planet with vegetation according to your height data, climate zones and so on.


                Hi cronos3k,

                Thanks! I love your planetarium asset too, it's such a great looking planet

                TBH been so busy coding hadn't even thought about the possibility of teaming up with other people... open to suggestions though. I'll send you PM, probably easier to chat about it there.


                  Also, now that you've got me thinking about texturing I remembered that I've got an (older UDK) example of the type of details I'd like to be able to do down at ground level in Eden.

                  I did this demo video for a (huge) video tute series I made for my last job, it's pretty low res sorry but you get the idea

                  No foliage and a bit rough in places, but I'm looking forward to seeing how much better I can do things in UE4 for eden...




                    Finally got the normals across the lods lining up nicely together:

                    Click image for larger version

Name:	20160421_215300.png
Views:	1
Size:	798.7 KB
ID:	1105011

                    It was REALLY hard (I'm not as clever as people think I am).

                    P.S. the light grid lines you can see are just the default texture pattern in the default material.

                    Here's the corresponding wireframe so you can see what's going on under the surface:

                    Click image for larger version

Name:	20160421_215400.png
Views:	1
Size:	362.4 KB
ID:	1105012

                    Big win, gonna be a good weekend... (mwuhahahaha)



                      Thought I'd do a little video showing how the mesh can update in real time when you change the noise settings.

                      It's not real smooth on my old laptop with screen recording software running, but that's ok. When you edit like this eden has to update all meshes planet wide every time one of the noise settings change.

                      But in game it only has to make the meshes once, then they can just sit there until they need to change resolution based on the players distance from them which is staggered by the lod system so it's MUCH higher performance.


                        Wow omg

                        Can you fly around on the planet now? :O


                          I can't say I totally understand whats going on here but I sure do respect your perseverance and dedication. It's very rad reading through your months of progress and seeing everything develop!


                            Not yet.

                            Got a long weekend this weekend though, and player controller is top of the list now (need to see how it all runs in game before I pile a bunch more stuff on top of it).


                              Couple more youtubes of testing live edit on my (faster) work machine instead of my laptop:


                                You got featured on launcher Spotlight Project, congrats! Nice work, I've been wishing for this for quite some time.