Hello.
I use FBX model on Unity.
The FBX model has some bones include named “Body”
it is definitions of SkinnedMeshRenderer and MeshCollider on C#.
private SkinnedMeshRenderer renderer;
private MeshCollider collider;
I also attached MeshFilter and added some codes in the Start().
void Start () {
renderer = gameObject.GetComponent<SkinnedMeshRenderer>();
collider = gameObject.GetComponent<MeshCollider>();
Mesh meshFilter = gameObject.GetComponent<MeshFilter>().mesh;
collider.sharedMesh = meshFilter;
It is code snippet about modifying bone.
After that It will change mesh.
foreach (Transform bone in renderer.bones) {
if (bone.name == "Body") {
bone.position = Vector3(x, y, z); // variable x, y, z are assigned some values
}
}
then, MeshCollider didn’t change.
So, I also would like to change the MeshCollider according to the Body bone.
I saw the URL
http://forum.unity3d.com/threads/32467-How-to-update-a-mesh-collider
I added the scripts below. but not work
void LateUpdate () {
renderer = gameObject.GetComponent<SkinnedMeshRenderer>();
collider = null;
collider = gameObject.GetComponent<MeshCollider>();
collider.sharedMesh = renderer.sharedMesh;
}
Could you tell me how to write codes?
I’m afraid my English isn’t understandable