Search Unity

Terrain Composer2 a next generation GPU powered terrain tool.

Discussion in 'Assets and Asset Store' started by eagle555, Sep 16, 2012.

  1. _Luthien_

    _Luthien_

    Joined:
    Apr 24, 2015
    Posts:
    52
    Hey, that's great news!
     
    hopeful likes this.
  2. eagle555

    eagle555

    Joined:
    Aug 28, 2011
    Posts:
    2,705
    That actually describes the basic steps. If you need more help with it I can explain it in more detail on skype, my account is Nathaniel.Doldersum

    Well I decided to not continue with it because compute shaders is the best and fastest solution. Unity was working on getting compute shaders to work on Mac with Metal and this is now possible with Unity 5.6 beta, which can be downloaded since today :)
    https://unity3d.com/unity/beta

    I don't have a Mac so I can't test it, but very curious if it works. So TC2 should work on Mac with Unity 5.6...Let me know...

    Nathaniel
     
    _Luthien_ likes this.
  3. eagle555

    eagle555

    Joined:
    Aug 28, 2011
    Posts:
    2,705
    I'm working on the new version, but didn't update the roadmap, will do that tomorrow. I will try to release version 2.2 this month..It takes a bit more time as I'm also working on our game.

    Nathaniel
     
    Last edited: Dec 22, 2016
    Seneral, Hikiko66, hopeful and 5 others like this.
  4. syscrusher

    syscrusher

    Joined:
    Jul 4, 2015
    Posts:
    1,104
    I'll volunteer to give this a go. I have an unrelated reason why I need to do some early testing on 5.6, and so I'll toss TC2 into an empty project and see how much smoke pours out. ;)

    As an aside, I currently have on order my new development laptop, which will run Windows and Linux. I'm switching platforms because Apple's new Macbook Pro just can't cut it for me in GPU specs. The Touch Bar full of emojis for social media isn't compelling when it displaced the Fkeys and Escape key that command-line jockeys like me use constantly, and all the battery life and thinness aren't worth it when the GPU is an R460, already two generations outdated the day they announced the machine. {sigh} I really love my 2013 Macbook Pro, but Apple seems to have forgotten what the word "Pro" is supposed to mean. The new design is a great Macbook, but not a Pro.

    All that being said, I wanted to let you know that I'm keeping my Macbook as a spare machine and to us as a "netbook" for short travel (my new laptop is a 17.3", so a bit larger and heavier). So I'm willing to keep helping to debug TC2 on Mac.

    I don't know if I'll get time to test TC2 and U5.6beta tonight, but I'll make some time within the next couple of days and let you know how it works out.
     
  5. syscrusher

    syscrusher

    Joined:
    Jul 4, 2015
    Posts:
    1,104
    There are a number of Unity assets that have problems with the in-editor UI in Scene View right now. It's a Unity bug which I replicated for their team and then reported officially during Unite LA last month.

    I've replicated the bug in Easy Roads 3D, World Creator, Skele, and some of my own code. The Unity team has confirmed the veracity of the bug, and in fact the engineer to whom I showed it has a strong theory on what's broken in the engine.

    More details are in another thread where I posted this info. Fortunately, Raoul ter Berg, creator of Easy Roads 3D, was kind enough to share his workaround code snippet. Easy Roads 3D now works for me on OSX.

    I haven't tried TC1 on recent versions of Unity, and of course (as Nathaniel has noted) TC2 doesn't support Mac until Unity 5.6 (which just went beta). So I can't be sure your TC1 issue is the same as the bug I reported, but it's a possibility. The behavior I observe in Skele is that their properties window, which is supposed to be in the scene view, is rendering but is outside the visible screen area. (The developers of Skele and World Creator are both working on a fix for their products, and Easy Roads newest version already has the workaround.)
     
  6. jc_lvngstn

    jc_lvngstn

    Joined:
    Jul 19, 2006
    Posts:
    1,508
    Gorgeous!
     
  7. MMFSdjw

    MMFSdjw

    Joined:
    Mar 25, 2015
    Posts:
    8
    Trying to make the heightmap and getting this error. I can't make heads or tails of all this.

    Code (csharp):
    1. UnityException: SetTexture failed
    2. UnityEngine.ComputeShader.SetTexture (Int32 kernelIndex, System.String name, UnityEngine.Texture texture) (at C:/buildslave/unity/build/artifacts/generated/common/runtime/ComputeShaderBindings.gen.cs:74)
    3. TerrainComposer2.TC_Compute.RunNodeCompute (TerrainComposer2.TC_GroupBehaviour groupItem, TerrainComposer2.TC_Node node, Single seedParent, UnityEngine.ComputeBuffer rightBuffer, Boolean disposeRightBuffer) (at Assets/TerrainComposer2/Scripts/Generate/TC_Compute.cs:556)
    4. TerrainComposer2.TC_NodeGroup.ComputeValue (Single seedParent) (at Assets/TerrainComposer2/Scripts/Nodes/TC_NodeGroup.cs:110)
    5. TerrainComposer2.TC_Layer.ComputeHeight (UnityEngine.ComputeBuffer& layerBuffer, UnityEngine.ComputeBuffer& maskBuffer, Single seedParent, Boolean first) (at Assets/TerrainComposer2/Scripts/Nodes/TC_Layer.cs:31)
    6. TerrainComposer2.TC_LayerGroupResult.ComputeSingle (Single seedParent, Boolean first) (at Assets/TerrainComposer2/Scripts/Nodes/TC_LayerGroupResult.cs:45)
    7. TerrainComposer2.TC_LayerGroup.ComputeSingle (UnityEngine.ComputeBuffer& totalBuffer, Single seedParent, Boolean first) (at Assets/TerrainComposer2/Scripts/Nodes/TC_LayerGroup.cs:27)
    8. TerrainComposer2.TC_Generate.ComputeHeight () (at Assets/TerrainComposer2/Scripts/Generate/TC_Generate.cs:556)
    9. TerrainComposer2.TC_Generate.Compute (Int32 outputId) (at Assets/TerrainComposer2/Scripts/Generate/TC_Generate.cs:175)
    10. TerrainComposer2.TC_Generate.GenerateOutput (TerrainComposer2.TCUnityTerrain tcTerrain, Int32 outputId, Boolean instantGenerate) (at Assets/TerrainComposer2/Scripts/Generate/TC_Generate.cs:344)
    11. TerrainComposer2.TC_Generate.GenerateHeight (TerrainComposer2.TCUnityTerrain tcTerrain, Boolean instantGenerate, Boolean disableTerrain) (at Assets/TerrainComposer2/Scripts/Generate/TC_Generate.cs:362)
    12. TerrainComposer2.TC_Generate.Generate (TerrainComposer2.TCUnityTerrain tcTerrain, Boolean instantGenerate) (at Assets/TerrainComposer2/Scripts/Generate/TC_Generate.cs:296)
    13. TerrainComposer2.TC_Generate.Generate (Boolean instantGenerate, Int32 outputId) (at Assets/TerrainComposer2/Scripts/Generate/TC_Generate.cs:277)
    14. TerrainComposer2.TC_Generate.MyUpdate () (at Assets/TerrainComposer2/Scripts/Generate/TC_Generate.cs:119)
    15. UnityEditor.EditorApplication.Internal_CallUpdateFunctions () (at C:/buildslave/unity/build/artifacts/generated/common/editor/EditorApplicationBindings.gen.cs:197)
     
  8. dienat

    dienat

    Joined:
    May 27, 2016
    Posts:
    417
    Just saw your video and wanted to know if the water that can be seen with the viking ship is in the package and also the snowed mountains that can be seen

    Also the textures, rocks, trees and grass you show in the tutorial are part of this package? trees included are speedtrees?

    How works this asset, does it generate random heightmaps like Gaia? or there are predefined heightmaps that you later modify with this asset? there are heighmap maps included in that case?
     
    Last edited: Dec 14, 2016
  9. syscrusher

    syscrusher

    Joined:
    Jul 4, 2015
    Posts:
    1,104
    I just fired up Unity 5.6.0b1 and began testing TC2 on Mac.

    First, I found that I had to reimport with the editor set to mixed mode serialization. This is documented in TC2's built-in help, so no particular issue there.

    After reimport, I get an API error which I think is probably not OSX-specific, in TC_Compute.cs line 93, shown below:

    methodKernel = shader.FindKernel("Method" + method);​

    The full text of the error message is:

    Kernel 'MethodAdd' not found
    UnityEngine.ComputeShader:FindKernel(String)
    TerrainComposer2.TC_Compute:OnEnable() (at Assets/TerrainComposer2/Scripts/Generate/TC_Compute.cs:93)​

    @eagle555, what I would like to suggest is that you grab 5.6.0b1 on Windows and get the API updated, then hand it back to me for further Mac testing, which I'll be glad to do.

    This is not all bad news, however. The bare (empty, flat) terrain does generate. The user interface initializes, and I can spawn the TC2 node window and create and manipulate nodes.

    Most importantly, your compute shaders appear to have compiled without error. That's a big step forward.

    The API error is happening when TC2 is locating its compute shader methods, so the effect is that all nodes in the UI are just blackness. But I think if you can fix the introspection in this initialization section, then we have a fairly good chance this will actually work.

    I'm very excited, and pleasantly surprised, with how close this is to working.
     
    Last edited: Dec 14, 2016
  10. syscrusher

    syscrusher

    Joined:
    Jul 4, 2015
    Posts:
    1,104
    Addendum to the test on Mac: There is some misbehavior of the Inspector panel for the terrain object (the part that is in Unity's Inspector window, not the standalone Terrain Composer 2 node editor window). There is some kind of image display area (currently just a grey square for me, probably due to the API issue), that is offset too far to the right, and no matter how wide I make the Inspector, I can never see all of it.

    This may be related to the screen space mapping bug I mentioned earlier, but I would not be certain of that. Mostly I've seen that bug in the Scene view, and not in the UI of the editor itself, but there are some issues in that.

    I mention this issue for the sake of getting it documented early, but in all honesty I suggest @eagle555 not try to debug this smaller problem yet until we fix the API issue.

    Among other things, since until now TC2 has been a non-starter on Mac, I need some time to go back through the video tutorials and actually learn how to use it, the way all the Windows users already have done. :) I'll be able to give better bug reports when I'm further along the normal TC2 learning curve.
     
  11. phabian

    phabian

    Joined:
    Dec 14, 2016
    Posts:
    1
    Hello,

    I wanted to ask if there is a patch for the collison (and collision mask) issue when using Unity 5.5.
    I already tested it, and the function works fine in 5.4, but I would like to continue working in 5.5

    Thanks
     
  12. eagleeyez

    eagleeyez

    Joined:
    Mar 21, 2013
    Posts:
    406
    Hi Nathaniel,

    Looks good TC2, so I will upgrade it later today just after I see what’s on sale.

    My question is Mobile?

    I need a tutorial on getting TC2 working good on mobile, how to optimize. Does TC2 stream or will I still need my world streamer? I also have SECTR

    It would be great to see a mobile demo and how to do it.

    Thanks and if you can help, double thanks.
    And if you don't have the time, then just a few tips would be great.
    From Chris.
     
  13. shwa

    shwa

    Joined:
    Apr 9, 2012
    Posts:
    461
    Syscrusher. Glad you are testing this on OSX and posting your views here.
    I'll be doing the same at some point in January.
     
  14. paul_h

    paul_h

    Joined:
    Sep 13, 2014
    Posts:
    29
    Hi,
    I upgraded yesterday and Yes, It's a nice step forward in interface design even if I still have to get used to it. The design tries to follow the general node editor rules but not quite so much, I can cope with that.
    However.. after a day creating my nice island i plonked a third person character into the scene and it disappeared under the grass. Apparently trees, details and ground textures are much larger than they must be.
    I had to scale grass down roughly to 0.2 and splats trom 14.99 to 5.0.
    It's a bit annoying but I can handle it, but here is the big question:
    Is it the whole terrain to be three times larger or only textures and details?
    is there some sort of global scale in there we can tweak?

    (also tested on clean project in unity 5.5. adding: unity standard environment asset + character + terrain composer 2)
     
  15. tryptic

    tryptic

    Joined:
    Nov 13, 2012
    Posts:
    55
    Hi Nathaniel,

    In the latest beta 7d under Unity 5.5.0p1 the Base Map Distance value doesn't stick, you can enter a new value, deselect the terrain, and it reverts back to default (25). Any thoughts or advice on this would be appreciate.

    Best regards, -Heinz
     
  16. Jarek-Defiler

    Jarek-Defiler

    Joined:
    Feb 6, 2015
    Posts:
    64
    Was the update released yet to allow heightmap exporting with all terrain tiles?
     
  17. paul_h

    paul_h

    Joined:
    Sep 13, 2014
    Posts:
    29
    Another small issue I bumped in: I use a bitmap for distribution maps but color selection and color range give me weird results. To pick up a red 255,0,0 I had to use another node to subtrack yellow, strange..
     
  18. _Luthien_

    _Luthien_

    Joined:
    Apr 24, 2015
    Posts:
    52
    Hi Nathaniel,

    I just found out about the 5.6 beta, so I thought I'd give it a try as well.
    Starting out with a new empty project, I added TC2 and the RTP shader package from the asset store, plus the free speedtree package.
    Following the steps in your TerrainComposer2 tutorial video I got sort of stuck around the 1:19 mark. I noticed the TC2 window did not display any of those red / green template things I see in the video - the window remains black.

    I did not notice any error messages at that point, so I saved the project and restarted Unity, and re-opened the project.

    Now I did get some errors. They are the same as Syscrusher reported about, maybe it's useful to know that this also happens on a completely new vanilla project.

    (on Mac OS 10.12.2)


    unity_metal_device_init.png
     
  19. _Luthien_

    _Luthien_

    Joined:
    Apr 24, 2015
    Posts:
    52
    ok, it turns out Editor support under Metal is still turned off by default as Unity considers it still too unstable even for a beta release.
    However, you can switch it on. I found this how-to on Reddit. Trying that out now ...

    update -

    the only result of turning that option on is that the errors disappear. But the TC window remains black.

    Not sure if it is related, but I can't pick the directory where the terrain is to be saved. It is set to the "Assets" directory of the project but it cannot be edited. There is a terrain file saved to that directory though.


    tc2_metal_test.png
     
    Last edited: Dec 20, 2016
    syscrusher likes this.
  20. Jixzer

    Jixzer

    Joined:
    Feb 3, 2014
    Posts:
    15
    Wow, that answer just blows me away! So we invested in terrain composer that's stripped down (no stamps) so you can upload quicker updates but they never come. And now your changing your roadmap (after I purchased) to make more time for your game. I'm sorry but this seems very unprofessional.
     
    silentneedle likes this.
  21. gibmation

    gibmation

    Joined:
    Dec 1, 2014
    Posts:
    311
    Hi,
    I have created 4 x 4 terrains using world composer.

    However it seems terrain composer does not recognise these terrains.

    How would I go adding these to TC2 ?

    Thanks

    Gib
     
  22. _Luthien_

    _Luthien_

    Joined:
    Apr 24, 2015
    Posts:
    52
    I only blinked my eyes and see: there's not just ONE new beta, but two :) - my previous test was with 5.6.0b1, and now 5.6.0b3 is available.
    Here's my findings testing out 5.6.0b3 with a vanilla project + TC2 on Mac OS Sierra (10.12.2).
    1. Removed previous metal shader test project. Open Unity. Created new Unity 3D project. Add TC2 as only extra asset.

      The following messages in displayed in the Console:

      - Metal: Editor support disabled, skipping device initialisation

      - Shader warning in 'TC_Compute.compute': Program 'NoiseIQNormal', warning X4714: sum of temp registers and indexable temp registers times 1024 threads exceeds the recommended total 16384. Performance may be reduced (on metal)


      - The exact same warning is given for these ‘Programs’:
      NoiseJordanNormal
      NoiseJordanSimplex
      NoiseSwissNormal
      NoiseIQNormal
      NoiseJordanNormal
      NoiseJordanSimplex
      NoiseSwissNormal


      - Error while reading window layout: window #10 is null UnityEditor.WindowLayout:LoadWindowLayout(String, Boolean)

      - (!) Finished updating scripts / assemblies


      A popup asked me to update the API: -> API update required.
      Clicked OK. Some of the above messages may have come after I did that.


    2. Added TC2 to the project via menu Window -> Power of Nature Software -> Terrain Composer 2
      The TC2 window reports that it cannot find a terrain, and will create a default terrain.

      In the Console I see these new warnings:

      - Kernel 'MethodAdd' not found
      UnityEngine.ComputeShader:FindKernel(String)
      TerrainComposer2.TC_Compute:OnEnable() (at Assets/TerrainComposer2/Scripts/Generate/TC_Compute.cs:93)
      UnityEngine.Behaviour:set_enabled(Boolean)
      TerrainComposer2.TC_NodeWindow:LoadDefault() (at Assets/TerrainComposer2/Scripts/Editor/TC_NodeWindow.cs:646)
      TerrainComposer2.TC_NodeWindow:OnGUI() (at Assets/TerrainComposer2/Scripts/Editor/TC_NodeWindow.cs:119)
      UnityEditor.DockArea:OnGUI()

      - UnityException: FindKernel failed
      TerrainComposer2.TC_Compute.OnEnable () (at Assets/TerrainComposer2/Scripts/Generate/TC_Compute.cs:93)
      UnityEngine.Behaviour:set_enabled(Boolean)
      TerrainComposer2.TC_NodeWindow:LoadDefault() (at Assets/TerrainComposer2/Scripts/Editor/TC_NodeWindow.cs:646)
      TerrainComposer2.TC_NodeWindow:OnGUI() (at Assets/TerrainComposer2/Scripts/Editor/TC_NodeWindow.cs:119)
      UnityEditor.DockArea:OnGUI()

    3. Open menu Edit -> Project Settings -> Player
      -> Under Settings for PC, Mac & Linux standalone
      Check Metal Editor Support (experimental)
      - popup saying Changing Editor Graphics Device
      -> click Apply

      No new errors or warnings appear in the console after that.

    4. Select “Terrain Area” in the hierarchy window. In the Inspector, click Create under Create Terrain.
      A default terrain with a sandy pebble texture appears in the viewport.

    5. Because I’m not sure if the support for metal is immediately active without restarting Unity, I save the project (and the scene), close Unity and re-open it.

      After reopening the project, the consols shows no messages at all. The viewport shows the initial terrain (with the sandy pebbles texture)

      Because the TC2 window remains completely black as in beta 5.6.0b1 I didn’t know what else I could try.
    EDIT - well, I could of course try and install the stamp package. Sorry, I didn't know I had to do that. Maybe it will work after I installed that.
     
    Last edited: Dec 24, 2016
    syscrusher likes this.
  23. _Luthien_

    _Luthien_

    Joined:
    Apr 24, 2015
    Posts:
    52
    With the stamps package included I still did not get it working. The TC window remains elusively black.
    I tried opening the builtin prefab files (tutorial and 'Animated Island") that generated some puzzling messages.
    Here's a screen capture of some of my fiddling around, in case it might be of some use.



    Note that I did not press the delete key as one of the error messages suggests :)
     
  24. sirgabriel

    sirgabriel

    Joined:
    Oct 5, 2016
    Posts:
    2
    @_Luthien_: axactly the same here. the most important setting (to get rid of any errors) was:
    I have never seen a node or anything else in the TC2 Window so far :(
     
    Last edited: Dec 24, 2016
  25. ZeonIr

    ZeonIr

    Joined:
    Feb 23, 2014
    Posts:
    15
    man soy many days past no update
    Streaming multi terrain.
    Streaming around the Camera generate pass system

    i wanna buy thes only when you get thos things in

    if we not getting new update tell end of December i go whit Map Magic World Generator and buy that
     
  26. MatthewHarmon

    MatthewHarmon

    Joined:
    Mar 5, 2015
    Posts:
    24
    Hi Nathaniel:

    Just started with TC2. As a long-time flight sim / terrain system developer, this is really a fantastic package.

    I'm having a problem with Object placement. I'm noticing that my objects aren't always placed at the correct elevation on the terrain. If I had to guess, I'd say it may be due to a math precision issue somewhere. The problem seems to be reduced as the scale of the terrain decreases.

    For example, if I create a terrain that is 20,000 units wide, the object placement is way off. A terrain of 5,000 units shows much, much less error in object placement.

    Any thoughts? I need to try and keep these scale values large if possible. (20,000 meter square terrain grids.)

    Matt
     
  27. hopeful

    hopeful

    Joined:
    Nov 20, 2013
    Posts:
    5,684
    That sounds like a good analysis of the situation to me.
     
  28. mons00n

    mons00n

    Joined:
    Sep 18, 2013
    Posts:
    304
    It's more likely related to the limited resolution of the detail map. I know the max splat map resolution is 2048x2048, so whatever the max resolution of the detail map is I bet it's far less than 20x20k.
     
    hopeful likes this.
  29. gghitman69

    gghitman69

    Joined:
    Mar 4, 2016
    Posts:
    93
    Hello
    Sorry to say this but why develop MAC while there is so much to do in the roadmap
    I find it too fast
    thank you
     
  30. mons00n

    mons00n

    Joined:
    Sep 18, 2013
    Posts:
    304
    Because people like me develop on a MAC and would greatly benefit from having TC2 fully functional? Just because something doesn't directly benefit you doesn't mean it isn't worth the time investment.
     
    syscrusher and _Luthien_ like this.
  31. Tiny-Tree

    Tiny-Tree

    Joined:
    Dec 26, 2012
    Posts:
    1,315
    it would solve lot of problems to make a cpu compute version,
    people with iris like discreet gpu ( arround 70 % of macs) could run it under metal compute shader?
     
  32. gghitman69

    gghitman69

    Joined:
    Mar 4, 2016
    Posts:
    93
    Hi mons00n no need to get excited but mac represent 6% of the market and there is so much to do on tc2 that we see not the end to arrive at the release
    Unity evolves , the bug too
     
  33. Tiny-Tree

    Tiny-Tree

    Joined:
    Dec 26, 2012
    Posts:
    1,315
    dont know where you get these number but they are totally wrong, there is tons a developers using macs, even unity was only mac compatible in its 1.0 version. there is more IOS games than desktop released everydays

    like monsoon said if that does not affect you, stay out of it.
     
  34. SuperNewbee

    SuperNewbee

    Joined:
    Jun 2, 2012
    Posts:
    196




    Does any know if there is a button or short cut key to select/deselect all of the grey squares? Am I overlooking some easy way to disable/enable all tiles?

    Also is there a way to remove the 625 tile limit?
     
  35. AndyNeoman

    AndyNeoman

    Joined:
    Sep 28, 2014
    Posts:
    938
    Any reply to fixing the splat texture problem?

    If you remove the generic splatts or reduce down to 4 splatts for performance on RTP etc it does not work well.

    Also any timeline on RTP integration would be a big help.

    This is on 5.5
     
    Arganth likes this.
  36. Mazak

    Mazak

    Joined:
    Mar 24, 2013
    Posts:
    226
  37. Tiny-Tree

    Tiny-Tree

    Joined:
    Dec 26, 2012
    Posts:
    1,315
    we are talking about developers/designer right ? the one using unity & terrain composer, not all grandpas who use computer to watch cat pictures

    not all global users, its like saying there is only 2 % of the population who can speak english so we should drop that language while you do the survey in china:rolleyes:
     
  38. Deleted User

    Deleted User

    Guest

    BUMP!
     
    AndyNeoman likes this.
  39. AndyNeoman

    AndyNeoman

    Joined:
    Sep 28, 2014
    Posts:
    938
    I suppose we can remove TC2 from the project once the terrain is completed and then use RTP or normal terrain tools.

    Not going to work if you need it procedural or when the streaming is implemented but i'm sure it will be fixed by then.

    Hope Nathaniel is well he is usually pretty responsive - To be fair it is the holiday season.
     
  40. nproject

    nproject

    Joined:
    Jan 16, 2015
    Posts:
    68
    Hi, I follow the tutorial videos about grass don't spawn inside rocks by using Masking > Terrain > Collision, Collision set to Object Layer and Collision Mode set to Mask but I got nothing. Can you help me?

    Here pic when I don't node masking, grass everywhere

    Here pic when I set Collision Mode set to Height, grass only appear inside stone

    Here pic when I set Collision Mode set to Mask, no grass at all
     
  41. MatthewHarmon

    MatthewHarmon

    Joined:
    Mar 5, 2015
    Posts:
    24
    I'm not using "Unity Terrain trees", but rather TC2's "Object Output" layer. As such, the detail map resolution shouldn't factor in. At some point TC 2 is trying to calculate the elevation at a given X/Z coordinate (all geometric calculations, nothing regarding maps) and I think this is becoming a precision issue.

    My worry is that he uses Unity's terrain.SampleHeight() and that the precision errors are actually internal to Unity.
     
  42. _Luthien_

    _Luthien_

    Joined:
    Apr 24, 2015
    Posts:
    52
    No worries. Unity itself is going to support Mac OS Metal shaders in the Unity editor which means that the software emulation that Nathaniel was initially planning to write to work around the problem is no longer necessary.

    PS note that this means that y'all can call stop the windows vs. mac bickering. Thank you :)
     
    Seneral likes this.
  43. MatthewHarmon

    MatthewHarmon

    Joined:
    Mar 5, 2015
    Posts:
    24
    Ok, more info: Perhaps the terrain elevation is being calculated in a compute shader based on the final heightmap output. Unfortunately this isn't "good enough" for large scale-factors. In TC_Generate I added a call to
    area2D.currentTerrain.SampleHeight() after the object is instantiated and that correctly snapped everything to the terrain.

    I'd suggest that this "geometric" calculation probably needs to be used to ensure accuracy for professional uses. Thank goodness the internal Unity calculation has the required precision.
     
    Last edited: Jan 5, 2017
  44. Fr2

    Fr2

    Joined:
    Jan 19, 2013
    Posts:
    39
    I've been experimenting with TC2 (great product) and would like to know how to create my own terrain stamps. Looking in Assets/TerrainComposer2/Examples/Stamps/Mountains I can see that each of the supplied stamps are simple jpg files. What is the usual way to generate my own (e.g. can they be made using OSM data?).
     
  45. AndyNeoman

    AndyNeoman

    Joined:
    Sep 28, 2014
    Posts:
    938
    You have to create a raw file and put it into RAW folder inside the stamps folder then the system makes a jpg file from it to use.
     
  46. Gibbonuk

    Gibbonuk

    Joined:
    Dec 10, 2013
    Posts:
    175
    Hi I have a couple of questions regarding TC.

    I already own the first version or which ever last version before TC2 and I currently use it for its runtime capabilities so I was wondering if I upgrade will it transition ok with my current code (or rather TC1's runtime code) (is it even still JS or c# now)?

    And my other one is not TC specific but I'm sure can be answered here, I use a splat to cover a terrain with 4 textures which are tiled 2 x 2. So 4 large images stretched...this obviously makes close up detail non-exsitant so is there a way to have some detail textures for close up? I believe another shader might needed, I own RTP but i could not find a way to do thi using RTP and I also think doing this at runtime complicates matters?

    Hope you can help
    Thanks
     
  47. eagle555

    eagle555

    Joined:
    Aug 28, 2011
    Posts:
    2,705
    Which version of Unity do you use? I have a patch for Unity5.5:
    https://www.dropbox.com/s/lyfcw2frlofvsma/TC2_Beta7k.unitypackage?dl=0

    I still need to finish the fix for the collision node as Unity inverted the depth buffer in 5.5, I will finish this tomorrow.

    If you don't use 5.5, can you show a screenshot of your TC2 window?

    Its called PlayWay water system:
    https://www.assetstore.unity3d.com/en/#!/content/47961

    Viking ship:
    https://www.assetstore.unity3d.com/en/#!/content/21550

    Snow is a feature of RTPv3 terrain shader:
    https://www.assetstore.unity3d.com/en/#!/content/5664

    Rocks are from Unity's free viking village:
    https://www.assetstore.unity3d.com/en/#!/content/29140

    Grass is included with TC2, textures are from TC2, RTP (sand), viking village and from this Asset that I used buildings from for desert and canyons:
    https://www.assetstore.unity3d.com/en/#!/content/11905

    Yes the trees are speedtrees. As far as I know Gaia doesn't generate random heightmaps, but they are pre made 1k resolution. With TC2 you have a complete noise library with even erosion like noises which you can use to create heightmaps. Also there are 4k heightmap stamps included, need to downloaded separately here:
    http://www.terraincomposer.com/terraincomposer2-documentation/#stamp-pack

    I have this almost ready, will post it here tomorrow. It's because Unity inverted the depth buffer in Unity 5.5 it doesn't work anymore as it should.

    TerrainComposer2 creates standard Unity terrain. Unity terrain works fine on mobile, but you need to limit resolutions and the amount of vegetation. World Streamer works on mobile. There's a good thread for it here:
    https://forum.unity3d.com/threads/the-secret-to-great-terrain-on-mobile.305899/

    Nathaniel
     
    Seneral likes this.
  48. eagle555

    eagle555

    Joined:
    Aug 28, 2011
    Posts:
    2,705
    I have a patch for Unity 5.5:
    https://www.dropbox.com/s/lyfcw2frlofvsma/TC2_Beta7k.unitypackage?dl=0

    Tomorrow I will post another one with the fix for the collision node due to Unity5.5 inverted depth buffer. That is strange, I have a demo included and default scales are fine. Can you show some screenshots? There's a overall grass scale multiplier in TerrainArea -> Grass tab -> at the bottom of the textures.

    You need this patch for Unity5.5:
    https://www.dropbox.com/s/lyfcw2frlofvsma/TC2_Beta7k.unitypackage?dl=0

    No this is not released yet. Things have gone a bit slower because we are in the middle of our game announcement. I will try to make the update this month.

    Can you test with beta7k patch if this is fixed?

    Nathaniel
     
    Seneral likes this.
  49. eagle555

    eagle555

    Joined:
    Aug 28, 2011
    Posts:
    2,705
    Well the stamps are included also a complete noise library with erosion like noises. For the noises I made many presets. Stamps can be downloaded from the documentation. TC2 window -> Menu -> Help -> Documentation:
    http://www.terraincomposer.com/terraincomposer2-documentation/#stamp-pack

    What I mean with uploading the update quicker is that I don't need to upload 700 MB with each update but only like 22 mb, which goes much faster. Also each update on TC2 on Asset Store would mean you have re-download the entire package. The roadmap eta is an indication, I will try to finish the update this month...

    You can use WorldComposer heightmap directly in TC2 as stamps as they have the same format:
    http://www.terraincomposer.com/terraincomposer2-documentation/#stamp-pack

    Creating terrains with TC2 from a WC export is planned for the next update, which I hope to finish this month.

    Thanks guys for testing. I wish I had a Mac to test it. It looks like there's something wrong with rendering the GUI, but I use these Unity build in methods for it GUI.DrawTexture and EditorGUI.DrawPreview texture, this should work. I think a return is happening from a conditional that checks correct initialization in TC_NodeWindow.cs (the TC2 main Editor window script).

    Code (CSharp):
    1.     void OnGUI()
    2.         {
    3.             ShowMessages();
    4.  
    5.             if (!correctSetup)
    6.             {
    7.                 TC.AddMessage("Can't load default project.\nThis file is needed -> TerrainComposer2/Defaults/TerrainComposer2.prefab.\n\n Please try to close and re-open the TerrainComposer window.");
    8.                 return;
    9.             }
    10.  
    11.             if (TC_Settings.instance == null)
    12.             {
    13.                 GameObject go = new GameObject();
    14.                 go.AddComponent<TC_Settings>();
    15.  
    16.                 TC.GetInstallPath();
    17.                 GameObject.DestroyImmediate(go);
    18.             }
    19.             else TC.GetInstallPath();
    20.  
    21.             if (TC_Settings.instance == null)
    22.             {
    23.                 if (!LoadDefault()) { correctSetup = false; return; }
    24.             }
    25.             if (TC_Settings.instance.global == null)
    26.             {
    27.                 if (!LoadDefault()) { correctSetup = false; return; }
    28.             }
    29.  
    30.             if (!TD.Init()) return;
    Maybe you can check where the return code gets executed?

    Nathaniel
     
    syscrusher and Seneral like this.
  50. eagle555

    eagle555

    Joined:
    Aug 28, 2011
    Posts:
    2,705
    Yes this is a bug that the height texture created with TC2 which is used to assign the heightmap float[,] array of the TerrainData, gives a different height then Unity terrain...I will make a quick fix for this in the update tomorrow...

    Yes no worries guys, as this was actually an issue with Mac that they are behind not to update OpenGL from version 4.1 (doesn't support compute shaders) to 4.3 the last 4 years. Instead they developed Metal which does support compute shaders and this is supported for Unity Editor already in Unity5.6 beta. That's why I decided to stop trying to make it work on DX9 as I needed to redo the entire shader code, which was a brain cracker to get the rules and preview textures work with infinite layers and layer groups, it would be slower as would need multiple draw calls for just 1 node, as can only read back to 1 render texture from normal shader. We are already at DX12/Vulcan and the first DX11 card was released almost 7 years ago in march 2010. Now you can buy a DX11 GPU for $35:
    https://www.amazon.com/EVGA-GeForce...1483820031&sr=8-1&keywords=nvidia+geforce+610

    Wow that's a lot of terrains, you use World Streamer or so for this? As without streaming I recommend to use not more like 5 x 5 terrain as each terrain has a bit of overhead, but at the same time it's better for culling.

    Yes RTPv3 integration is planned for next update, Tom the developer is working on RTPv4 which gets rid of the splat texture limitation, you can use like 70 splat texture with the cost of only 4 with DX10 texture arrays, this integration is also planned.

    I'm fine thank you. I haven't barely had any holiday, at the moment our team is in the middle of our game announcement. But now the hardest part is done, so I have more time to work more on TC2 again.

    Yes you can remove TC2 from the project as TC2 creates standard Unity terrains. Yes for TC2 streaming would still need to have it.

    For Unity 5.5 the collision node doesn't work correctly because Unity inverted the depth buffer. I will finish the fix for it tomorrow and will give a link to the patch here on the forum.

    Nathaniel
     
    Seneral and No0B25 like this.