Search Unity

HORIZON[ON] - Bridge the gap between the sky and your scenery.

Discussion in 'Assets and Asset Store' started by Becoming, Jul 30, 2014.

?

In which scenarios would you use Horizon[ON] ?

  1. Small to medium sized terrains (first/third person view/driving game)

    33.8%
  2. Small to medium sized terrains (flying game)

    17.5%
  3. Big to huge sized terrains (first/third person view/driving game)

    41.3%
  4. Big to huge sized terrains (flying game)

    32.1%
  5. Small to medium sized terrains on mobile (first/third person view/driving game)

    16.9%
  6. Small to medium sized terrains on mobile (flying game)

    13.0%
  7. Big to huge sized terrains on mobile (first/third person view/driving game)

    16.3%
  8. Big to huge sized terrains on mobile (flying game)

    18.0%
Multiple votes are allowed.
  1. hopeful

    hopeful

    Joined:
    Nov 20, 2013
    Posts:
    5,685
    I've been wondering about the workflow. Maybe it's best to create the larger scale environment in Horizon[ON], then add in local terrains ...?

    Of course, if there's a way to get Horizon[ON] working seamlessly with World Composer and Terrain Composer, that would be ... snazzy. ;)
     
  2. Becoming

    Becoming

    Joined:
    May 19, 2013
    Posts:
    781
    Yeah that is one of the things i intend to cover. Basically what i do is very simple, i place a white plane below the terrain(s) and scale it as big as I want my mask to be, then i take an orthogonal screnshot from above(with the plane filling as much of the screen as possible). This screenshot i crop then to the plane dimensions and use in photoshop as guide. It shows well enough where your terrains are placed in relation to the mask and it's size. If you need more accuracy you can put a grid texture on the plane and take more zoomed screenshots that you can stitch then in photoshop to a highres guide.

    There are a few other tricks i want to cover like using layer effects to make the mask more natural.
     
  3. Becoming

    Becoming

    Joined:
    May 19, 2013
    Posts:
    781
    I'd say the terrains should dictate how the horizon looks and not the other way around, especially if there is a more linear level design, e.g. uncharted style... there you can really know where and in which directions you need to have the great vistas and how you can manage any transition to background geometry, but also for open world games the horizon should be done after the terrains. It's a good idea though to plan beforehand that you want to use horizon than you can do the flattening on the terrain(s) borders in a more clever way.

    About TC/WC integration i can't say anything at the moment but i hope it will be possible to export tilable maps from TC2, no promises though. Regardless of that TC(2)/WC will still be very usefull in conjunction with Horizon[ON].
     
  4. docsavage

    docsavage

    Joined:
    Jun 20, 2014
    Posts:
    1,021

    Just watched this. Really good overview. Thanks
     
    Becoming likes this.
  5. Becoming

    Becoming

    Joined:
    May 19, 2013
    Posts:
    781
    Some tips regarding tree placement:

     
  6. hopeful

    hopeful

    Joined:
    Nov 20, 2013
    Posts:
    5,685
    @Becoming - Is there any point in making / using seasonal trees?
     
  7. Becoming

    Becoming

    Joined:
    May 19, 2013
    Posts:
    781
    Well snowy trees are in there already but if you want to have autumn tooand if you have shader forge, you can give it a shot and customize the tree shaders. The shaders are made with SF so people can tweak them or use them as basis for their own horizon compatible shaders. Horizon[ON] fog and snow are in there using codenodes.

    Also you could easily make autumn versions by just tweaking the textures abit... but then you would not have a smooth transition... easily fixed by adding a lerp in SF though...

    If there is high demand i would add this feature to the trees(at some point considering my ever growing todo list).

    Edit: I realized its already possible in a more efficient way, see my nex post ;)
     
    Last edited: Jun 1, 2016
    John-G, hopeful, Teila and 1 other person like this.
  8. Teila

    Teila

    Joined:
    Jan 13, 2013
    Posts:
    6,932
    I will need this as well. However, rather than you making them, how about giving a short tutorial on adding lerp in SF? I wouldn't even know how to begin to do this...but with seasonal changes, I won't be able to add trees to Horizon if they can't change color.

    Edit: Just realized that is Shader Forge, which I do not have. So...any other options?
     
  9. jonfinlay

    jonfinlay

    Joined:
    Aug 25, 2015
    Posts:
    535
    Another excellent video Pete! Never even considered using it as a 2.5D side scroller.
     
  10. Becoming

    Becoming

    Joined:
    May 19, 2013
    Posts:
    781
    Thanks, it's just another usecase, there are plenty more, i hope i can show this soon.


    It's actually easily possible, the included tree shader has 2 tint color pickers(for color variation) where it will interpolate inbetween based on a top projected noise... if you want to animate these, to autumn for example, you just change them to more redish tones with a script.

    That script should be no problem for beginner coders, basically you'd have 2 Gradients one for each color picker in the shader. I'd also add an AnimationCurve to control the snow amount right in the same script. Something like this:

    Code (CSharp):
    1. [Range (0,1)] public float season;
    2. public Gradient myTreeGradient1;
    3. public Gradient myTreeGradient2;
    4. public AnimationCurve mySnowAmountCurve;
    5. public Material myTreeMaterial;
    6.  
    7. Update() {
    8. treeMaterial.SetColor("_Tint1" myTreeGradient1.Evaluate(season));
    9. treeMaterial.SetColor("_Tint2" myTreeGradient2.Evaluate(season));
    10. treeMaterial.SetFloat("_SnowAmount" mySnowAmountCurve.Evaluate(season));
    11. }
    If you have troubles just let me know.
     
    Teila, John-G and docsavage like this.
  11. docsavage

    docsavage

    Joined:
    Jun 20, 2014
    Posts:
    1,021
    Another good video. Never thought it could be used in non square patterns. With the performance it provides I can't think of a reason to use more standard parallax background techniques unless its for an art style. I have an older plan for a game and now know HorzionOn is useful in that as well. Glad bought this all that time ago.
     
  12. Becoming

    Becoming

    Joined:
    May 19, 2013
    Posts:
    781
    Thanks :)

    Yes and even for many different artstyles it can be used... painterly imagefx like a kuwahara shader for example gives a very cool look with horizon. Also if an artist makes his own textures or tweaks the included ones it can be made to fit many styles and even can create new styles.
     
    docsavage likes this.
  13. Teila

    Teila

    Joined:
    Jan 13, 2013
    Posts:
    6,932
    Thanks, Becoming! I am not, however a beginner coder. lol I am a non-coder. However, I have two coders on my team and I am sure that will be easy for them. I appreciate the information and will let you know if we have issues.

    Thank you.
     
  14. Dorian-Dowse

    Dorian-Dowse

    Joined:
    Jun 2, 2016
    Posts:
    95
    Hi,

    I'm having a problem with baked displacements. When I prefab the HorizonON master and try to add it to a new scene, all of the displacement levels lose their meshes. It doesn't do this if I don't bake. Looking at an individual Level object, it has a mesh component, EG. "HorizonON_Disp_Level_Start_Corner(Baked)". I can't find this mesh in the project.

    I need to bake the displacement, both to add trees, and to free up layers for tiled textures. I also need the Horizon to transportable between scenes as I'm using HorizonOn as a base layerin several scenes.

    regards,
    Dorian
     
  15. Becoming

    Becoming

    Joined:
    May 19, 2013
    Posts:
    781
    Hey Dorian, this is because when new meshes are created in unity, they exist only in the scene and not in the project. You would need to save the meshes with an obj exporter, there are free ones on the store and also one in the unify wiki(though the one from the wiki needs a little modification to work with unity 5 as far as i remember).

    Another thing you might want to do is to duplicate the horizon material set and assign it to your individial horizon parts. this way you can do changes in other scenes and the seperate materials wont be affected... this may or may not be needed depending on what you want to do....

    If you need more help let me know ;)

    Cheers,
    Peter
     
  16. Dorian-Dowse

    Dorian-Dowse

    Joined:
    Jun 2, 2016
    Posts:
    95
    Ok thanks Peter. I'm using World Composer, Terrain Composer and HorizonON to build a large real world based terrain. I'm breaking the terrain up into 1km squares and putting each in a separate scene with HorizonON providing the distance. Collider walls around each terrain provide triggers to transition to the adjacent terrain's scene.

    I've got a master map that is 16x16km. This generates16x16 displacement and splat maps for HorizonON, and 1x1km height and splat maps for Terrain Composer. I've gotten it so the two terrain types match up pretty well without using the terrain transition, which doesn't work so well on non flat transitions.

    As it turns out I'll have to bake each scene's mesh separately, as the displacement for one terrain doesn't match another. If I don't bake, then I can use HO offsets to match different terrains. Once baked though that doesn't work. So the plan atm is to propagate a non-baked HO prefab to each scene, bake the displacements, then apply layer textures, colliders and trees.
     
  17. docsavage

    docsavage

    Joined:
    Jun 20, 2014
    Posts:
    1,021
    Hi @Becoming,

    I have spent the day trawling youtube and yours and other devs tutorial pages but still need some help. I can't find a clear tutorial anywhere on creating RGBA masks for the main settings and the ARGB heightmaps for displacement settings. After playing around with them I am not even sure why I need them if at all. This is all new to me. I have never used photoshop and still a newb at gimp drawing package. Any help would be appreciated as I am finishing my game graphics now.

    Thanks

    doc.
     
  18. docsavage

    docsavage

    Joined:
    Jun 20, 2014
    Posts:
    1,021
    @Becoming, hold fire. Just found at the end of the horizon manual the useful links. I have had the manual open all day and have skim read it but didn't see this. ARRGGGGHHH. Checking out those tutorials now.

    My fault apologises!
     
  19. Dracones

    Dracones

    Joined:
    May 31, 2016
    Posts:
    27
    Not sure if you've gotten any VR users yet. But I bit the bullet on this because I wasn't in happy mode trying to use 4-6k terrains to render 1k of play space in VR. Ran the demo scene with TOD and the SteamVR CameraRig and ending up spending 30 mins sit sitting on a rock watching the days go by. It was pretty awesome and performance was great.
     
    Becoming and hopeful like this.
  20. Teila

    Teila

    Joined:
    Jan 13, 2013
    Posts:
    6,932
    I am wondering if it is possible to use Horizon the way Firewatch did, with paths surrounded by non-terrain Horizon-like terrains. Only the path areas ( linked terrains) would be accessible to the player but they would see the surrounding area, like mountains, swathes of fields, etc. Does Horizon have to be set up with one terrain (or a block of terrains) and a hole in the middle?
     
    one_one likes this.
  21. Becoming

    Becoming

    Joined:
    May 19, 2013
    Posts:
    781
    I looked at a few let's play firewatch videos as i never played it myself... It seems they just put some obstacles on the walkable area to separate background from foreground and they use it to hide any transitions.

    Horizon offers great flexibility so you can certainly do the firewatch background. I would work with meshes instead of terrains but also with unity terrains you should be able to get good results. Small terrains stitched together to form arbitrary shapes, the edges never reachable and lowered so the just intersect with horizon... I wouldn't even bother with transitions meshes and solve it with leveldesign or make sure the look matches good enough so that a transition is not visible...

    I'd put horizon just everywhere and the terrains/meshes on top it will give great results in very short time and if you want to really polish it(probably not even needed) you can bake the horizon displacement. and model any intersection and remove unnecessary polygons that are hidden under your terrain/meshes.
     
    Teila likes this.
  22. Becoming

    Becoming

    Joined:
    May 19, 2013
    Posts:
    781
    No need to apologize, just let me know if you need assistance.
     
  23. Becoming

    Becoming

    Joined:
    May 19, 2013
    Posts:
    781
    Thanks for the feedback! Yeah the performance of horizon is one of its biggest strengths and the fact that it is real 3d geometry gives great depth. Pretty much perfect for VR :D
     
  24. docsavage

    docsavage

    Joined:
    Jun 20, 2014
    Posts:
    1,021
    Thanks @Becoming.

    A definitive gimp tutorial on creating RGBA and heightmaps to use specifically in terrain work is needed. Lot's of photoshop ones but couldn't find gimp ones.

    A tutorial on your work methods would be great. We could learn much.
     
  25. Becoming

    Becoming

    Joined:
    May 19, 2013
    Posts:
    781
    Sorry i am not a gimp user, though i am sure that gimp has all the functionality that is needed...

    I am working on tutorials and try to put them out quickly. If you have any specific questions in the meantime i am here to help!
     
  26. docsavage

    docsavage

    Joined:
    Jun 20, 2014
    Posts:
    1,021
    Anything is appreciated. Us beginners learn from everything. Any small knowledge to you can make all the difference to us:)
     
  27. Teila

    Teila

    Joined:
    Jan 13, 2013
    Posts:
    6,932
    Excellent! Thank you. :)
     
  28. docsavage

    docsavage

    Joined:
    Jun 20, 2014
    Posts:
    1,021
    @Becoming,

    One thing I would find useful is if you did an example project from scratch. Bringing in prefabs etc that match the terrain. I am trying to get my head around an effective way of using horizonOn with the assets to be used in the game scenes. I have the assets, ground textures etc but am not sure of most efficient way of getting them into horizonOn in the first place. Only thing can think of is by generating a huge terrain using the textures required then adding trees etc and then taking a top down screen shot. That image would be then used for the scene textures and as a guide for painting trees etc as per your excellent tree placement tutorial. What do you think? Any suggestions?

    thanks
     
    Last edited: Jun 21, 2016
    Teila likes this.
  29. Teila

    Teila

    Joined:
    Jan 13, 2013
    Posts:
    6,932
    Really good idea. I feel the same way..Horizons is just out of my grasp and while I don't usually advocate videos, in the case of Horizons, they really do help.
     
    docsavage likes this.
  30. docsavage

    docsavage

    Joined:
    Jun 20, 2014
    Posts:
    1,021
    I occasionally have them but they just come to me so I can't claim credit:)
     
    Teila likes this.
  31. docsavage

    docsavage

    Joined:
    Jun 20, 2014
    Posts:
    1,021
    Been writing on wrong thread. Deleted posts. I need sleep. Sorry everyone.
     
    Teila likes this.
  32. Dracones

    Dracones

    Joined:
    May 31, 2016
    Posts:
    27
    Yeah, I'm basically at the same spot. HorizonOn itself is easy to put into a scene once you grok it. The gotchas are designing your terrain to give good boundaries for it(and this is going to be different for each terrain product) and then using the textures and so on from your terrain in HorizonOn so you get a good color match. And on a more advance slant, if there are good ways to match a water terrain edge(or even a partial water edge like a small river cutting out of your terrain) with HorizonOn that'd make a good video as well.
     
  33. docsavage

    docsavage

    Joined:
    Jun 20, 2014
    Posts:
    1,021
    Never thought about the waters edge. You are totally right that would be very useful.
     
  34. Becoming

    Becoming

    Joined:
    May 19, 2013
    Posts:
    781
    Here is the next Video for the Horizon[ON] Tutorial Series:



    Hopefully soon i have the most important topics covered.
     
    hopeful, Tinjaw, Teila and 1 other person like this.
  35. Becoming

    Becoming

    Joined:
    May 19, 2013
    Posts:
    781
    By the way: The Skyscrapers i am working on(see previous page for screenshots) have a little cameo occurence in Nathaniel's World Composer Trailer. They appear in the very end ;)

     
  36. docsavage

    docsavage

    Joined:
    Jun 20, 2014
    Posts:
    1,021
    @Becoming,

    Fantastic.That is exactly what I needed. The HorizonOn manual is very well done and one of the best I have seen out of all the assets I own but the one thing it was missing is now covered by this video. Thanks for posting.

    doc
     
    Becoming likes this.
  37. Dracones

    Dracones

    Joined:
    May 31, 2016
    Posts:
    27
    Yeah that's a great video. It's nice to see how easy it is to blend water features from the terrain into HorizonOn. Covering how you're using the various tools inside of Photoshop was helpful as well since I'm not a heavy user of that app. Looking forward to the layer texture video.
     
    Becoming likes this.
  38. docsavage

    docsavage

    Joined:
    Jun 20, 2014
    Posts:
    1,021
    Hi @Becoming,

    Final stages of testing now. I come across a bit of a problem that will probably not affect most people. I am currently testing using a mesh terrain made in blender. As a test I vertex painted the terrain in blender and using the probuilder vertex shader (a good shader even affected by lighting/shadows) I get lightning fast terrains. Because horizonOn the snow/fog/water etc need to be applied to a terrain with the horizonOn shader it means I can't use this vertex shader obviously resulting in the colors being lost. So it looks like a problem but had an idea.

    The horizonOn sky transition is affect partially by snow and effects. Is it possible to do the same to the terrain transition. If so I then make sure the centre of the mesh terrain is flat and adjust the transition terrain so it overlays this without completely obscuring it and resulting in a good blend with the terrain and access to the snow/water effects etc.

    Do you think it is possible or an unrealistic amount of work for the return?

    thanks

    EDIT - If the transition terrain was the terrain size and completely overlaid it. The blend slider would still affect the mix but across the whole mesh. Even if the blend was set to minimum would this not result in snow etc still being applied over the whole transition terrain without the transition texture obscuring the terrain?
     
    Last edited: Jun 28, 2016
  39. Becoming

    Becoming

    Joined:
    May 19, 2013
    Posts:
    781
    Sorry this is really not a good way to do it... if you need snow/fog or other features on your mesh terrain(or unity terrain) you need to use a terrain shader that can do this.

    Maybe i missunderstand what you want to achieve... Can you give me a screenshot?
     
  40. docsavage

    docsavage

    Joined:
    Jun 20, 2014
    Posts:
    1,021
    Hi @Becoming,

    Sorry if I am not clear. Better if I show with images like you said.

    Sky Transition with snow switched on. The snow is visible on the transition.

    SkyTransition.png


    Transition terrain off. So no blend of terrain and obvious seam. Snow ends around half way through the disp_level_start portion. Obviously ends at terrain.

    TransitionTerrainOff.png

    Transition on and set about midway. Nice blend with terrain. But snow still not visible on this transition like it is on the sky transition. The light areas are down to the change in the texture. The snow is more visible further back.

    TransitionTerrainOnInnerScaleHalf.png


    Transition scale set to zero. Totally covers terrain and prevents terrain being seen through fully. The terrain is centred underneath the arrow and is not visible. Good way to mix though if alpha adjustable..

    TransitionTerrainOnInnerScaleZero.png .


    Transition scale inner set to very low value. The transition mesh is visible close to terrain centre but not having any effect past the terrain edges.

    TransitionTerrainOnInnerScaleVeryLow.png

    What I am wondering is if the scale inner can be made to have an effect so that the mask is visible over the full selected scaled area.

    Also if the terrain transition could have snow/water/fog added like the sky transition does. That way the snow etc could be brought into the centre of the terrain without the need for any other shaders. Even if the mix with the transition texture is not visible it would still be good.

    Probably not possible. But worth checking as HorizonOn is lightning fast and if can be used as much as possible then fantastic.

    Hope that makes it clearer. Although I am good at confusing people:)
     
  41. Becoming

    Becoming

    Joined:
    May 19, 2013
    Posts:
    781
    Hmm, i am still a bit confused, isn't the problem that you have set the start height of the snow to a high value? If you lower the base height it will cover the whole horizon... the transition terrain receives snow completely and just fades out to the center like a regular transparent shader. Fog also has a start and end height as well as a height offset by distance, maybe you just need to look into these values.

    I guess i need to make Videos on Snow and Fog. I think i can make these quickly as it is not a complicated topic.

    I see what you mean with the semi transparent transition if the hole is closed though... the transparency is controlled by the UV2 so you might need to export the mesh and modify its UVs. I am still not sure if the problem is not easily solved by adjusting the base height of snow/fog...
     
  42. docsavage

    docsavage

    Joined:
    Jun 20, 2014
    Posts:
    1,021
    Hi @Becoming,

    Thanks for the reply. I am probably over complicating things. I will keep testing and try adjusting the height of the snow fog.

    Love this product. Really comprehensive. Thinking of using it solely without standard terrain for a few of the levels as the game is independent of physics and colliders.

    Thanks for the support :)
     
  43. docsavage

    docsavage

    Joined:
    Jun 20, 2014
    Posts:
    1,021
    @Becoming,

    I tried what you said the min height was set to above 0 so it did have an effect. I just reduced it to -10 to make sure and the transition did show snow/fog. The only thing is it is an ineffective fade. Virtually on or off. If scale inner is set to anything 0.1 and above the snow is barely noticable on all but the edges. If it is set to zero it gives full coverage but with no fade meaning the terrain can't show through at all. But it is there so there's progress:)

    I will look at the uv2's you mentioned to see if that works. I understand most people probably would not use this tool in the way I am testing.

    Thanks again.
     
  44. AntonBertelsen

    AntonBertelsen

    Joined:
    Oct 13, 2014
    Posts:
    37


    Hey. Your plugin looks pretty funky in Unity 5.4b23.

    Update: The problem is solved in the the first 5.4 release candidate
     
    Last edited: Jul 19, 2016
  45. Becoming

    Becoming

    Joined:
    May 19, 2013
    Posts:
    781
    Will be fixed when Unity 5.4 goes out of beta...

    Edit: oh i didn't see your edit :)
     
  46. Becoming

    Becoming

    Joined:
    May 19, 2013
    Posts:
    781
  47. Becoming

    Becoming

    Joined:
    May 19, 2013
    Posts:
    781
  48. docsavage

    docsavage

    Joined:
    Jun 20, 2014
    Posts:
    1,021
    That looks quality. Keep us all updated with the game. It looks very nice.

    One question. What did you use for the grass?
     
  49. Smokas

    Smokas

    Joined:
    Mar 7, 2016
    Posts:
    114
    MacBook Retina Unity 5.4.

    Asset is not usable.
    Screen Shot 2016-07-25 at 14.11.32.png
     
  50. Becoming

    Becoming

    Joined:
    May 19, 2013
    Posts:
    781
    I am not sure how that screenshot can tell me what the problem is...
    Can you give me more information?