您当前的位置: 首页 >  unity

Jave.Lin

暂无认证

  • 5浏览

    0关注

    704博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

unity - Snapshot a model to MeshRenderer - 快照一个模型到MeshRenderer

Jave.Lin 发布时间:2019-05-25 18:15:32 ,浏览量:5

Code

将以下脚本添加到一个带有Aniamtor Component的模型GameObject上,在Game视图按下"S"键,就可以看到模型给快照了一份出来

模型要有位移,何移动动画,这样就可以看到快照在原地的样子

using System.Text;
using UnityEngine;

public class TestingAnimatorAPI : MonoBehaviour
{
    private MeshRenderer[] meshesRenderer;
    private SkinnedMeshRenderer[] skinnedMeshesRenderer;

    private Animator animator;
    // Start is called before the first frame update
    void Start()
    {
        PrintInfos();

        meshesRenderer = transform.GetComponentsInChildren();
        skinnedMeshesRenderer = transform.GetComponentsInChildren();
    }

    // Update is called once per frame
    void Update()
    {
        if (Input.GetKeyDown(KeyCode.S))
        {
            SnapshotSkinnedMesh();
        }
    }

    private int counter;

    private void Snapshot()
    {
        GameObject pGo = new GameObject($"SkinnedMeshSnapshot_{++counter}");
        pGo.transform.position = gameObject.transform.position;
        pGo.transform.rotation = gameObject.transform.rotation;
        pGo.transform.localScale = gameObject.transform.localScale;

        // meshes
        if (meshesRenderer != null && meshesRenderer.Length > 0)
        {
            for (int i = 0; i  0)
        {
            for (int i = 0; i             
关注
打赏
1664331872
查看更多评论
0.0673s