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

TOZ Planet Renderer - Gamekit for generating procedural LOD Planet and Solar Systems

Discussion in 'Assets and Asset Store' started by aubergine, Jul 5, 2018.

?

What tier machines are you targeting?

  1. Low end (Mobile, VR, old computers)

    31.0%
  2. High end (Fast, many processor gaming pcs)

    34.5%
  3. Both

    34.5%
  1. aubergine

    aubergine

    Joined:
    Sep 12, 2009
    Posts:
    2,878
    More work done with 1.6 version.

    * New tree shaders, can still use speedtree trees, but these new shaders make things easier to use the good old mesh trees
    * Better cloud/atmosphere shaders
    * Changed lod stage segment differences to remove popping large chunks of terrain at once.

    2.png 1.png
     
  2. aubergine

    aubergine

    Joined:
    Sep 12, 2009
    Posts:
    2,878
    Version 1.6 is now live on the assetstore. Please remove the previous version before downloading this one.
     
  3. aubergine

    aubergine

    Joined:
    Sep 12, 2009
    Posts:
    2,878
    Getting ready for version 1.7:

    Now you can use real solar system data for planet heightmaps.

    In the below photos, the heightmap for earth and moon is used, but colors are coming from a gradient and not the real earth texture. It is also possible to use the real earth texture though.

    1.png 2.png 3.png 4.png
     
  4. aubergine

    aubergine

    Joined:
    Sep 12, 2009
    Posts:
    2,878
    Hello people,

    This june i am celebrating my 10th year as an asset store Publisher with unity. So, i am giving out 3-5 free vouchers for TOZ Planet Renderer to those people WHO are in the process or have an idea of making a space related game.

    Follow me on twitter @MagnaCucumis and tell me your idea, you might win a free copy.

    Even if you dont win a free copy, good news is this package will be 85% OFF for 15 days starting 1st of June and most of my other packs will be free of charge!! You can see the packages on my Publisher Page.
     
  5. lolaswift

    lolaswift

    Joined:
    Jan 10, 2019
    Posts:
    151
    hi congrats!
     
  6. aubergine

    aubergine

    Joined:
    Sep 12, 2009
    Posts:
    2,878
    The package is 75% OFF for 15 days starting today. Buy it from ASSETSTORE.
     
  7. aubergine

    aubergine

    Joined:
    Sep 12, 2009
    Posts:
    2,878
    Little bumb for the other side of the world.
     
  8. Soulice

    Soulice

    Joined:
    Aug 18, 2014
    Posts:
    69
    Great looking asset, but a little much (even at discount) at my extremely early stage of development. I have a ship flying and shooting the way I want, and that's about it. Just wanted to comment on how fantastic this asset looks. Good luck!
     
  9. aubergine

    aubergine

    Joined:
    Sep 12, 2009
    Posts:
    2,878
    Thank you.
    The package needs specific coding for physics objects (if your space ship requires physics interaction) and that means you should get familiar with how things work before even coding your space ship movement. There are base classes that your objects should extend.

    Good thing is, ship in space and atmosphere movement, human on planet movement and wheeled vehicle on planet movement already has samples included in the package.

    Great thing for most Asian countries is, its currently on sale at 50% OFF for 11.11 singles day promotion for the following 3 days.

    Best thing is, i am here to improve this package and support it long term.
     
    Soulice likes this.
  10. willwlh

    willwlh

    Joined:
    Sep 19, 2020
    Posts:
    3
    It look very nice,unfortunately, I missed the discount. Was there discount at the end of the year?
     
  11. aubergine

    aubergine

    Joined:
    Sep 12, 2009
    Posts:
    2,878
    Unfortunately no. And the previous discount you mention was for singles day only(some Asia countries).
     
  12. skattology

    skattology

    Joined:
    Oct 5, 2017
    Posts:
    2
    Hello. I am really enjoying this asset so far. I am wondering... How would you handle making a gas planet? (No Water or Land) I tried just removing both but the result didn't extend the atmosphere through the full volume.
    In my game, I would have winds, clouds, weather, and floating stations inside the atmosphere. It would be fine for there to be a liquid core, but I would want it to be quite small compared to the overall size of the planet.
     
  13. aubergine

    aubergine

    Joined:
    Sep 12, 2009
    Posts:
    2,878
    For a gas giant, i wouldnt use the planet renderer. Instead, if you check the nebulae, its actually a 3d volumetric texture renderer.
    Maybe just to have the liquid core, you could use a planet with water and atmoshere turned on, and add a volumetric nebulae at the center(adjusting the size accordingly).
    To prepare the 3d texture for it, use TOZ Noise editor (included in the package) and render a spherical gradient noise with enough latency and probably 32x32x32 or something better. Then use it on the shader.

    But this wont give you the look of jupiter or something straight away, you will have to add some particle smoke when inside the atmosphere or something to give you a better look upclose. But from faraway, it will look odd.

    Ill try to update TOZ Noise with color bands blending in the near future to help with this.

    EDIT: normally planet renderer scale of ground/clouds/atmosphere ratio is based on earth. To make the ratio different, the whole planet renderer and atmosphere scattering shaders need to be rewritten.

    EDIT2: The package lacks reviews in the assetstore, if you could put an honest review in there, it will help alot.
     
    skattology likes this.
  14. skattology

    skattology

    Joined:
    Oct 5, 2017
    Posts:
    2
    Thank you so much for the explanation!

    If I used a liquid core, I would be able to attach my planet assets to the LOD on the planet object, I think. That seems like it would be a big advantage over handling assets for the gas planet separately from the rest of the LOD systems.

    I am happy to give you a good review for this. You have done great work here.
     
  15. aubergine

    aubergine

    Joined:
    Sep 12, 2009
    Posts:
    2,878
    If you use water surface only, the auto generation of lod items (wildlife and nature or anything else) wont be generated, because currently they are all tied to the ground lods.

    However, if you check the PlanetTreeNode.cs file, the relevant functions are at lines 278 and 330.
    With alittle bit of editing the source code, you can create a smiliar function and do the checks on PLanetSurfaceType.Water such as:
    Code (CSharp):
    1.             if(this.Tree.Surface == PlanetSurfaceType.Water && this.Tree.Planet.HasFloatingStationsOrSomething) {
    2.                 if(this.lod == this.AReasonableLODLevel && Tree.Planet.HasFloatingStationsOrSomething!= null) {
    3.                     this.HasFloatingStationsOrSomething = true;
     
  16. aubergine

    aubergine

    Joined:
    Sep 12, 2009
    Posts:
    2,878
    Last day for the 50% discount for this package, get it while you can for 60USD from the AssetStore
     
  17. aubergine

    aubergine

    Joined:
    Sep 12, 2009
    Posts:
    2,878
    Here is a little update on 1.7 version progress.

    * Completely changed the way LOD works, much more efficient and much more precise now.
    * Multithreaded architecture is replaced, so the package now can work on WebGL builds as well.
    * Patches of LOD popping up during child generation is fixed.
    * TOZ Noise generating uncompressed big assets have been replaced by compressed images (this is less precise on surface data but much faster to generate and doesnt require hundreds of mbs of hard disc space)
    * Changed the shaders alittle bit
    * Namespace changed and some functions are now obsolete.

    I will release this version in a month time if everything goes ok.
     
    DeCarvalho likes this.
  18. aubergine

    aubergine

    Joined:
    Sep 12, 2009
    Posts:
    2,878
    Here is a little sneak peak of the beta 1.7 version. The new LOD algorithm is at work.

     
  19. aubergine

    aubergine

    Joined:
    Sep 12, 2009
    Posts:
    2,878
    Here is another video for the v1.7, final improvements in a week and then release.

     
  20. aubergine

    aubergine

    Joined:
    Sep 12, 2009
    Posts:
    2,878
    1.7 is ready now and i will submit it to the AssetStore tomorrow after improving the documents.
    This release brings alot of radical changes to the code, so if you want to keep a backup of the old v1.6, you should download it now. As it also has some good math functions in it which can be used somewhere else.
    With the 1.7, i will delete the previous versions.
     
  21. aubergine

    aubergine

    Joined:
    Sep 12, 2009
    Posts:
    2,878
    Just submitted the new v1.7 to the store. It should be up in a few days.
    Started working on 1.8 now, and it will be mostly about improving the planet walking and nature creation.
     
  22. aubergine

    aubergine

    Joined:
    Sep 12, 2009
    Posts:
    2,878
    Had to remove the speedtree example model, as assetstore doesnt allow it anymore.
    When it comes to speedtree or other billboards related to unity, use the provided billboard script instead as it can be rotated on all axis' but unity billboards are fixed on y axis.
     
  23. aubergine

    aubergine

    Joined:
    Sep 12, 2009
    Posts:
    2,878
    v1.7 is live on the AssetStore now.
    Remember to delete the old package before importing this one, and read the readme file atleast once to setup the layers and physics for unity.
    With this release, speedtree example is deleted as assetstore doesnt let it anymore. So, you can use the old one from the previous releases if you want, atleast it shows how to setup lod levels for trees.
     
  24. drew55

    drew55

    Joined:
    Dec 13, 2017
    Posts:
    44
    Just purchased this asset only to find that the PlanetRenderer demo yields a blank screen under URP. Sorry if I missed the obvious but I didn't see any docs saying this asset was SRP only. Am I wrong? Thanks!
     
  25. aubergine

    aubergine

    Joined:
    Sep 12, 2009
    Posts:
    2,878
    Hello, and thanks for the purchase.
    Unity itself is not made for large space simulation games and not at all suitable for planetary terrain rendering. So, we must use some tricks to make such things. The shaders and scripts are using some tricks that only standart rendering can manage so the package currently doesnt support HDRP and URP or any other custom RP.

    If you really must use the RPs and really need a refund, let me know.
     
  26. plan-systems

    plan-systems

    Joined:
    Mar 8, 2020
    Posts:
    44
    I sent you a PM regarding this. :)

    Indeed, URP is essential and suggest you update the asset's info so others know before buying.

    Thanks,
    Drew
     
  27. aubergine

    aubergine

    Joined:
    Sep 12, 2009
    Posts:
    2,878
    URP is not essential, its an extra optional package. Standart rendering pipeline is essential. As i explained, the tricks used here are not possible with URP at the moment. I will support it in the future if it becomes possible but i have doubts that unity will make urp obsolete faster than you can imagine.
     
  28. aubergine

    aubergine

    Joined:
    Sep 12, 2009
    Posts:
    2,878
    I just noticed i left out a feature for space stations on planets commented in the code.
    While i will fix this in the following update, you can also fix it yourselves.

    1- Open Planet.cs file
    2- Uncomment the section of the UpdatePlanet function starting at line 239 to 284 (the one starts with if(!isStationPositioned)
    3- Remove the lines at 258, 259 and 260
    4- Add the following lines instead of the removed lines:
    Thats it, now the stations will be positioned on the planets, if they have a station prefab.
     
  29. TomBellNo

    TomBellNo

    Joined:
    Mar 13, 2018
    Posts:
    12
    How well documented is this? Looks amazing and am definitely considering using in my project.
     
  30. aubergine

    aubergine

    Joined:
    Sep 12, 2009
    Posts:
    2,878
    Not very well documented as it is still improving. And i often do radical changes on how things work.
    But the code is very clean and easy to understand, variable and function names all make sense.

    So, If you dont know how to code, just dont buy the package as it requires knowledge of good math/physics skills and a good understanding of c#.
     
  31. TomBellNo

    TomBellNo

    Joined:
    Mar 13, 2018
    Posts:
    12
    Bought it yesterday and you are correct, the code is very clean to read. I'm so used to Unity packages having messy code this is a pleasant surprise. One issue I've found while running is that when close to the ground the terrain appears to wobble back and forth. Not sure if this is a common bug with the package or something I've done wrong in my project.
     
  32. aubergine

    aubergine

    Joined:
    Sep 12, 2009
    Posts:
    2,878
    Thanks for buying the package, you can contact me anytime through the email in the readme file and i will help as much as i can with customizations for your own project.

    The wobble is in the demo scene? If so, is it with the humanoid, car or the spaceship characters?
    EDIT: Or do you mean the shadows?
     
  33. TomBellNo

    TomBellNo

    Joined:
    Mar 13, 2018
    Posts:
    12
    my bad, the wobble was a fault with my ship control code and it being super sensitive to mouse movement when scaled down for the planets. I'll be sure to email any questions.
     
  34. aubergine

    aubergine

    Joined:
    Sep 12, 2009
    Posts:
    2,878
    Glad it works, if you like the package please drop an honest review on the store page as it helps for more sales.
     
  35. aubergine

    aubergine

    Joined:
    Sep 12, 2009
    Posts:
    2,878
    Here is a short video of the upcoming features.
    *Swimming is very buggy at the moment.
    *LightShafts effect is not included, its available as a seperate package in the store with many more cool image effects.


    *TOZ Clouds incorporation for the planets and improvements on the package itself. It is also available as a seperate package in the store.
    *TOZ Water shaders incorporated, with a few missing options already included with TOZ Planet Renderer. It is also available as a seperate package in the store.
    *TOZ State Machines helps the planets wild life decision making (NPCs)
    *TOZ WayPoints helps pathfinding both in space and on the planet (NPCs)

    EDIT: URP, HDRP or any other RP is NOT supported!! Only standard rendering pipeline.
     
    Last edited: Jul 7, 2021
    Razmot likes this.
  36. aubergine

    aubergine

    Joined:
    Sep 12, 2009
    Posts:
    2,878
    I am about to update the package and the new release will be a straight 2.0 release.
    I ve added so many new features and fixed a quite amount of bugs with this one.
    Unfortunately, It will bring a price increase as i spend quite alot of time.
    After the release the price will be 250usd. So, if you havent bought the package, this would be a good time.

    1.jpg 2.jpg 3.jpg 4.jpg

    New release brings the following:
    * Real world textures now applicable.
    * New and better water shaders
    * Much improved lod calculation, (minimum 10x faster)
    * Max lod is now 7 divisions
    * Improved PlanetUtils to make latittude longitude calculations easy for end user
    * Improved navigation helper functions.
    * Helper scripts for gravity affected objects.
    * Improved TOZ Noise to create infinite amount of procedural worlds.

    ...etc
     
  37. aubergine

    aubergine

    Joined:
    Sep 12, 2009
    Posts:
    2,878
    Submitting the new version to AssetStore now, you can buy it while the price is 120USD
     
  38. aubergine

    aubergine

    Joined:
    Sep 12, 2009
    Posts:
    2,878
    Version 1.9 is alive on the store, remember to remove previous versions before importing this one. Many things changed, documentation is lacking but code is self-explanatory.
     
  39. Razmot

    Razmot

    Joined:
    Apr 27, 2013
    Posts:
    346
    Thanks for the good work.
    What is the good way to switch from spaceship to human in the demo ?
    like are there some gameobjects to disable or assign somewhere ? )
     
  40. aubergine

    aubergine

    Joined:
    Sep 12, 2009
    Posts:
    2,878
    Well, in this one there is no mechanic to switch. In the demo you are supposed to enable one and disable the other one.
    In a real game however, you should write your own spaceship and human scripts and do a trigger check for the player and if a ship is in vicinity, get on it with a key press or otherway around.
    The first versions had a code smiliar to this if you still have them.

    EDIT: Seems like i forgot to add head prefab to human in the demo :(
     
    Razmot likes this.
  41. aubergine

    aubergine

    Joined:
    Sep 12, 2009
    Posts:
    2,878
    Here is a video of the hidden gem inside this package, TOZ Noise. It is also available as a seperate package on the AssetStore

     
  42. lolaswift

    lolaswift

    Joined:
    Jan 10, 2019
    Posts:
    151
    Hi @aubergine, I just came back from Unreal and started making my space game in Unity. Still remembered years ago I purchased your asset to show my support. It's impressive how much the asset has evolved and how dedicated you're keeping working on it and improving it. You have my respect! Thank you for not giving it up.
     
  43. lolaswift

    lolaswift

    Joined:
    Jan 10, 2019
    Posts:
    151
    Just did a quick test. wow, performance has improved a lot. looking good!
     
  44. aubergine

    aubergine

    Joined:
    Sep 12, 2009
    Posts:
    2,878
    Hello, thanks for the kind words.
    Im a publisher since 11 years, my publisher id is 517 and the previous 516 is no more :p Still supporting even the first ever published asset to this day and will keep on doing it as far as i can afford.
    So many packs sold, but unfortunately so little reviews on the store which is heartbreaking, wish there was some more appreciation.
     
    lolaswift likes this.
  45. lolaswift

    lolaswift

    Joined:
    Jan 10, 2019
    Posts:
    151
    WOW, you've been growing with Unity for very long. Don't be shy to ask who comes to your support to rate the asset.
     
    Last edited: Sep 10, 2021
  46. JacksparrowPhillip

    JacksparrowPhillip

    Joined:
    May 22, 2019
    Posts:
    14
    hi dev, i still got some issue before purchase this asset.
    1 hows the performance behave with mobile device? or low end PC? is it optimized with DOTS ?
    2 can i implement other volumetric cloud solution ,would that be hard to do?
    3 is it easy to modify the look of the terrain? its kinda raw from what i can tell right now
    4 is it hard to make the day night cycle ? or make planetary rotation in order to achieve that? might something odd happen while the planet rotates like the rigidbody wont move along with the rotation?
     
  47. aubergine

    aubergine

    Joined:
    Sep 12, 2009
    Posts:
    2,878
    1- Mobile performance depends on the mobile gadgets performance itself and how many polygons you want on screen.
    You cant have a full planet with billions of trees and animals around if thats what you are asking. But you can have a reasonable sized planet with enough details with a decent 30fps. No DOTS or URP or HDRP is supported!
    2- Can YOU implement other volumetric cloud solution? If your answer is yes, then my answer is also yes. Would that be hard to do? I dont know, its up to you.
    3- Its all procedural or with a heightmap. So, how raw it looks depends on your artistic skills, which i lack.
    4- Planets can translate but cant rotate, instead you can rotate the sun. As you said, rigidbodies dont follow planet rotations, this is not real life physics, just imitating the best possible way for a game or computer simulation.

    Finally, the package is 30usd with 80% off for 4 more days, then its back to 150usd. And if you are not sure your coding, maths and physics skills to be adequate, you wont benefit from this package.
     
  48. JacksparrowPhillip

    JacksparrowPhillip

    Joined:
    May 22, 2019
    Posts:
    14
    cool ,i just purchased the package . may learn something from the source code . its pretty awesome that u can achieve such great performance and effect without DOTS
     
  49. JacksparrowPhillip

    JacksparrowPhillip

    Joined:
    May 22, 2019
    Posts:
    14
    hi ,i just tested the package ,found some performance issue.
    when entering an earth like planet, it would glitch a lot,frame rate drops significantly ,profiler shows that there are toooo many "instantiate" and "AddComponent" behavior going on , its like all those methods or behaviors were called at the same time and at one single frame, which result in the CPU main was 350ms at that point.
    so i think this is fatal and can be optimized

     
    Last edited: Sep 26, 2021
  50. aubergine

    aubergine

    Joined:
    Sep 12, 2009
    Posts:
    2,878
    This happens when you have too high lod quality and too many nature and wildlife objects. You have to find a balance in between.
    Previous versions had multi-threading for lod generation, but i removed it from this version and up, though the code is still there.

    Solution 1:
    There is a script inside "TOZ\_Common\Scripts\Tools" called ThreadManager.cs
    And if you open PlanetTreeNode.cs and check the lines 132 ~ 136 you will see the commented code as follows:

    Uncomment this, and comment the previous function calls to see if there is an improvement. But then you will see popping terrain parts when you fly too fast.

    Solution 2:
    Better way would be to use the above thread manager to calculate nature and wildlife positions on another thread. (which im working on for the next version, but first i need to finish the better humanoid movement and clouds)

    Solution 3:
    Caching the nature and wildlife positions before game start.
    EDIT: Remember, you can not use any unity functions like instantiating on another thread.)

    Solution 4:
    Using another planetary map to determine nature and wildlife positions.

    Solution 5:
    Wait unity to be multi-threaded itself.

    This is a generic package, and suits all needs, but requires your input. The source code is there and im trying to improve it as much as possible but only from my own perspective.
    I am open to any ideas and suggestions to improve it and would like to see other perspectives as well.

    Finally, if you can leave an honest review on the assetstore, it really helps with more sales thus i can work more on this package.