您的位置:首页 > 新闻动态 > 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;
    }
}