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

Planetary Terrain

Discussion in 'Assets and Asset Store' started by HenryV, Dec 4, 2013.

Thread Status:
Not open for further replies.
  1. FuzzyQuills

    FuzzyQuills

    Joined:
    Jun 8, 2013
    Posts:
    2,871
    NICE! This is the best unity3D planet system I have seen so far. pitty $90 is out of my reach, but then again, that's something to be expected for such an almost-professional quality asset. At least in my opinion...

    I definitely like the atmosphere shader. reminds me of Google Earth, except it seems to bleed the sun, like a real atmosphere. That also raises a question: does the atmosphere change color relative to the planet's most common color, just curious.

    -FuzzyQuills
     
  2. exiguous

    exiguous

    Joined:
    Nov 21, 2010
    Posts:
    1,749
    @tomaszek
    this is quite an awesome loooking planet. so chances are i also need to buy your plugin. how do you plan the integration of the rtp into pt (or other way round)? simply some steps into the documentation or a separate package? does the combination can still entirely be procedurally generated or is there need for manual textures?

    how many light sources are supported? the night side of your planet still looks "bright" and albeit i don't want it completely black can this be adjusted fe by setting ambient light? the fog loocks good. but in the end i would desire also proper shadowing of the (animated) cloud layer with multiple (say 3 or 4) light sources (stars + bright moons). it is not time critical for me so maybe in some months this gets added/provided by someone. but this is my ultimate goal.
     
  3. tomaszek

    tomaszek

    Joined:
    Jun 18, 2009
    Posts:
    3,862
    What I did is shader based on RTP. This requires model that's spherical uv mapped + vertex color r for height (like in PT) + vertex color g for polar/equator indication (like in PT). What I did was:

    1. tweaking uv mapping formula in one of PT scrips (Surface.cs) to get right spherical mapping
    2. Since PT expects its own shader to be used, I exposed material property as public and turned off shader/material override in SurfaceColor.cs
    3. Added tangent calculation into mesh calc pipeline (used free TangentSolver from wiki for this - it's also present on RTP)

    I haven't break any "procedurality" - I still use PT to generate planet meshes and optionally LOD, however - to get results that are nice visually I'd strongly recommend using global colormap/global normalmap (pushes surface detail) - that's why remapped it from 6 diractions (spherized cube) to spherial map which are most popular and you could easily find very nice free texture for alien planet (look here - CC licensed, so just credit author and you're free to use it in your project as I understand, I get one of its textures as an example in RTP). For more real planet (like earth) - well we still are not able to get right level of detail upclose (planet with quite various surface and over 6000km radius...).

    Light sources - for lighting and performance it's best to use forward with one directional light. Night side brightness can be adjusted, use either RTP's complementary lighting (doesn't cancel bumpmapping on unlit side) or ambient light. For more light sources it would be better to use deferred, but remembr that deferred lacks of this nice PBL specularity (unless you install Lars'es open framework - Lux).








    In examples above alpha channel of global colormap was used to get emissiveness.

    Note that we can "artificialy" gain extra resolution on global maps (here global colormap and its alpha channel) with new feature present in RTP - we can distort a bit global colormap by perlin. Without this to get such detail level and variation of emission mask upclose we'd need 30k texture... :).

    ATB, Tom
     
    Last edited: Mar 1, 2014
  4. xichaelx

    xichaelx

    Joined:
    Oct 4, 2012
    Posts:
    23
    We bought this system for our game, CubeZ and are about to begin implementing it as part of our open planet system. Is there any chance the developers or someone else has been able to use UFPS with this. I know UFPS has a lot of backend stuff dealing with spring solvers and the Unity character controller node so it's sort of a long shot, but let me know if anyone has had any luck with that. Thanks!

    Mike
     
  5. angel_m

    angel_m

    Joined:
    Nov 4, 2005
    Posts:
    1,160
  6. lazygunn

    lazygunn

    Joined:
    Jul 24, 2011
    Posts:
    2,749
    This is really cool, if someone could suggest a method by which I could perhaps blend in ones own heightmap, even a cursory treatment (I'm imagining a really small 'planet', in regards to the heightmap, so would it be possible to use an imported planetary heightmap like a user previously was able to export? Is it feasible to, going with the generation of the planet itself, map each side of the 'cube' before spherifying?) then this would be another thing that really adds a new angle on something i'm doing. For my part I can maybe help with water, it may not be useful for all cases but as i'm working on it mainly at the moment, and I have two ways to approach it (One would involve money for users (its not my work primarily), the other wouldnt), maybe something would work.

    One of the water models is, funnily enough, based on Proland, it's scrawks port of eric brunnetons water used in Proland and I think the implementation could be used across a sphere, with a blend between materials happening as you get close enough to see waves. There's a thread on the water for Outerra (here for shore waves which is very helpful, although i'll need to look up how i might get shore height/direction short of creating a map - Is there some dynamic method for this as making a map seems impractical on a planetary scale, maybe the map needn't take too long to generate locally though i suppose

    The above water also uses atmospheric scattering as the basis for its appearance too, using a preetham model, I was looking at a model implementing the chapman grazing function as in gpu pro 3 simply because I havent seen it in Unity yet and gpu pro's version has an implementation I can follow. This should probably be fine for very large distances but for closer i'm about to tackle a good general water shader tonight anyways so maybe that would be useful here too, giving foam, transparency, scattering, etc. There would be a few features that wouldn't make it in however as again, anything that isnt my work that isn't available easily i cant give away, but might offer incentive to invest in the other product if I get anywhere

    Also the most complex model Nuaj uses assumes a spherical earth, and i'm guessing it's possible to maybe alter it to have cloud coverage across the surface at distance in a simpler 2D form and blend to the volumetric model when you get close? While I can't commit to much I say, if I can justify buying yet another asset store thing, i think there are answers for some problems, and as I was planning on water atm anyway it seemed prudent to speak up
     
  7. HenryV

    HenryV

    Joined:
    Apr 25, 2012
    Posts:
    100
    Hey, no offense was taken. :) It is true that currently all the texturing and colouring is height based. I have considered adding a color painting option which would act exactly like the height painting but haven't implemented it so far.

    Very nice reference pictures and to achieve that kind of quality would be awesome. When I look at these pictures I mostly think of flow maps, those channels created by water (or some other liquid) flowing down, eroding the terrain and leaving the visible trails. You could of course paint them manually but that sounds very labour intensive especially on planetary scale. It would be very neat if there was an erosion module which would generate these channels and they could be forwarded to the heightmaps and possibly to separate color maps.

    I will keep you posted when I make progress in this area!
     
  8. HenryV

    HenryV

    Joined:
    Apr 25, 2012
    Posts:
    100
    @tomaszek

    Very cool to see that you have had such nice results! It is great to have a terrain shading guru like yourself working on this. :)

    I will be adding the necessary tweaks to support it, just inform me when you are finished with them.

    What I want to achieve is the generation of these global maps inside Planetary Terrain. My previous though has been that I would generate these per patch, just like the meshes so their resolution would also increase as you get closer to the planet. There is the performance consideration in that approach, will it be fast enough to generate multiple textures along side the mesh for each patch? Also the textures patch resolution would have to be separate from the meshes to gain additional detail.

    Now that you mentioned using the spherical textures I started wondering that perhaps I could just generate the global maps once during the initialisation and use them for all the LOD levels. This would also have the added benefit of increased detail at the lowest LOD level.
     
  9. BES

    BES

    Joined:
    Feb 26, 2013
    Posts:
    212
    Yep great job to both of you ....like it when people work together ...cant wait to try this out ... if I can get RTP3 to work properly in my current project..
     
  10. Glaswyll

    Glaswyll

    Joined:
    Feb 13, 2014
    Posts:
    103
    Yes, this whole conversation is very very exciting!
     
  11. HughieDM

    HughieDM

    Joined:
    Dec 8, 2012
    Posts:
    5
    Wow! This is all really great! RTP and PT in combination would be really amazing!

    What about the clouds in the atmosphere?
     
  12. HenryV

    HenryV

    Joined:
    Apr 25, 2012
    Posts:
    100
    RTPv3 shading and a new generator module producing more realistic looking mountains:

    $mountainrangeRTP_1_small.png
    $mountainrangeRTP_2_small.png

    Will be released soon!
     
  13. HughieDM

    HughieDM

    Joined:
    Dec 8, 2012
    Posts:
    5
    So amazing cant wait!!
     
  14. Frantico

    Frantico

    Joined:
    Jun 1, 2013
    Posts:
    16
    This is so great! The release, are we talking about months , week? don't want to make you feel stressed just that this really interests me in a good way, and want to get my hands on it as soon as possible
     
  15. HughieDM

    HughieDM

    Joined:
    Dec 8, 2012
    Posts:
    5
  16. lazygunn

    lazygunn

    Joined:
    Jul 24, 2011
    Posts:
    2,749
    You ignored my water talk so i wondered if you were thinking I was talking hoo haa, but the rtp addition really did surprise me. I want to do some adventures with lod/water and this now
     
  17. aubergine

    aubergine

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

    In order to make some reflective water, there is not much possibility but only one way.
    However, the skirts are always on the way and cause artifacts with reflections. It also happens when underwater but this time with refractions.
    Can you add some option to not create these skirts or atleast adjust the size to be smaller?
     

    Attached Files:

  18. HenryV

    HenryV

    Joined:
    Apr 25, 2012
    Posts:
    100
    We are talking about around a week. There are still some issues to be solved but I am confident it will be ready very soon!

    Nice find and thanks for sharing!

    Hey, sorry, just didn't get around to it yet. The current included water shader is not that great and would be nice to have it improved or have someone attempt a really ambitious realistic water on planetary scale like those ones you mentioned. I myself don't have much experience about water shaders though and as you have described it is a complete field of its own. I have improved water shader on my list but it will probably be a pretty basic one.

    Wow really beatiful stuff and I can't wait to test those myself! :)

    I will add an option for that, I will send you a pm now about disabling the skirts for testing, it is not a big modification.
     
  19. Azaphrael

    Azaphrael

    Joined:
    Nov 17, 2011
    Posts:
    41
    Hey there, aubergine.

    Any chance to share some pics of that atmosphere shader seen from space?
     
  20. aubergine

    aubergine

    Joined:
    Sep 12, 2009
    Posts:
    2,878
    Thanks Henry, Although the reflections are still funny as im approximating the curvature of the planet, atleast i dont see funny skirt reflections anymore.
    Though there are some holes on the planet now :)

    Anyways dont forget the namespace thing please. Its important.

    EDIT:

    I shared some 1 or 2 pages before, still improving.
     
    Last edited: Mar 7, 2014
  21. HenryV

    HenryV

    Joined:
    Apr 25, 2012
    Posts:
    100
    Yeah the skirts were there for a reason (explained somewhere in the first pages of this thread if someone is interested). :)

    Haven't forgotten about that, I already tried it once but seems that it breaks the node graph serialization so I have kept it for now. I have made so many other improvements and modifications that it is time to make new (better) example modules soon anyway.
     
  22. Azaphrael

    Azaphrael

    Joined:
    Nov 17, 2011
    Posts:
    41
    Ah, yes. Silly me. XD
     
  23. HenryV

    HenryV

    Joined:
    Apr 25, 2012
    Posts:
    100
    Just wanted to share a sneak preview of another upcoming feature!

     
    Last edited: Mar 7, 2014
  24. ZJP

    ZJP

    Joined:
    Jan 22, 2010
    Posts:
    2,649
    AT 01:09. This is exactly what I'm talking about : collisions pb. More meshes (complex planet) = more "pass through" at the meshes intersections. :(
    Your API seems rich, but not well documented. Perhaps it is possible to know the altitude/elevation above the ground. Using this function could prevent objects to pass through the planet.

    http://forum.unity3d.com/threads/214961-Planetary-Terrain/page7?p=1468067&viewfull=1#post1468067
    Code (csharp):
    1.    height = planet.Terrain.module.GetValue(new Vector3(x, y, z));  // retrieve the height on the actual planet surface by passing the normalized position to the terrain module
    2.  
    Source....
     
    Last edited: Mar 8, 2014
  25. HenryV

    HenryV

    Joined:
    Apr 25, 2012
    Posts:
    100
    Well thanks for coming forward with this and trying to help out to improve this package, but what you see in the video is not a collision related problem since there are no colliders in that scene. The free-flying camera can go through anything since it doesn’t have a collider or a rigidbody.

    I want to clarify that there is nothing wrong with the mesh colliders or their geometry, so its not like there are holes or anything at the intersections where something could “pass-through”.

    The only problematic case that I can think of is that if the collider moves fast enough that the generator doesn’t have time to generate the mesh and the collider in time before the collision happens.

    The intended setup for the colliders is that they would be generated at multiple levels, for example: LOD levels 0, 3 and 6. So there could be rough colliders far away and more detailed ones are loaded as the viewer gets closer. There is currently one oversight in this system though and that is that the LOD levels where colliders are generated must be adjacent (like 0, 1, 2) in order to always have a collider present, you can’t skip a level. So what happens now is that if you have colliders generated at levels 0 and 3, there won’t be colliders present during levels 1 and 2. This will be improved in the update. There is also a general improvement in the surface generation queue which should help make sure the surfaces close to the viewer are always high on the list.

    I hope these improvements together will help to remedy all collider related problems you have been experiencing!

    Yeah that is one way to get the height at position, though the intended function for this is planet.SurfacePointAt() because that also takes in to account the user drawn heights.
     
  26. Frantico

    Frantico

    Joined:
    Jun 1, 2013
    Posts:
    16
    Looks Great!!!
     
  27. HughieDM

    HughieDM

    Joined:
    Dec 8, 2012
    Posts:
    5
    I know this might be allot more work but have you looked into adaptive tessellation?

    Great work keep it up!
     
  28. ZJP

    ZJP

    Joined:
    Jan 22, 2010
    Posts:
    2,649
    I placed a rigidBody and collider on my Camera/GameObject. I'm not the best developer in Unity but...
     
    Last edited: Mar 8, 2014
  29. HenryV

    HenryV

    Joined:
    Apr 25, 2012
    Posts:
    100
    Sorry, I didn't mean that you did not attach collider or rigidbody in your scenes but that I didn't have them in the video.

    If you decide to give it another chance and still experience problems, please send me a message so I can perhaps test your scene and find out what exactly is the cause. In the last message I just wanted to get some clarity to the whole collider problem since it has been unclear to me what they exactly are.
     
    Last edited: Mar 8, 2014
  30. HenryV

    HenryV

    Joined:
    Apr 25, 2012
    Posts:
    100
    Thanks!

    I have thought about it but haven't really researched it that thoroughly. The noise generation is done on the CPU on this system so there would still be a need to transfer the data to the GPU and then the tessellation would happen. I wonder if there would be much benefit from this since the only thing eliminated would be the mesh displacement on the CPU. Of course it would be another matter completely if also the noise generation would be on the GPU...
     
  31. TheBraxton

    TheBraxton

    Joined:
    Mar 6, 2014
    Posts:
    98
    Hey HenryV, this looks like EXACTLY what i've been trying to find for the past month. For some reason when I searched on the AssetStore it didn't show up when I searched for "Procedural Planet Generator". Are there tags you can add to make sure it is searchable?


    Also, before I purchase I have a question:

    The reason i've been looking for a Procedural Planet Generator is because I want to make an MMO that is Solar-System/Galaxy and/or Multi-System based. This means I need multiple planets as the playable area.

    Launch will have one planet fully realized and built out with dungeons, bases, floating cities etc etc, and even a moon from which to travel to using teleporters. This all means that it has to not only look natural (surprisingly your generator fits the bill), but must be editable as a normal model that has been imported.

    So here comes the big IF to my question......

    Can planets ONLY be generated on game-start, or can you Procedurally generate a planet and then perminantly export/save that as an Asset that can be modified as if I had manually created it in Maya by myself and then imported it for my game??

    My goal with my MMO is to use as much procedural generation as possible and then go in and add the "Fine Touches". This way I can save months, if not years, of asset creation and TONS of money from paying for Artists to make everything for me. Additionally, this would allow future content patches to include leaps and bounds in terms of quality, and quantity, of new content (e.g: new planets, weapons, solar-systems, etc etc) all thanks to being 80% procedural generated and then the last 20% being finely tuned by hand.

    However, all of this rests on whether or not generated planets can be permanently saved as Assets and exported/imported at will once they've been created by your generator.

    So far, if the answer is an emphatic "Yes" then your continued work on this Generator makes this an instant buy for me and some of my friends :)!


    Sincerely,
    Braxton
     
  32. ZJP

    ZJP

    Joined:
    Jan 22, 2010
    Posts:
    2,649
    So, 90$ is a very small risk...
     
  33. TheBraxton

    TheBraxton

    Joined:
    Mar 6, 2014
    Posts:
    98
    There is a whole list of Assets I need to purchase. $90 is NOT a small risk considering my budget and total list of required materials I need currently :'(!
     
  34. TheBraxton

    TheBraxton

    Joined:
    Mar 6, 2014
    Posts:
    98
    After watching http://www.youtube.com/watch?v=yOC0EKIpNRw it seems at the end he does indeed save the prefab as an actual asset that can be interacted with as if it were the terrain of a normal game.

    So, if this is true then that also means that in order for the planet to properly be playable on you'd have to apply the Gravity script to literally anything that exists in the game?
     
  35. HenryV

    HenryV

    Joined:
    Apr 25, 2012
    Posts:
    100
    Hey, thanks for your interest! I am not sure about those tags, should check it out if there is anything I could do about that.

    Sounds like an interesting and very ambitious project. I think your approach of 80% generated and 20% hand-tuned sounds wise. How big do you plan to your planets to be in terms of scale (tiny, medium, huge, realistic)?

    The answer is yes, you can save the meshes to your hard drive and they will appear in your assets folder as meshes that you can drop in to the scene. The planet is saved as a collection of surface patches that can be up to 254x254 vertices. The planet is formed from a cube that is mapped in to a sphere, so for each cube side there is at least one patch. From there on you can define the subdivision level which will further divide these initial 6 patches to a number of smaller patches. All of these are saved as unity mesh asset files which should be possible to further export in to .obj or other format.

    This approach will of course leave the dynamic generation out of the question so your file size will increase but on the other hand that frees you CPU time.

    In this video, after around 6 minutes you can see how the mesh saving works: http://www.youtube.com/watch?v=yOC0EKIpNRw

    - Henry
     
  36. HenryV

    HenryV

    Joined:
    Apr 25, 2012
    Posts:
    100
    Well the gravity script is a very simple script that adds a constant force towards a point in space (the planet center). If there are lots of objects that are affected by gravity, you would be better of with a centralized script that handles adding the force to all of them. I have been thinking that perhaps a spherical trigger around a planet that adds the force to rigidbodies coming inside would be a good solution in many cases.
     
  37. TheBraxton

    TheBraxton

    Joined:
    Mar 6, 2014
    Posts:
    98
    Thanks for the replies :)!

    Couple things I'm running into toiling around with this :eek:.



    First, following that tutorial video to the T several times ends up with colliders not working at all. I set everything correctly per your video but still go right through the planet.

    Additionally, I can't ever seem to zoom as far as you do to the Planet's surface? It appears as if the planet is REALLY small. So small, as a matter of fact, that the camera seems like the size of a Moon. If I were to put an Actor on the surface i'm worried that he'd be half the side of the planet lol! I even set the Radius to 30, but that has ended up lagging me down quite badly trying to fly closer to the planet.

    Any idea if my issue is just that I'm not hiding the "Far" side of the planet that technically shouldn't be in view since it is on the OTHER side?


    As per the planned size of my playable planets.....I want them large enough to where you can't really see the curvature of the planet when you're walking around on the surface, but I don't want them so big that even if I get 2000 players on one planet at a time in the distant future that they never see another soul lol. That, and I don't want it to take literal weeks to walk across the planet's surface on foot :p!

    If it ends up requiring the planet to be too large to hide the curvature then i'll have to devise some sort of vehicular transport system for players :x.


    ps: I noticed that the "Hydrosphere" is only a shader and not actual unity water. Will it be possible to actually have real Unity flowing water on the planet or will I have to add that by hand across the whole of the planet after I turn it into a playable mesh?
     
    Last edited: Mar 10, 2014
  38. TheBraxton

    TheBraxton

    Joined:
    Mar 6, 2014
    Posts:
    98
    Ok so, bit more messing around.

    Had to create 25 LOD levels to get rid of the lag. Increased Radius from 10 -> 100 -> 1000 -> 10000. Ten Thousand seems pretty big, but I can't tell the true scale with the camera alone and not any character models running around on the surface. Also, the fake water/shader is driving me a bit nuts. Anyone managed to get actual water in place of the shader on their planets? Do I have to convert it to a prefab mesh as an actual asset first?


    Thanks :)!


    So far, even if I can't get what I want from this it is certainly something to waste tons of time messing with and looking at the source to learn how this stuff works :3!

    ps: Camera still goes through the ground and doesn't have any sort of collider with the planet :'(. Am I misunderstanding that tool's purpose?

    Also, exploring my planet's my camera goes lobsided. I noticed in your videos you were able to auto-correct it. Any tips on that :)?
     
  39. HenryV

    HenryV

    Joined:
    Apr 25, 2012
    Posts:
    100
    You will also need a collider and rigidbody attached to the object.

    Yeah well 30 units is still very small, if you assume that one unit = one meter. :)

    The system should by default cull the renderers on the other side of the planet. The lagging might be that you have too large LOD loading distances so too many surfaces try to generate at the same time.

    I have a one demo scene with planet radius of 50,000 and a FPS controller (around 2 units tall) on the surface and the curvature is not very visible in the ground level. Though the planet surface area is big enough in that scene that you will wish for a vehicle if you want to travel. :)



    The unity water shader doesn't seem to work correctly for a sphere shaped mesh out of the box. I think there might be an assumption there that the Y-axis points up and that isn't often the case for a planet.

    I haven't seen anyone do that but there is the water shader that Aubergine has been working on. Also I might improve the included water shader at some point but currently I am more occupied by the terrain related features.

    I am clad you are having fun messing with it, I hope it will help you get closer to your goal!

    In the camera gameobject there is a script called "FlyCamera" handles moving the camera and aligning it with the surface. In it there is a parameter "Align distance" that means the distance when the camera starts auto-aligning. If you change the planet radius you should also change that parameter, I usually set it to something like planet radius times 1.25 or 1.5,
     
  40. schragnasher

    schragnasher

    Joined:
    Oct 7, 2012
    Posts:
    117
    Hey, I really love PT and im looking forward to the next update, but i wondered if there was a possible addition you could make or even let me know if its possible. I would like to generate planets as asynchronously as i possibly can with unity. I know you run the surface generation in threads, but i wondered if you could make a coroutined Generate function i can use to know when generation is complete and to let it wait for the threads without halting the code. Does this make sense?
     
  41. TheBraxton

    TheBraxton

    Joined:
    Mar 6, 2014
    Posts:
    98
    Thanks for all the replies :)!

    Yea it seemed I missed that option in the flycamera. I'll have to check it again when i get home from work.

    That being said, are the scenes with your two examples available for those of us that purchased :)? I'm talking about the "Small" and "Large" world demos on your original post in this thread. Messing around with this last night and i couldn't get any of my planets to look like those demo planets o_O, and the water shader kept doing some really weird glitchy edging with the planet that was awful D: .


    Also, I've been looking at another package called SUIMONO Water System. I'm concerned that it won't work properly on my planet's surface. Water is REALLY a big thing for this project as it will kill any game made with your planets if we can't get reliable water that doesn't look painted on :(!
     
  42. HenryV

    HenryV

    Joined:
    Apr 25, 2012
    Posts:
    100
    Hey, nice to hear that! There is an event in Planet.cs called SurfaceGenerated that is called when a surface has finished generation and a function ReportGeneration that is called by the surface to raise that event. Perhaps that would be a good place to add functionality to count how many surfaces have been generated and when all have been generated there could be another event raised like PlanetGenerated that notifies your script. The total amount of surfaces to be generated could be calculated in Generate() -function. So your script would just call Generate() and subscribe to PlanetGenerated-event that would notify when all surfaces have finished. Do you think this kind of approach could work?
     
  43. HenryV

    HenryV

    Joined:
    Apr 25, 2012
    Posts:
    100
    The demo scenes should be located in PlanetaryTerrain/Scenes -folder. In the web-demos there was also space-skybox created with a free tool called Spacescape and some post processing effects such as Bloom.

    I agree that the current water is not very good. The glitchy edging thing is z-fighting with the planet surface and the water, this is remedied in the demo scenes by using 2 cameras, one for close and one for far distances. You can adjust the camera near and far planes to see how it effects this problem.

    I hope I can get to the water shader sometime in the near future but currently I am focusing on the terrain so likely it won't make it to the next update.

    I don't have any experience with SUIMONO though so cannot comment on that. I would think that in many cases water shaders assume that Y-axis is up so that might be a problem.

    There are the Aubergines water and atmosphere shaders created to work with this package but I am not sure when these will be available.

    Maybe you can start with a desert planet? :)
     
  44. TheBraxton

    TheBraxton

    Joined:
    Mar 6, 2014
    Posts:
    98
    I'm working with the SUIMONO developer via email to see if he can get his water-solution to work with planetoids. If he can both of your Assets will become FAR more popular I believe as he's gotten a lot of questions regarding your tool as well as planetoids in general. You may want to give him an email or two and tell him RJ sent ya :D


    Also.....I'm trying to find a way to make the up-close view of the planet look better. Do i just need to do a LOT of HD-texture work to the planet's surface? Right now it looks like I made it back in 1992 lol! I take it the textures provided in the tutorial/by-default are just really low rez?

    I assume with LOD control it is possible to have extremely hi-rez textures close up but generally ok-ish and long range since you don't see detail that far out anyways?

    Oh, and you said 1 unity == 1 meter? So characters should be about 1.5 units tall if they're 6ft tall? Google says that the earth is roughly 5000meters radius (think it was actually 4500 or 4700?). My 10,000 unit radius planet seems REALLY small using the camera. Is that just the camera's perspective skewing size?

    Lastly, the LOD tool in particular, i assume if I have 10 LOD levels that the 10th one with the furthest distance is the range at which you see the lowest detail, and the level 1 is where you should see the most? I think i've got too many LOD's and i'm never getting to the highest detailed LOD even when i'm on the surface.

    [edit]: Right now with a Radius of 10,000 i have around 24-25 LOD levels, and the water goes nuts as said before. What did you mean by "two" cameras? One far and one close?
     
    Last edited: Mar 11, 2014
  45. TheBraxton

    TheBraxton

    Joined:
    Mar 6, 2014
    Posts:
    98
    Oh btw HenryV, i wanted to do two things:

    A) Thank you graciously for all the support you're providing :D!

    and

    B) Can I get your permission to send my example project to the SUIMONO developer so he can try and see if he can get his water-solution to work with your Asset? If not, would it be too much trouble for you to get in touch with him about it and see if you two can work it out :)? If it were possible to get them both working together it'd be amazing D:

    Apparently quite a few people have asked him about combining SUIMONO and your Asset, but were instantly disheartened, or gave up, when the SUIMONO dev said "probably not due to the Y-Axis issue".


    As for the Y-Axis issue, wouldn't it be possible to use your Altitiude method to replace the normal Y-Axis for a scene/terrain so the water would know which way is up and down?

    Thanks tons,
    Brax
     
  46. aubergine

    aubergine

    Joined:
    Sep 12, 2009
    Posts:
    2,878
    Well,
    *the atmosphere shader is ready, it includes standard atmospheric scattering and clouds as a second pass. You can also remove the second pass and use another cloud sphere if you want.
    *planet shader is almost done, just doing some fine-tuning, it includes normal mapped 4 texture splat and scattering.
    *water shader is problematic, it is scattered and everything, but its hard to do correct reflections of terrain without artifacts. And it only works on unity pro. You cant have nice curved water without pro anyways.

    Then comes the real problem for other objects on planets surface. In order to look nice, they also must get effected by the scattering and if i do some commercial package, people will ask for all kind of variations such as normal mapped, parallax..etc
    Easy solution is to use zero ambient light, standard shaders with shadows turned on for a directional light so the planet will cast shadows on objects on the dark side...etc
    Anyways its too complicated and i dont want to get in trouble with a commercial pack here as people will complain about everything.

    So, i decided to put these shaders on my website as free download without support and donation based. I think it will be 2-3 days later.
     
  47. HenryV

    HenryV

    Joined:
    Apr 25, 2012
    Posts:
    100
    Yeah you probably want to get higher resolution textures. In addition to textures, the terrain shader features can also make a big difference. You can switch the shader to another one and the switching will be made easier with the coming update.

    Well the units are not actually meters, it really depends on your game and the scale you deside to use, but for FPS games it could be about 1 to 1. I think you got misinformed about the earths radius since it is around 6,371,000 meters according to wikipedia.

    The LOD level detail is the other way around, level 0 is the lowest resolution one and the subsequent levels have higher detail. Around 10 levels should be sufficient for a large planet and from there on its more about the shader quality.

    About the camera setup, check out how the cameras are set up in the demo scenes, did you find them?
     
  48. HenryV

    HenryV

    Joined:
    Apr 25, 2012
    Posts:
    100
    You're welcome. Well I can give you permission to send the package to SUIMONO. Please mention also that they may also message me if they wish to discuss anything regarding this with me.

    Not sure about the Y-axis issue, depends a lot how the shader works internally.
     
  49. HenryV

    HenryV

    Joined:
    Apr 25, 2012
    Posts:
    100
    The features sound very nice and thank you for doing these shaders!

    I can understand your logic on the support though. Very generous solution to release them for free. I look forward to trying them out!
     
  50. TheBraxton

    TheBraxton

    Joined:
    Mar 6, 2014
    Posts:
    98
    Woot thanks :)!

    Yea i see how there's the "Main" and "Far" camera, but i'm unsure how you did it as if I make a new camera it won't let me put it into the Main as "Near". So right now all i see are the main and far that i mentioned before.

    I set the main back to 100 and left the far alone and it seems to have fixed the issue, just wish I knew how to manipulate that myself ^-^.

    Passed info to SUIMONO dev and going to package something RQ for him to take a look.

    edit: Ah ok i see what you did now. you just created a "Far" to override the "Main" and set the near to 50 instead of 0.1 and the far to a max of 50k. So when you get under 50units it swithes back to the main of 0.1 -> 100?
     
Thread Status:
Not open for further replies.