- Home /
Getting material from triangle returns wrong material
Hi
So I've been trying to get the material from specific triangles on my meshes and it sorta works. I am not really sure what works and what doesn't. When it do work it gives me the right material but when doesn't it returns a material that is somewhere else on the mesh.
My conclusion is that the bigger the mesh the more problems. For example, I had a simple plane that I created using ProBuilder which had 4 materials assigned to it. When I got the materials it always returned the correct material. But then I went ahead and created a simple level with the same materials and now all of sudden it doesn't work very well. Like there is some corner of the level that somehow returns a different material when the other face next to it, which has the same material, returns the right material.
So here is the code. It is based off the answer of this question located at StackExchange.
MeshCollider collider = groundHit.transform.GetComponent<Collider>() as MeshCollider;
Mesh mesh = collider.sharedMesh;
int limit = groundHit.triangleIndex * 3;
int submesh;
for (submesh = 0; submesh < mesh.subMeshCount; submesh++)
{
int numIndices = mesh.GetTriangles(submesh).Length;
if (numIndices > limit)
{
break;
}
limit -= numIndices;
}
Material mat = collider.GetComponent<MeshRenderer>().sharedMaterials[submesh];
Since I am not very familiar with working with meshes I naturally don't understand this fully and this is pretty much my only chance.
Any help is greatly appreciated with this! And if more information is needed, please ask for it and I'll try to deliver!
Thanks
Is there anyone that would be able to help me with this? Pretty please? I've been playing around with the code and go nowhere. I eventually just broke it so I went back to this.
I don't really like bumping a post but I really need help with this.
I'm afraid I don't have any direct experience working with multi-material meshes (yet), so I can't offer specific help, but is this what you're looking for?
http://answers.unity3d.com/questions/291853/raycasthit-triangleindex-and-submeshes-which-subme.html
Thanks but I've already tried that too but that just gave me the same results.
Your answer
Follow this Question
Related Questions
Mesh Clipping / Cross Sections 1 Answer
Apply new complex fbx to saved prefab 0 Answers
Materials on an imported mesh 1 Answer
White artifacting bordering mesh triangles 0 Answers
Color triangle on mesh 3 Answers