找到并标记Mesh顶点

1.在Unity 3D中新建一个物体

本文以Cube为例

2.创建一个C#脚本 

命名为MeshTest

3.在脚本中写入程序

在打开的脚本“MeshTest”上编写代码,首先获取“MeshFilter”组件,然后获取组件上的Mesh,接着把Mseh上所有的顶点转为世界坐标,最后Gizmos.DrawSphere 标记,具体代码及代码说明如下图

using UnityEngine;

public class MeshTest : MonoBehaviour
{

    void OnDrawGizmos()
    {

        MeshFilter targetFilter = GetComponent<MeshFilter>();

        Mesh mh = targetFilter.mesh;

        Gizmos.color = Color.green;

        for (int i = 0; i < mh.vertices.Length; i++)
        {

            Vector3 targetPosition = transform.TransformPoint(mh.vertices[i]);

            Gizmos.DrawSphere(targetPosition, 0.1f);

        }

    }

}

 4.保存程序,返回Unity

脚本编译完成、正确

5.将程序挂载到之前创建的cube上即可.

如下图所示

随后,在游戏视图中,Cube的四个顶点用“绿球”标记了,具体如下图

 

猜你喜欢

转载自blog.csdn.net/weixin_50736953/article/details/127471162
今日推荐