自学内容网 自学内容网

Unity Mesh简化为Cube mesh

🍳食用

下载并导入插件👈即可在代码中调用。

🥙子物体独立生成CubeMesh

gameObject.ToCubeMesh_Invidual();
请添加图片描述

🥪合并成一个CubeMesh

gameObject.ToCubeMesh();
请添加图片描述

🌭Demo

using EasyRoads3Dv3;
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
namespace ZYF
{

    public class ToCubeMeshDemo : MonoBehaviour
    {
        [SerializeField]
        private Material cubeMat;
        [SerializeField,Header("独立模式")]
        private bool invidualModel = true;
        private void Start()
        {
            GameObject res = new GameObject("cube mesh");
            if (invidualModel ==false)
            {
                var result = gameObject.ToCubeMesh();
                var go= DisplayMesh(mesh: result, gameObject);
                go.transform.SetParent(res.transform);
            }
            else
            {
                var results = gameObject.ToCubeMesh_Invidual();
                foreach (var c in results)
                {
                    var rgo= DisplayMesh(c.cubeMesh, c.meshGo);
                    rgo.transform.SetParent(res.transform);
                }
            }
        }

        private GameObject DisplayMesh(Mesh mesh, GameObject go)
        {
            var cube = new GameObject(go.name);
            var mf = cube.AddComponent<MeshFilter>();
            var mr = cube.AddComponent<MeshRenderer>();
            mf.mesh = mesh;
            mr.material = cubeMat;
            cube.transform.position = go.transform.position;
            cube.transform.rotation = go.transform.rotation;
            cube.transform.localScale = go.transform.lossyScale;
            return cube;
        }

    }

}

原文地址:https://blog.csdn.net/qq_26318597/article/details/136876016

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!