• 您的位置:金鑫彩票 > 新闻动态 > Unity3D

    UNITY3D动画模型的MESH COLLODER精确碰撞检测

    2019/8/8点击:

    有用户在使用WISEXMA动捕设备驱动人物动画模型时,动画的网格是实时变化的,UNITY3D提供了MESHCOLLODER碰撞检测的解决方法,虽然UNITY提供了这样的机制,但是不提倡使用,主要是碰撞检测的开销实在太大了~~~。动画模型的meshcollider核心方法是SkinnedMeshRenderer中有一个函数:BakeMesh。请看一下的代码实现:

    using UnityEngine;
    using System.Collections;
    
    public class dynaMesh : MonoBehaviour {
        public SkinnedMeshRenderer meshRenderer;
        public MeshCollider collider;
        // Use this for initialization
        void Start () {
        
        }
        
        // Update is called once per frame
        void Update () {
            Mesh colliderMesh = new Mesh();//内存泄漏
            meshRenderer.BakeMesh(colliderMesh);
             collider.sharedMesh=colliderMesh;
        }
    }