I need help, advice or a point in the right direction.
I have an mesh object that I’ve exported from 3dsmax.
The image below is an example of the mesh.
The mesh has 2 material IDs. In terms of unity this means having 2 separate materials assigned to the same object.
Image A is the result. ID 1 is on the left and ID 2 is on the right.
What I want to do is create the effect shown in image B
Where the 2 material IDs meet they need to blend together. Similar to the terrain painting effect.
However nothing in this solution cannot be affected by the UV mapping. I intend to use the UV Free triplanar shader:
While I have not yet used the shader I’m certain that this also means that the shader is already defined and therefore a splat painter cannot be used.
Substance Designer/Painter is a standalone AND plug-in for Unity. It provides a lot of features not available to someone who uses standard texture processes. I’m pretty sure a substance (material?) does provide this functionality.
Look it up.
Alternatively - there is probably a couple shaders available on the asset store that provide this type of blending functionality.
I had a bit of a look at the substance designer, but without actually getting it, it is difficult to tell if it will do what i need to do. The problem that I see with it is that I think that the issue needs to be solved within unity. it doesnt matter if the blending works in an external program, once it gets put into unity the effects of that will be gone.
I’m not sure if the shader does do it. I have played around with the demo scene and I’ve looked at the documentation and I’ve seen nothing that will convince me. I suppose the only way to tell for sure is to buy it and see. I was really just hoping I could get some advice here before I start spending money.
Maybe if you detailed a little bit what your final outcome is - other people can chime in.
The functionality (real-time) you want is already in the terrain system in Unity. A user can blend textures, and there are a ton of shaders and tools on the asset store that provide this functionality. Substance also provides this - in Unity as a substance material. I believe shaders are the answer here.
What are you trying to accomplish? A real time blending solution for a tree trunk that will allow players to progressively grow moss up the side of the tree?
Well I’m not sure how to make it any clearer. The example above is all I need solving. I don’t need to overcomplicate it with any exact examples of how I will use it. If I import an fbx with a mesh with 2 material IDs there will be a solid line separating the 2 as showing in diagram A. I need there to be a blended line as shown in B.
I’m not using unity terrain because I’m using imported meshes and because I want to use the shader listed above it seems to me the shader I’m using is limited by its own features.
If you think that I could use a splat painter or unity vertex painter in conjunction with the UV free triplanar shader then that would solve my problem but from looking at those they seem to require their own shaders or custom version of their own shaders. I might be wrong but thats why I’m here looking for help.
By the way, the main reason I want to use the UV free triplanar shader is because i need it to map the UVs globally. The triplanar feature is just a bonus.
If you want to blend between two materials in Unity you must use a single actual material with a custom shader that does the blending for you, using something like a splat map or vertex colors to mask the area each “material” will appear. Triplanar shaders are actually kind of the same concept, they blend between 3 “materials” by the surface normal.
In this case really the “materials” your blending between are just a set of textures within a single material.
I think that is pretty much a brilliant explanation of how I assumed it worked. So was I correct when i said that the UV free triplanar shader I linked above would not work together with… well… for example this vertex painter youve linked here? If so can you see any way around it?
I just had a look at the tutorial video and I have to say this is an incredibly awesome tool. I could probably get away with not even using the the UV free triplanar shader if it were not for one thing I’m unsure about.
It was primarily the UV free aspect of that that I needed. I suppose this is what theAnimator2b was trying to find out but I will have several prefab meshes that need to slot together in runtime and tile seamlessly this is why I need some form of global uv mapping within unity and the UV free triplanar shader I was looking at seems to be the only way I could see of doing that.
I’m embarassed to say I’m failing at the 1st hurdle too… how do I install your VertexPaint? I looked around for something in the readme but I couldn’t see anything.
“UV-free” or world space triplanar shaders are fairly common. Jason Booth (the author of that VertexPaint I linked to) has his paid asset MegaSplat which is basically VertexPaint on steroids. I’m pretty sure there are other assets out there that can do vertex painting of world space triplanar textures too, but most just do a single texture, or texture by direction (top, sides, bottom) unless it’s for terrain where it’s much more common. Depending on what you’re doing MegaSplat might be overkill or perfect for your needs.
I suppose what I’m trying to understand is… Can I use this UV Free triplanar shader: https://www.assetstore.unity3d.com/en/#!/content/23425
with Jason Booth’s vertex painter?
Megasplat does seem like overkill although I did read that it has “Projected UVs” under additional shader effects, which sounds like what i might be looking for.