Search Unity

[FREE]MicroSplat, a modular terrain shading system for Unity Terrains

Discussion in 'Assets and Asset Store' started by jbooth, Aug 9, 2017.

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

    jbooth

    Joined:
    Jan 6, 2014
    Posts:
    5,461
    Yeah, there's a procedural config scriptable object which holds all the data about the curves and such. You can programmatically adjust that data then call MicroSplatObject.SyncAll to sync all MicroSplat objects (terrains, meshes, etc) with the new data.
     
  2. Pheck

    Pheck

    Joined:
    Jul 9, 2009
    Posts:
    225
    I updated yesterday to 3.19 and also grabbed triplaner and am seeing the below error when i compile a windows build:
    I am using win10, unity 2019.3.2f1

    "Shader error in 'MicroSplat/Example': Fragment program 'frag_surf': Unrecognized sampler 'sampler_diffuse' - does not match any texture and is not a recognized inline name (should contain filter and wrap modes)."

    and this:

    "Shader error in 'Hidden/MicroSplat/Example_Base-1410978874': Fragment program 'frag_surf': Unrecognized sampler 'sampler_diffuse' - does not match any texture and is not a recognized inline name (should contain filter and wrap modes)."

    also seeing this is the player.log when i try to run the built game.

    "
    Shader 'MicroSplat/Example': dependency 'BaseMapGenShader' shader '/Example_Base1996141056' not found
    Shader 'MicroSplat/Terrain': dependency 'BaseMapGenShader' shader '/Terrain_Base-1531669547' not found"
     
    Last edited: Mar 20, 2020
  3. jbooth

    jbooth

    Joined:
    Jan 6, 2014
    Posts:
    5,461
    Are you using the example shader in your build or is this one you generated? It might just need to be regenerated with the latest code, which you can do by toggling about option on it.
     
  4. Pheck

    Pheck

    Joined:
    Jul 9, 2009
    Posts:
    225
    its the built in one I think, if that makes sense. the material called MicroSplat and whatever shader it has on it. I have regenerated it a few times for other reasons, no luck. I also did a roll back to what the project before updating and it doesnt show the error... not sure which version of MS I was on before though. I also tried removing the triplaner folder and it didnt change anything.
     
  5. jbooth

    jbooth

    Joined:
    Jan 6, 2014
    Posts:
    5,461
    The folder being there or not won’t make a difference; the shader gets generated when you change an option on it. So your saying this is the example in core? And it only happens when you build?
     
  6. Pheck

    Pheck

    Joined:
    Jul 9, 2009
    Posts:
    225
    Its the material in microsplatdata, its using microsplat/terrain. the shader generator says its v3.1
    When I cause a generation to happen, it completes and doesnt report any errors. its only on build that it does.
    The build is a standard windows il2ccp build x86_64. no other settings on.
     
  7. jbooth

    jbooth

    Joined:
    Jan 6, 2014
    Posts:
    5,461
    I'll see if I can repro.. Though you still didn't really answer which shader it was- if it's a custom one you generated and if not which one of the examples, because there's one in every module. Also, is it actually causing an issue, or just spamming your console with an error?

    Nope, doesn't repro for me - everything built fine (once with just core, once with all kinds of stuff turned on)
     
    Last edited: Mar 23, 2020
  8. Meceka

    Meceka

    Joined:
    Dec 23, 2013
    Posts:
    423
    Hello. Microsplat Terrain Hole Module has this feature;
    "Water Level Clipping, allowing you to remove terrain below a certain world height"

    We don't need any terrain holes. But does this Water Level Clipping feature help with performance with reducing calculations to underwater areas? Or does it also have an additional cost because of transparency?

    If it helps, we may use this module just for the clipping feature to help with performance.
     
  9. jbooth

    jbooth

    Joined:
    Jan 6, 2014
    Posts:
    5,461
    It's not transparent, it's discarding the pixel before any pixels are computed. If a lot of your terrain is under water and you can't see it, then it can help by avoiding calculating the terrain texturing in those areas.
     
  10. Meceka

    Meceka

    Joined:
    Dec 23, 2013
    Posts:
    423
    Not a lot really. We have 4 terrains and 2 of them are islands that have rectangular unity terrain but islands aren't using all area of that rectangle, around 20% of those terrains are underwater. Those underwater areas only visible when player is close to the shoreline. And 1 terrain doesn't have any water.

    Do you think it will help in this case? Even though it's a very small performance boost if it doesn't have any additional cost I will just use that.

    Thanks.
     
  11. jbooth

    jbooth

    Joined:
    Jan 6, 2014
    Posts:
    5,461
    Hard to say, and it's not something easy to toggle on/off based on player position or something, so it's really only viable if the player will never see the terrain under the water. And I have no idea where you're bottlenecked in your game. If you haven't watched my optimization videos on YouTube and read the optimization guide in the Core/Documents folder, do that stuff first..
     
  12. Meceka

    Meceka

    Joined:
    Dec 23, 2013
    Posts:
    423
    I watched a few. Will watch again. Thank you.
     
  13. Pheck

    Pheck

    Joined:
    Jul 9, 2009
    Posts:
    225

    its the "microsplat/terrain" shader... as mentioned before.
    I think you need to explain what you mean by generated or built in shaders. I have a material, it has microsplat/terrain at the top... thats the shader. If you mean something else, like a combination of settings and something the code does to generate some hidden shader, then you need to educate me on how to tell you what you want.

    Yes, the compile issue is causing issues with unitys ability to load shaders via scripts. they are failing with that issue present and worked before.

    In case you mean some internal semantic of a "shader" within your code, here is the inspector.
    upload_2020-3-23_17-35-53.png
     
  14. jbooth

    jbooth

    Joined:
    Jan 6, 2014
    Posts:
    5,461
    If you are loading a shader via code (say Shader.Find("MicroSplat/Terrain", then you need to give the shader a unique name. MicroSplat is a shader generation system, so you could have a dozen shaders named MicroSplat/Terrain in your project. But what you described before was getting a compile error, not loading the shader via code. Why would you ever need to do that anyway?
     
  15. Pheck

    Pheck

    Joined:
    Jul 9, 2009
    Posts:
    225
    loading is the wrong word, I am just creating a material with a specific shader.
    I am not trying to load a microsplat shader from code, I am loading other shaders i have in teh project with code. its just the microsplat shader thats throwing the error and the loading from code issue only happens on the latest microsplat version. If I remove microsplat from the project it also fixs the issue, but thats not exactly the goal. hehe :)
     
  16. jbooth

    jbooth

    Joined:
    Jan 6, 2014
    Posts:
    5,461
    One shader cannot effect another this way, and the error you've given is a compile time error, but the issue your describing is a runtime issue- so I'm not sure why you think they are related.
     
  17. Pheck

    Pheck

    Joined:
    Jul 9, 2009
    Posts:
    225
  18. Pheck

    Pheck

    Joined:
    Jul 9, 2009
    Posts:
    225
    Its related because the only variable that changes is microsplat.

    Regardless, there are two compile errors caused by microsplat. Seems reasonable to track down and fix. :)
     
  19. jbooth

    jbooth

    Joined:
    Jan 6, 2014
    Posts:
    5,461
    So what happened is that you moved MicroSplat into the Plugins directory, which means all the data in there will get included in a build, used or not. So that's a pretty bad idea to begin with, because the Plugin's directory is special in Unity, so you're including all kinds of stuff your game isn't running.

    Second, you have an old version of MicroSplat. but because you've changed the folder it's in, it doesn't import the fragment files when you do an import of the new version from the store. I'm assuming this is because their file paths don't match, though maybe there's another reason it thinks you can't update them? You'll notice that they are unchecked when you do an import of the new version, and if you check them, the interface just unchecks them again. If you delete the fragment folder, then it will let you install them.

    Once ALL the files are updated to the new version, you can regenerate the shader by changing an option on it and everything works correctly.

    Moral of the story:

    1. Don't put stuff into a plugins folder if they aren't supposed to be there, this folder has meaning in Unity.
    2. If you do something like that, include that information into the repro, because then we wouldn't have spent 2 days going back and forth on it and I wouldn't have spent 40 minutes setting up a debug case that didn't repro, downloading your version and digging through the code to see what was wrong.
    3. If updating from the store, the easiest thing is always to delete the asset and reimport it. If you're going to import it without doing this, make sure it says it's going to import all the files.
     
  20. Pheck

    Pheck

    Joined:
    Jul 9, 2009
    Posts:
    225
    please slow down a little, your getting details wrong and turning accusatory.
    1 - The folder was put in the "Plugin" folder, not "Plugins" folder. I understand the "Plugins" folder is special, its not being used in this scenario. In my observations related to builds, the "Plugins" folder is NOT included, which is the inverse of what you mention. Its also compiled separately from game code which improves compile times while working. Your right that the plugins folder does different stuff in unity from a normal folder though. If you believe I am wrong on the above, I would appreciate your source so I can better understand why I see what I see and what i find in documentation. (thanks)
    2 - moving the microsplat folder out of "Plugin" in the repro project still repros the build compile issue.
    3 - this repro project is a clean empty project with a fresh download of microsplat from the asset store. if you see reasons why it may be out of date, please check what you have uploaded to the store, maybe the uploaded shader needs regenerating before upload and is out of date in the source. If you see whats on the store is up to date, then I would recommend using any contacts you have with Unity to let them know your updated files are not what people are downloading. To triple check, I just deleted everything again and reimported everything again in the test project and without touching anything about its location etc, and it still repros the issue. If the shader needs to be regenerated after first download, I would recommend integrating that into the editor code to force that to happen to avoid this issue for clean downloads.
    4 - regenerating the shader in the empty project helped the issue go away in the empty project. The issue still repros in my larger project though. The fact still remains that while it compiles at editor time correctly, its a compile bug coming from microsplat at build time. Working with microsplat in a project its near impossible to have not regenerated the material/shader, every-time i touch it, it attempts to generate again. In case you are generating differently than I am, here is what I see is a regeneration. I select a material with microsplat, i touch a property in the microsplat inspector interface. Unity reimports shaders. done. or is that not enough for the microsplat system to fully regenerate?

    Your not the only one who is losing measurable time to this bug in microsplat/unity?. The fact i could repro it so easily, but you couldnt raises questions either about the repro efforts, or about what unity is doing with files that caused the repro difference. That is why i took the time to create a clean empty repro using asset store latest to share with you. As a asset store presence, this should be very concerning we appear to not see the same files from the store on afresh download... and maybe it is concerning to you and needs to be fixed in unity. I understand your visible frustration with asset store support process, its often more frustrating than we want. I too have sold tools on the store and been frustrated by the cycle. I normally dont reach out to people about these things, but since its a build issue that is 100% repro across multiple machines in my house, plus was presenting new issues in the same builds else how during binary tests, I thought you would want to fix it before it hit more people.
     
    Last edited: Mar 24, 2020
  21. jbooth

    jbooth

    Joined:
    Jan 6, 2014
    Posts:
    5,461
    The fragment files you included in your repro do not match the ones on the store. Deleting these files and downloading the correct ones from the store fixes the issue. You might have an old version stuck in the cache on your machine, for all I know, but you don't have the latest version.
     
  22. Vad3rInHale

    Vad3rInHale

    Joined:
    Apr 19, 2015
    Posts:
    96
    Hi Jason, I've been making the rounds again for Microsplat, and think I'm going to continue using it for my Oculus Quest project. I was wondering the extent to which Microsplat has been tested and verified working with the 'Terrain Tools' package for Unity. For me, it is pretty much a must-have in my project, but I am having trouble getting Microsplat to incorporate new textures I've added. The Tools use a 'Layer Palete' with Terrain Layers, and when I add a new one to the palette and paint onto the Terrain, Microsplat doesn't update or add it to the material/shader.

    I've tried putting the texture into the config, hitting the 'Sync All' button, but the material that has indexes doesn't seem to add anything new. I know the texture is being painted, because when I swap the terrain shader for the default diffuse, the texture shows. Have you tested or integrated with these tools any?

    Would me renaming the Microsplat material & config cause any issues like this?

    Edit (Solution): Okay, I renamed the config and that's what broke things :p

    Thanks for your help and attention,
    Alex
     
    Last edited: Mar 25, 2020
  23. Rastapastor

    Rastapastor

    Joined:
    Jan 12, 2013
    Posts:
    589
    Reference shot from World Creator. Terrain created with World Creator + Gaea + Gametextures.

    In Unity obviously Microsplat + First try of Enviro HDRP beta :).
     

    Attached Files:

    • 1.png
      1.png
      File size:
      2.3 MB
      Views:
      478
    • 2.png
      2.png
      File size:
      2 MB
      Views:
      478
    • 3.png
      3.png
      File size:
      2.3 MB
      Views:
      473
    • 4.png
      4.png
      File size:
      2.4 MB
      Views:
      477
    • Reference.jpg
      Reference.jpg
      File size:
      861.3 KB
      Views:
      482
    Stardog likes this.
  24. jbooth

    jbooth

    Joined:
    Jan 6, 2014
    Posts:
    5,461
    Likely not going to do that as I'll be dropping LWRP support except for LTE versions soon, which basically means 2018.4 only, and 2019.4 will be URP.
     
  25. Rastapastor

    Rastapastor

    Joined:
    Jan 12, 2013
    Posts:
    589
    First image is a reference from World Creator. Rest are from Unity. Terrain made with World Creator + GAEA + Gametextures. In Unity i used Microsplat and Enviro HDRP.
     

    Attached Files:

    • 1.jpg
      1.jpg
      File size:
      888 KB
      Views:
      482
    • 2.png
      2.png
      File size:
      3.3 MB
      Views:
      470
    • 3.png
      3.png
      File size:
      3.2 MB
      Views:
      477
    • 4.png
      4.png
      File size:
      3 MB
      Views:
      498
    • 5.png
      5.png
      File size:
      3.1 MB
      Views:
      463
    camta005 and jbooth like this.
  26. algorithmicvertex

    algorithmicvertex

    Joined:
    May 22, 2016
    Posts:
    8
    Great now I bought your other modules, and you are neither clearly stating what versions of Unity and LWRP are supported, nor will you fix this tool. Mind issuing a refund? The description says:
    This module adds support for targeting the Universal Render Pipeline (2019.3+) or Lightweight Render Pipeline shipping (2018.3-2019.2), and works for all MicroSplat modules. Render Baking to textures is currently not supported.

    Clearly Lightweight Render Pipeline shipping (2018.3-2019.2) is not accurate.
     
  27. jbooth

    jbooth

    Joined:
    Jan 6, 2014
    Posts:
    5,461
    The version for 2019.2 is LWRP 6.9.1. At the time, it was unclear what Unity's release plan regarding packages was- I had no idea they'd release multiple versions that were incompatible during a single Unity release version, and Unity only provides a way to provide separate assets for Unity versions, not package versions- so there's no way for me to upload a version specifically for whatever version of the LWRP you are running, only Unity versions. I currently have to port changes to A version for 2018.3, 2019.1, 2019.2, and 2019.3 - but since there are multiple versions potentially for each, this is the kind of issues you run into with all LWRP/URP/HDRP assets. If I make this work on another version of the LWRP for 2019.2, I'll break it for someone else who's running a different version under 2019.2.

    The whole SRP strategy is poorly thought out by Unity, and a giant mess.

    I'd update the description, but Unity is currently taking over a week to update a description on an asset and by that point the 3.2 release will be submitted, which is going to drop support for all non-LTE versions except for a version for the current release cycle. (IE: in 2020.2, I'll support one version of each SRP for that version of Unity, but drop support for 2020.1).

    If you want stability, don't use a render pipeline, and if you do, stick to an LTE release. I suspect most other assets will start following this type of strategy soon too, because currently the amount of work to even attempt to support SRP's properly is insane. That said, I don't have an issue doing a refund.
     
    one_one likes this.
  28. jbooth

    jbooth

    Joined:
    Jan 6, 2014
    Posts:
    5,461
    Well, you decided to bash me in the review system instead. You can forget a refund then.
     
    BrettNexefy likes this.
  29. Rastapastor

    Rastapastor

    Joined:
    Jan 12, 2013
    Posts:
    589
    If u are using assets from asset store and u plan to do a 'real' project, don't use the SRP, even in my hobby work i have constant issues with it, more than half assets i own do not work correctly with it and it takes a lot of time for asset devs to keep up with the changes.

    That said i want to defend Jason, i personally never had issues with him and his support, just be calm and work out the issues. A lot of my stuff i raised to him was my fault :p, but some he fixed on the spot in a matter of minutes (i am using discord :) ), but sometimes one has to wait for next or next next version, its only one person working on it so its impossible to fix all world problems in one day :). If you dont want to have issues with asset developer keeping up with SRP versions, create your own shader/asset/script.

    What i can suggest is try to create a clean project on the version of Unity u want and clean import all modules of Micro u need and see if the issue persists, perhaps in the import process u could F*** up somewhere (it happened to me lately with Enviro and reimoprting it fixed my issues).

    Also be real and understand the developers that the current SRP is a mess to maintain for them, i wouldn't even be surprised if they ditch SRPs completly unless Unity stabilize them to the point they dont have to maintain 13123123 versions of the same product.

    My 3 cents in this debate, what i can say is to stay calm and all will be good :)
     
    gecko and Marco-Sperling like this.
  30. Rastapastor

    Rastapastor

    Joined:
    Jan 12, 2013
    Posts:
    589
    First image reference from World Creator. Rest are from Unity. Terrain made with World Creator + Gametextures. In Unity i used MIcrosplat and Enviro HDRP. First time i think i got better shot in Unity than in World Creator. Microsplat and Enviro FOR THE WIN!!!! :)
     

    Attached Files:

    • 1.jpg
      1.jpg
      File size:
      2.1 MB
      Views:
      459
    • 2.png
      2.png
      File size:
      2.7 MB
      Views:
      479
    • 3.png
      3.png
      File size:
      2.6 MB
      Views:
      503
    • 4.png
      4.png
      File size:
      2.7 MB
      Views:
      467
  31. hippocoder

    hippocoder

    Digital Ape

    Joined:
    Apr 11, 2010
    Posts:
    29,723
    In response to reports from multiple people, I've cleaned up the thread as someone was trying to harass the asset author for a refund. We've taken steps to ensure this behaviour remains unacceptable.
     
  32. Rastapastor

    Rastapastor

    Joined:
    Jan 12, 2013
    Posts:
    589
    Both terrains made purely in World Creator PRO Standalone. Unity HDRP, Terrain shader - Microsplat, Light and atmosphere - Enviro HDRP beta. Textures from Gametextures.

    Screenshot Companion to make screenshots :)
     

    Attached Files:

  33. jbooth

    jbooth

    Joined:
    Jan 6, 2014
    Posts:
    5,461


    How to make a gulf course or smooth paths using MicroSplat's new Curve Weights per texture property.
     
    Meceka, sylon, camta005 and 3 others like this.
  34. PrecisionCats

    PrecisionCats

    Joined:
    Nov 19, 2017
    Posts:
    40
    Last edited: Mar 31, 2020
    RagingJacob, jbooth and blacksun666 like this.
  35. jbooth

    jbooth

    Joined:
    Jan 6, 2014
    Posts:
    5,461
    So, just looking over the code, why does this need to be specific to MicroSplat? It leaves the original textures on the terrain (but has an option to shrink them to 32x32 textures so they don't take much memory) so you can query them through the terrain API as normal. The idea was to leave any other tool which works with the terrain operating as normal, without needing anything custom for MicroSplat.
     
  36. Rastapastor

    Rastapastor

    Joined:
    Jan 12, 2013
    Posts:
    589
  37. PrecisionCats

    PrecisionCats

    Joined:
    Nov 19, 2017
    Posts:
    40
    I've never really used terrain I was just coding this for fun mostly, but now I see that I was mistaken in how it works :confused:

    So those textures that are stored in the terrain layers are preserved in a runtime build? In microsplat I'm guessing you don't use them, they're just for the Terrain inspector mostly, but instead you use a Texture Array? I guess I'll have to hope they remain

    Well it seems to work now without any MicroSplat specific stuff
     
    Last edited: Mar 31, 2020
  38. jbooth

    jbooth

    Joined:
    Jan 6, 2014
    Posts:
    5,461
    Yeah, if you remove them completely, the Unity starts acting differently in how it renders terrain, and other tools in the pipeline wouldn't have the data they need. So there's an option on the TextureArrayConfig which will shrink them so they don't take memory, but it's off by default in case you are texturing other things with them. One of the lessons I had from MegaSplat, which kind of replaced the whole texturing system for terrains in Unity, was that doing so meant supporting everything you might ever need for terrain- so the idea with MicroSplat was to not break compatibility with anything unless I absolutely needed to. When doing asset store stuff, you have to be very defensive around what will cause you support requests, and try to provide a complete solution for a single problem that doesn't require additional work from other assets. So that's kind of the philosophy behind the choice here.

    So what you could do with your script is just read the texture name from the terrain API and then it would work regardless of what shader is being used, which makes it even more useful. Thanks fo sharing!
     
    RagingJacob likes this.
  39. PrecisionCats

    PrecisionCats

    Joined:
    Nov 19, 2017
    Posts:
    40
    So by that you mean this right?:
    Code (CSharp):
    1. terrain.terrainData.terrainLayers[terrainIndex].diffuseTexture.name
    It works, I just want to be sure
     
  40. jbooth

    jbooth

    Joined:
    Jan 6, 2014
    Posts:
    5,461
    Yup..
     
  41. Rastapastor

    Rastapastor

    Joined:
    Jan 12, 2013
    Posts:
    589
    camta005 likes this.
  42. niallmc

    niallmc

    Joined:
    Sep 3, 2015
    Posts:
    44
    hey @jbooth

    So I've got multiple terrains for performance reasons. I have the Microsplat UV space set to World and normally there are no seams at the edges where terrains meet.

    However, I need to be able to edit the terrain at runtime, if I edit right at the edge of 1 terrain it creates a seam between the 2.

    This only happens when tessellation is turned on. Any ideas how i can have no seams but keep tessellation on?




    I think you talked about this before: "If they are different textures, then they wouldn't have the same height values, and therefor wouldn't have the same displacement and would show a crack - they would also have a texture seem in them if you were not using tessellation. A shader cannot easily know about the terrain next to it (you'd have to do some funky thing to pack the edge textures so that it knew about the edge of the 8 possible terrains it would intersect with, then figure out if it's an edge and sample all that data to do the blend - not trivial, and better solved by ensuring that the edges have the same terrain terrain weights on them, which also fixes texture seems as well)."


    Is there any more possible info on this subject? as it's really the only blocker left we have to use Microsplat in our full release.
     
  43. jbooth

    jbooth

    Joined:
    Jan 6, 2014
    Posts:
    5,461
    I mean, if you set both terrains to the same height then it should be fine- unless you are relying on precomputed data, like a cavity map or per pixel normal map.
     
  44. niallmc

    niallmc

    Joined:
    Sep 3, 2015
    Posts:
    44
    Apologies, I'm talking about editing the splatmap at runtime. My per texture tesellation offsets then mean there is a gap at the seam. Is there any known ways to be able to edit the spatmap at the terrain seam and have it blend correctly with neighbour terrain?

    Tessellation:
    Gap.JPG

    No Tessellation (still get a hard texture edge at terrain edge):
    NoGap.JPG
     
  45. jbooth

    jbooth

    Joined:
    Jan 6, 2014
    Posts:
    5,461
    Yeah, you have to edit both terrains to match, so they have the same splat value on both sides.
     
  46. niallmc

    niallmc

    Joined:
    Sep 3, 2015
    Posts:
    44
    @jbooth thanks, there's a problem with this though.

    I edit the ground on one terrain, right up to the edge, lets say at z position 100 (but no farther)
    If I then edit the second terrain in code at z position 0 to match, it will work correctly. However the area I edited is now 1 larger than before (it includes z pos 100 on terrain 1 and zposition 0 on terrain 2), does this make sense?

    I have created an image below to explain. Any idea how I can edit the area to be the correct size at the edge of 1 terrain, without having to add a buffer onto the next one?

    edit.jpg
     
  47. jbooth

    jbooth

    Joined:
    Jan 6, 2014
    Posts:
    5,461
    I don't think there's any particular magic here - the control textures are set to clamp, so they have to have the same value on both sides to match. The unity tools would have to ensure this as well.
     
  48. jbooth

    jbooth

    Joined:
    Jan 6, 2014
    Posts:
    5,461
  49. Rowlan

    Rowlan

    Joined:
    Aug 4, 2016
    Posts:
    4,267
    Thanks to Jason for letting me check out Trax, I had a lot of fun today with it. It's awesome, I thought I'd share some initial videos :D

    Here's Trax with heavy snow and heavy on the post processing colors:



    And here's lighter snow and lighter post processing colors so that you see the track better:

     
    niallmc, gavriloP, camta005 and 6 others like this.
  50. niallmc

    niallmc

    Joined:
    Sep 3, 2015
    Posts:
    44
    Hey @jbooth

    Firstly, trax looks amazing, will be buying first thing.

    I'm having another, separate issue with terrain's meeting at the edge.

    In some places where the terrain meets, one of the terrains appears to have a harsh 'normal' right at the edge. I've turned off the per texture normal's, the normal noise, made sure the terrains are same height and same texture.

    Any idea what's causing these lines in some places? normal.JPG
     
Thread Status:
Not open for further replies.