遇到的问题:SkinnedMeshRenderer是骨骼动画中,经过蒙皮处理的Mesh必须带有的组件。骨骼动画均通过这个组件控制Mesh的变化。有时候,开发者想要制作自定义和骨骼动画相关的及时特效(残影,拖尾),就想要通过程序获取SkinnedMeshRenderer中的Mesh。
操作前提:1.一个带有骨骼动画且在场景中运行动画的Prefab(预制体)
本文要获取的是如图橙色线包围的网格
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class TrailingMesh : MonoBehaviour {
private Material mat;
private Mesh Tmesh;
private GameObject TgameObject;
private MeshFilter mf;
private SkinnedMeshRenderer render;
// Use this for initialization
void Start () {
render = GetComponent<SkinnedMeshRenderer>();
TgameObject = new GameObject("TarlingObject");//特效对象
var mr = TgameObject.AddComponent<MeshRenderer>();//赋予材