26
2013
Mesh Terrain Texturing/SplatMap Tool (wip)
Small editor plugin for creating splatmap/splatmask for mesh based terrain. (not terrain object)
Current features:
– Create splatmap based on face angles (adjustable slope angles)
– Texture painting (paint to any layer R, G, B, A)
– Obstacle detection (if collider is founded on mesh, different material is splatted around it, with custom radius. See main image, different texture around objects)
– Custom shader (4 textures, splatmask RGBA)
– Splatmap can be any resolution (low resolution works quite nicely too, if blurred)
– Gaussion blur function (adjustable strength)
– Basic random instantiate to mesh surface (pick prefab, enter amount)
– Texture paint: with custom brush (any texture)
– Texture paint: Circle brush, size, strength (alpha)
– Live preview (lower resolution) when adjusting splatmask generation angles
– Esc key to stop painting mode
– Collision mask: Enable/Disable checking, Layer dropdown for collision objects layer selection
– Extras: Plain color shader (instead of textures)
–
—
CURRENT BUG / TODO LIST:
– Mask texture is not saved when texture painting on it
– Mask texture gets cleared from the shader if you enter Play mode (need to manually assign it to SplatMask – slot)
– Doesnt work with non-square mesh (Can be fixed with couple lines)
– Doesnt work with hills over 200m (Can be fixed with couple lines)
– Playmode clears values..
– Mousepanning gets stuck if in texture paint mode (have to press play/stop)
– Missing editor undo support
– Custom brush resize (currently texture size is used directly)
– Could have bake to vertex colors and vertex color mask shader
– If terrain is over 65k vertices and gets splitted, problems..
– Needs cancellable progress bars for various actions..
– Separate user texture painting/drawings texture (so it wont get cleared when splatmask is re-generated)
– Add normal maps support for shaders
– More to be added..
—
TODO:
– User could select which layer is used for object collider checking
– Extra custom layer mask (so that user painted splats wont disappear if splatmap is regenerated)
– Realtime previews for adjusting mesh slope angles
– Gaussian blur for invidual channels?
– Could bake ambient occlusion also? Or some lighting stuff?
– Extra channels on shader? 4 materials is not enough?
– Needs some height adjustment also (mountain tops different material?)
If this works, will try to put it in store later.. Let me know if you have request/ideas for features.
—
See also Grass maker (wip)
—
—
Images, from work in progress:
— 2014 —
Current inspector features:
—
Testing shader with 4 textures 4 normals:
Related Posts
17 Comments + Add Comment
Leave a comment
Recent posts
- [GreaseMonkey] Unity Forum Fixer
- UnityHub: Make Hub application background Translucent
- Customize SpriteShapeRenderer quality (but has issues)
- Editor tool: Copy selected gameobject’s names into clipboard as rows (for Excel)
- Editor tool: Replace string in selected gameobject’s names
- UnityHub: Enable built-in Login Dialog (no more browser login/logout issues!)
- Use TikTok-TTS in Unity (with WebRequest)
- Create Scene Thumbnail Image using OnSceneSaved & OnPreviewGUI
- webgl+javascript TTS
- Using Moonsharp (LUA) + Unity Webgl
- Using 3D gameobject prefabs with Unity Tilemap + NavMesh Surface
- Custom Unity Hub Project Template Preview Image/Video (using HTML+CSS in package description)
Recent Comments
- Vector3 maths for dummies! on
- UnityHub: Make Hub application background Translucent on
- UnityHub: Make Hub application background Translucent on
- Install Android SDK+JDK+NDK for Unity (without AndroidStudio or Unity Hub) on
- Install Android SDK+JDK+NDK for Unity (without AndroidStudio or Unity Hub) on
- [Asset Store] Point Cloud Viewer & Tools on
- [Asset Store] Point Cloud Viewer & Tools on
- ffmpeg stream raw video into Unity Texture2D on
nice, i need a tool like this!
Great, any progress on this? I would certainly make good use of it. 🙂
i guess i can add “early bird” version here in few weeks,
preparing the store ready version is going to take quite some time still.
Very interesting. I really need something like this. I’d buy already the alpha 🙂
Please, let me know if interested.
ok, its coming up next week.
Hi, any news? Did you release it on the asset store?
oh, last week was already ‘this week’ 🙂 i’ll put it in the blog before this coming sunday.
(plenty of bugs to fix, features to add before asset store, so that is still long way to go)
Thank you, I’ll be very happy to help you improving the product, bug tests, etc.
“shader that blends 16 different textures from a texture atlas
with a blending mode based on titans quest”
http://forum.unity3d.com/threads/227649-Atlas-Terrain-Shader
Diffuse_Specular_Normal_Splatmapped shader:
http://forum.unity3d.com/threads/181486-Shader-Experiments
“Landscape creation and rendering in REDengine 3”
http://www.gdcvault.com/play/1020197/Landscape-Creation-and-Rendering-in
painting with normal map:
http://forum.unity3d.com/threads/solved-displacementpaint-texturing-using-a-displacement-map.256118/
reading .raw heightmap: (could be useful to be able to generate terrain mesh from heightmap also)
http://answers.unity3d.com/questions/478759/how-are-the-bytes-in-a-16bit-heightmap-organized.html
[interesting video] ‘Ghost Recon Wildlands’: Terrain Tools and Technology:
http://www.gdcvault.com/play/1024029/-Ghost-Recon-Wildlands-Terrain
this project source code now available here
https://github.com/unitycoder/MeshSplatTools
Hi! Amazing job: it’s really impressive! Do you have any documentation on how to use it?
I am not being very able to apply the splat texture on custom obj (i am proably missing something quite obious but I am not bein able to figure this out!).
I opened your example scene, added my .Obj, attached the MeshSplat Tool and try to apply it. The texture only applies to teh “meshterrain_lite” object that is there by default, but not to my object!
Thanks anyway, again, amazing job!
Sir can you provide me custom splatted mesh Terrain Shader?