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. plokkum

    plokkum

    Joined:
    May 28, 2013
    Posts:
    90
    I'm sorry, totally missed his post. Have been browsing pages for pages only to miss his :) Thanks for the clarification! I'll give it some more thought before I'm going to purchase this amazing looking asset. I'll definitely keep it on my top-list.
     
  2. blazespinnaker

    blazespinnaker

    Joined:
    Dec 20, 2015
    Posts:
    80
    Just a very very basic demo that is end to end (start out with basic pre-made terrain). Can figure out the rest from the manual!

    Thx! Very glad I got this in the sale but not sure how to use and the manual is out of date with Unity 5 :(
     
  3. Cactus_on_Fire

    Cactus_on_Fire

    Joined:
    Aug 12, 2014
    Posts:
    675
    Haha, thanks :) Yeah I'll check it out.
     
  4. Becoming

    Becoming

    Joined:
    May 19, 2013
    Posts:
    781
    Why do you think that the manual is out of date?
     
  5. blazespinnaker

    blazespinnaker

    Joined:
    Dec 20, 2015
    Posts:
    80
    Maybe it isn't. You skip around in the manual a lot without explaining the intermediate UI so I don't know what you're clicking on, after not finding it I just sort of assumed it was out of date. Don't you find just recording a 5 minute youtube video easier than all those screenshots?
     
  6. Becoming

    Becoming

    Joined:
    May 19, 2013
    Posts:
    781
    Well, to be honest i highly prefer written manuals, both from the user perspective as well as from the asset dev perspective for multiple reasons.

    1. They are easy to keep up to date(no rerecording of the entire thing just because something has been changed).
    2. They allow for more detailed explanations and allow the user to have his own tempo without constantly having to pause/rewind/skip.
    3. They are searchable, in a video you will never find the one thing you need to know without watching the entire thing.
    4. More information can be put into it. explaining everything from start to end needs multiple videos.
    5. Features can be used for different usecases and it is easier to explain without depending too much on the context of the current scene.
    6. It needs to be narrated when there is a certain complexity. Recording a video requires to edit out a LOT of aehhms and uuhhs and thinking pauses, also accents are a problem.
    7. When there is some information missing somewhere it is very hard to squeeze it inbetween cuts without making the video a crazy mess.
    8. It forces the user a bit to work through the whole thing once, instead of just watching the video without following along. Following along will make everything easier to remember and also things get much clearer when you have seen yourself what the effect of a certain button/checkbox/slider is.
    9. If there are videos, users thend to ignore the manual and complain about the quality/lack of infos of the videos. Videos, can never replace a manual if a product has a certain complexity.

    Of course it is not like everybody thinks that way and i attempted a few times to record a video that explains everything but i was not able to come up with something that is not already better explained in the manual/getting started guide...
    I will try again though even though it can never be just a 5 minutes video...

    I made the getting started guide to quickly transport the basics without going too much in depth, i also added tooltips for everything to make things as selfexplanatory as i could. If you can point me to a section in the getting started guide that you don't understand i will definitely look into making it better.
     
  7. Deleted User

    Deleted User

    Guest

    Quick question..how did you create the back lighting map for your trees?

    P
     
  8. Becoming

    Becoming

    Joined:
    May 19, 2013
    Posts:
    781
    I tricked a bit using the channels of the normal map and overlaying a bunch of differently blurred versions... i also handpainted a bit to reduce/increase the backlight on some parts.

    The best way to create you own trees is to use the billboard output of speedtree and atlas them a bit more efficiently. They also come with the normal map that you can use as a basis for the backlighting...

    To get the most out of the normal map you can take each channel in a new photoshop(or gimp or whatever) doc.
    The red channel is left lit, if you invert a duplicate of it you have a right lit version, the green channel is top lit...
    I made a black background and overlayed the channels, I used the blendmode additive and picked a bit lower opacity for left/right lit than for top lit. I collapsed the result and treated it with levels and then dupilcated it a bunch of times to add gaussian blur with different radii. Some handpaint tweaks on top and its good.

    With some tweaks the normal map itself can also be improved to make the trees appear more 3d.

    It took me approx a day to create the included tree atlas and the geometry(considering it was for 24 trees it is fairly well used time). Of course with creating and tweaking the shader, etc., it took much longer but since you only need to work on the texture atlas and super low poly(4 triangles per tree) geometry, one day should be easily doable.

    Look at the textures to see what the final result should approximately look like.
     
  9. blazespinnaker

    blazespinnaker

    Joined:
    Dec 20, 2015
    Posts:
    80
    Great points. However, there is a reason why tuts have flourished on the web and why they're all videos. Screenshots simply don't cover the level of detail a new user requires.

    Maybe just record the getting started portion and link to it from the manual. I'm sure that would be a 5 minute video! :) Don't put in a title / description so people don't wander to it first by mistake. Also, the viewer can control the speed of the video on youtube (down to 0.25) which makes it easier for new users to digest or professionals to zip through if they already know most of it.

    Just general end to end workflow videos without any chatting would be really excellent as well. As two other people have mentioned on this thread they'd like to see how you work from beginning to end. I hope you see that part of the value of what you provide is not just the software but also your advanced Unity skill set and how it leverages the tool you made. Again, skip the title (so people don't hit it by mistake) and just say something like "The purpose of this video is not a tutorial but rather to demonstrate full end to end workflow."

    In terms of editing, are you using something like https://screencast-o-matic.com/home? There is some pretty good software out there.
     
    Last edited: Dec 27, 2015
    one_one likes this.
  10. Deleted User

    Deleted User

    Guest

    Thanks....info I Needed..was using the normal to hieght filter in Nvidia's normal map tool in photoshop..just did not look right...but duplicating those channels, did the trick!
     
  11. Becoming

    Becoming

    Joined:
    May 19, 2013
    Posts:
    781
    Thanks for the suggestions, I'll try my best!
     
  12. Becoming

    Becoming

    Joined:
    May 19, 2013
    Posts:
    781
    Great, would love to see some screens of your results ;)
     
    twobob likes this.
  13. Obsurveyor

    Obsurveyor

    Joined:
    Nov 22, 2012
    Posts:
    277
    I've gone through the quick start multiple times and I just cannot figure out what I'm doing wrong. No matter what I do, I cannot get the Horizon[ON] horizon to appear through the Main Camera, if I have it set to use a Skybox. I can see it just fine in the scene and if I set the camera's Clear Flags to Solid Color, I can see it in the game. But nothing with the Clear Flags set to Skybox. What am I doing wrong?

    (Almost forgot: Unity 5.3.1f1 on OS X)
     
  14. meoh

    meoh

    Joined:
    Dec 17, 2015
    Posts:
    14
    Hi, I've recently downloaded your gorgeous asset, passed the getting started tutorial. Im currently designing levels that are open, but quite dark and 'nighty', like in Evolve. One quick question: what should I read to learn how to create good-looking night horizons? I've checked the demo but honestly, it doesnt look as good at sunset as it is at midnight sun position.

    And a related question: in tutorials the terrain was grassy, with a bit sand. The generated landscape matches such terrain perfectly. What about deserts, rocky terrains etc? Can I use same 4 Horizon levels, but texturize them differently, without manually drawing a color map for each? In your initial post there's a snowy landscape - how did you do that? :) If im asking for something that already described in manual, sorry for bothering then, just point me to the required section.

    Thank you.
     
  15. edufurla

    edufurla

    Joined:
    Mar 7, 2014
    Posts:
    19
    Same to me, but I am using Unity 5.2.3f1.
    Some screen captures videos on youtube could help a lot.
     
  16. Obsurveyor

    Obsurveyor

    Joined:
    Nov 22, 2012
    Posts:
    277
    Video wouldn't help. It's like 10 steps that are very easy to follow. It just doesn't seem to result in what it shows in the pictures for me, following the note about not needing to use a Skydome in 1.2. I do wish it was a web page and not a PDF though.
     
  17. blazespinnaker

    blazespinnaker

    Joined:
    Dec 20, 2015
    Posts:
    80
    fify.
     
  18. Becoming

    Becoming

    Joined:
    May 19, 2013
    Posts:
    781
    I think that is because of a wrongly assigned material on the transition sky prefab... Check that the transition sky object uses the transtition sky material(and that the material uses the according shader). I made a change to support shadows and it required to have 2 seperate materials for the terrain transition and the sky transition. I forgot to update the prefabs material. It's on my list for the next update.

    Another issue with the current version is that the compensate z-fighting script is deactivated on the transition terrain object prefab... also fixed in the next update.

    Last but not least the tree/building shaders are recompiled for unity 5.3 in the upcoming update(for now you can replace the shaders with the ones i posted some posts above - or if you have Shaderforge just open them and click compile).
     
  19. Becoming

    Becoming

    Joined:
    May 19, 2013
    Posts:
    781
    Noted...
    look at the post above for the fix.
     
  20. Becoming

    Becoming

    Joined:
    May 19, 2013
    Posts:
    781
    I am not sure about the lighting issue... are you in linear or gamma space? You might need to tweak the global color tint in the main settings. Also i am not sure what you don't like about the sunset in the demo, i think it looks very good and nobody so far told me otherwise. We are using it in our own project and have consistent lighting for any day/night time.

    For different looking horizons, it behaves just like any terrain shader asset out there, it needs textures. You can go a long way with tweaking the saturation/tint and tiling of the included textures but ultimately if you are after AAA results and a custom look you have to use your own textures. In the manual and the faq there are some hints about creating textures but i hope you understand that a full guide on textureing is out of scope of horizon as it is a more general task and not somthing that is special for horizon other than the fact that you need to have a bigger area covered on the texture(similiar to a satelite image or the output of world machine). Making it match different areas of your terrain(for example the sandy corner in the example scene)with your terrain is done by painting/moving/scaling the mask accordingly.

    Snow is covered in the manual. Basically you ust need to enable snow in the features section then go down to the snow section and increase the snow amount(tweak the other values to your liking). everything has tooltips and is also explained in the manual.

    edit: to clarify, making a nighttime horizon is no different than a daytime horizon, it is just changing the lighting conditions... Horizon[ON] does have a lot of possibilities for adjustments though (like overiding the ambient light, its own fog, tint and saturaiton of each layer and global tinting as well). If you use PBR you should not need to change anything other than the global tint to compensate for the difference in linear/gamma space.

    Hope it helps, never hesitate to ask if you need more help ;)
     
    Last edited: Dec 31, 2015
  21. Becoming

    Becoming

    Joined:
    May 19, 2013
    Posts:
    781
    I agree that a webpage would be better but i am not very good with web stuff... maybe in the future.
     
  22. Obsurveyor

    Obsurveyor

    Joined:
    Nov 22, 2012
    Posts:
    277
    That fixes the sky part of it but the TransitionTerrain still doesn't appear in the MainCamera. So now I see a ring of horizon with a big square in the middle of it showing the Skybox.

    edit: It does appear if I use the TransitionSky Material on the TransitionTerrain prefab. Seems like maybe the TransitionTerrain shader needs the same update the TransitionSky one got?
     
    Last edited: Dec 31, 2015
  23. Becoming

    Becoming

    Joined:
    May 19, 2013
    Posts:
    781
    That can't be as we are using it in production(many do). If you see the skybox it means you don't have a terrain in the center... put a terrain or another opaque object there and it should appear. If you want to use horizon alone just put a plane with the horizon object material in the center.

    Off to the new years party now! Happy NEW YEAR everybody :)
     
  24. nxtboyIII

    nxtboyIII

    Joined:
    Jun 4, 2015
    Posts:
    281
    Hi,
    Whenever I try to load the sample scene for mobile it loads but then Unity stops responding. :( please help me
     
  25. Obsurveyor

    Obsurveyor

    Joined:
    Nov 22, 2012
    Posts:
    277
    It is:

    TransitionTerrain using TransitionTerrain Material/shader:


    TransitionTerrain using TransitionSky Material/shader:


    I diff'd the TransitionTerrain and TransitionSky shaders and the only difference is the AlphaTest on line 119, otherwise, they are identical.
     
  26. Becoming

    Becoming

    Joined:
    May 19, 2013
    Posts:
    781
    What version of unity are you using? Any other hints like target platform... errors or warnings?

    Edit: it might have to do with the uncompiled shaderforge shaders(just a blind guess). You can try to import this unity package(compiled shaders for Unity 5.3) and see if it helps:

    https://www.dropbox.com/s/c6urqgha23cm4bu/Horizon[ON]_BuildingAndTreeShaderUpdate.unitypackage?dl=0
     
    Last edited: Jan 1, 2016
  27. Becoming

    Becoming

    Joined:
    May 19, 2013
    Posts:
    781
    Exactly that is the important difference... it used alpha blending and it needs to have an opaque object below... the terrain in the middle does not match the hole in the middle(or vice versa the hole does not match your terrain)... scale the horizon transition terrain to be of the exact same dimensitons as your terrain. Then scale the surrounding layers accordingly.
     
  28. Obsurveyor

    Obsurveyor

    Joined:
    Nov 22, 2012
    Posts:
    277
    Scaling the TransitionTerrain does nothing. The square hole in the TransitionSky is the same size, so you're left with a square within a square in the scene. I don't think you're getting that TransitionTerrain is completely invisible in the first screenshot. You can delete the TransitionTerrain object and it makes no difference in the render output. edit: I understand what's going on now. My confusion was between the TransitionTerrain and TransitionSky. You have to scale TransitionSky as well as TransitionTerrain.

    There is something fundamental being left out of the Quick Start here that I missed, it's just too basic. I can follow those instructions with the absolutely enormous terrain you include but it doesn't really put me in the position to use my own, much smaller terrains.

    I suggest you write a new Quick Start guide(or maybe just do it as an experiment) from the perspective of integrating a default Unity terrain(which is 500,500 and offset from 0,0) with the current version of Horizon[ON] downloaded from the store. Maybe you'll see things from a different perspective.

    edit: Alright, I have figured it out on a technical level and why it works based on the intended behavior.
     
    Last edited: Jan 1, 2016
  29. kerrmedia

    kerrmedia

    Joined:
    Nov 4, 2015
    Posts:
    250
    View attachment 167830 I was trying to run the demo scene. I switched to player settings color space back and forth between gamma and linear, but reading the posts here understood the problem is the Horizon[ON] Trees. I imported the new materials posted above and seems OK now.
    Source Forge is expensive, but is it work getting?

    tree_selected.jpg View attachment 167828
     
    Last edited: Jan 1, 2016
  30. kerrmedia

    kerrmedia

    Joined:
    Nov 4, 2015
    Posts:
    250
    Sorry, another question, I am trying to follow the docs, but I am missing how to parent Horizen that I see in Scene design mode with what I see in play mode? I see it here, but when I switch to the game it is not visible.

    hows_up_in_design_but_not_play.jpg

    I set my Camera to "MainCamera" and it is not Static.
     
  31. Obsurveyor

    Obsurveyor

    Joined:
    Nov 22, 2012
    Posts:
    277
    Same issue I had, you need to go to the Horizon[ON] Materials folder and assign the "Horizon[ON] TransitionSky" material to the "Horizon[ON]_Transition_Sky" in your scene. The Prefab that it's created from uses the wrong material.
     
    Last edited: Jan 1, 2016
  32. Obsurveyor

    Obsurveyor

    Joined:
    Nov 22, 2012
    Posts:
    277
    New question: How would I set up multiple horizons for a water scene with above water, below water and underwater ground?

    I've tried using multiple masters as well as just a bunch of transitions but it doesn't render things properly if more than one sky and terrain transition are enabled(they get offset in weird ways). It even does a crazy thing where if you add multiple masters(nested or not), it only shows/renders the last one selected in the Hierarchy, even if that master is disabled.
     
  33. kerrmedia

    kerrmedia

    Joined:
    Nov 4, 2015
    Posts:
    250
    OK, did that, scene showed up, but, the transition terrain now has the transition sky shader?
     
  34. Obsurveyor

    Obsurveyor

    Joined:
    Nov 22, 2012
    Posts:
    277
    Check both materials, the TransitionTerrain and TransitionSky, make sure they both have the correct shader, Sky for Sky, Terrain for Terrain and then check each Transition and make sure they have the material of the same name.
     
  35. Becoming

    Becoming

    Joined:
    May 19, 2013
    Posts:
    781
    I was not aware that it is unclear, basically for creating a new horizon form scratch you start from the middle out...
    You have a terrain of a certain size... then you add the transition terrain and scale it so that it matches your terrain.
    then you add the outer elements always making sure that each new element encloses the prior ones. I'll check the geting started guide if i can make it more clear and try to record a basic video.
     
  36. Becoming

    Becoming

    Joined:
    May 19, 2013
    Posts:
    781
    If you need shaderforge or not is of course up to you but in my opinion it is worth it, if you need custom shaders and are not already a shader pro. You can learn a lot about shaders just by using it. Also for people that have a lot of experience with shaders it can be of value as it allows for very quick prototyping. So i do recommend it.

    Sorry for the confusion, these issues are fixed in the upcoming update.
     
  37. Becoming

    Becoming

    Joined:
    May 19, 2013
    Posts:
    781
    I am not sure if i understand what you want to achieve... I'd say you dont need a horizon if the camera is underwater, as underwater the view distance is very short. You need to use a fog. Also all the accesible underwater areas still should be part of your terrain and not horizon(you can blend your ocean plance with horizon though).

    I did the demo video for RTP and there you can see how the water comes into play... it just has nothing to do with horizon

    edit: underwater shots are at 2:09, 3:30 and 4:26
     
    Last edited: Jan 2, 2016
  38. Obsurveyor

    Obsurveyor

    Joined:
    Nov 22, 2012
    Posts:
    277
    I don't like using depth fog. It always looks super horrible, especially for under water, mainly when you turn the camera. Think of the question in terms of having both a horizon above you and a horizon below you, like a massive space hangar or underground complex. The issue is when you get near the borders of the playable area, you still need a horizon, even if you limit how close the player can get to the edge by 50 units, you still need something. Probably even if you were using fog.
     
  39. Becoming

    Becoming

    Joined:
    May 19, 2013
    Posts:
    781
    I dont think there is another solution to it... you just need to have some geometry as ground and a fog to fade distance to a color. Dont you like the underwater look in the video?
     
  40. Obsurveyor

    Obsurveyor

    Joined:
    Nov 22, 2012
    Posts:
    277
    Sure there is though I don't know how feasible it is with Horizon[ON] and the way it is written: Allow multiple TransitionSky/Terrains. The only reason why it's not working for me right now is because of the weird offsetting Horizon[ON] is doing when multiple transitions are present.

    The video is fine but it doesn't really match up with what I'm doing at all(third person sub, all terrain underwater, just sea surface, action game where viewing distances are long and both the surface and underwater are relevant to gameplay). It also shows off, briefly, the ugliness of depth fog I don't like: Geometry becoming visible when the camera turns that you wouldn't be able to see in reality. The fog becomes less like a volume and more like a sphere or box surrounding the view, turning with it.
     
  41. Becoming

    Becoming

    Joined:
    May 19, 2013
    Posts:
    781
    The unity imagefx fog is far from ideal... you could look into some atmospheric scattering assets and tweak it to your needs or use the regular fog in the lighting tab...

    If you want to mix multiple horizons you need to have a seperate material set for each horizon. each horizon master affects the materials of its children. So if you duplicate the materials(or better the whole material folder for easier managing) and assign the new materials to the children of your other horizon master it should work, horizon master 1 will not affect the materials of horizon master 2 then(and vice versa). Dont nest the horizon masters unless you are already very familiar with it and have a good reason to do so.

    Be aware that horizon is not meant for closeup, you can use it but it has the limitation of supporting only one directional light. Underwater scenes would profit a lot from volumetric effects like headlights on a submarine, flashlight of a diver, etc. so i am not sure if horizon is suitable for closeup underwater. What would be handy is the built in fog though. if you are familiar with shaderforge you can take a look at the building/tree shaders as they have the fog of horizon as codenodes and you could make your own set of shaders for underwater but it would be quite an undertaking to make a shader for everything. So i would recommend to look into fog(or atmospheric scattering) imagefx.

    I am not sure if it would help in your case but you could also look into spherical camera culling(serach the unity docs). It maybe fixes the issue of the fog when turning the camera although i am not sure.

    For the long range view distance underwater, i am not sure how long it is in reality, even under clearest water conditions but in all my underwater experiments(quite many), having too long view distance did not quite give the impression of being underwater.

    Sorry i cant be of better help, great looking underwater is definitely not easy to achieve and a lot of experiments and reasearch has to be done, i dont know of any out of the box solutions. For the 2 horizon solution, it might work but i have not tried it. You might need to enable/disable the other horizon when you go underwater.
     
  42. Obsurveyor

    Obsurveyor

    Joined:
    Nov 22, 2012
    Posts:
    277
    The material set information is probably what I was looking for. Thanks for the ideas, you've gone above and beyond. :)
     
  43. kerrmedia

    kerrmedia

    Joined:
    Nov 4, 2015
    Posts:
    250
    So I have a transition terrain, it has the transition terrain material. I add a transition sky, and this is what I see in the inspector, I can't seem to change the sky terrain texture without also changing the other:

    transition_sky.jpg
     
    Last edited: Jan 3, 2016
  44. Obsurveyor

    Obsurveyor

    Joined:
    Nov 22, 2012
    Posts:
    277
    You've got the TransitionTerrain Material on your TransitionSky.
     
  45. kerrmedia

    kerrmedia

    Joined:
    Nov 4, 2015
    Posts:
    250
    Yeah, I know. If I switch it to Sky it also changes the Terrain.
     
  46. Becoming

    Becoming

    Joined:
    May 19, 2013
    Posts:
    781
    You should use the according shader/material for the transition objects. If you want to control them seperately you need to put each as a child of a seperate horizon master or use no horizon master at all and control the material properties directly on the materials.

    Though the transitions should be treated the same way to ensure continuity, if you want to have different textures on each you can also use more layers and control it with the mask.

    Think of the horizon master as a helper to control multiple materials as one(The horizon master checks which materials its children use and controls them). It helps to keeps values in sync and ensures that you dont get any seams.
     
  47. kerrmedia

    kerrmedia

    Joined:
    Nov 4, 2015
    Posts:
    250
    So maybe I'm using the wrong objects to extend my landscape?
     
  48. Becoming

    Becoming

    Joined:
    May 19, 2013
    Posts:
    781
    Hard to tell without knowing more about your setup, if you like you can send me a PM with your skypename and i'll guide you through with a screenshare.
     
  49. kerrmedia

    kerrmedia

    Joined:
    Nov 4, 2015
    Posts:
    250
    OK, have to make an account, thank you.
     
  50. _OK_

    _OK_

    Joined:
    Oct 3, 2014
    Posts:
    33
    Doesn't work at all iOS platform - worked fine before 5.3.1 - but now it crashes unity3d any time you import or try to use scenes included. Just clicking on the Horizon materials crashes Unity.

    I think it is unity 5.3.1 shader bug of some kind because since updating it has also stopped other shaders from working without providing any errors.

    Any ideas. there are no warnings or errors.

    using unity 5.3.1 and mac OS X el capitan