Mesh 您所在的位置:网站首页 unity去除网格 Mesh

Mesh

2024-06-24 19:53| 来源: 网络整理| 查看: 265

Mesh.CombineMeshes 切换到手册 public void CombineMeshes (CombineInstance[] combine, bool mergeSubMeshes= true, bool useMatrices= true, bool hasLightmapData= false); 参数 combine 要合并的网格的描述。 mergeSubMeshes 定义网格是否应合并到单个子网格中。 useMatrices 定义是应使用还是忽略在 CombineInstance 数组中提供的变换。 描述

将多个网格合并到此网格中。

合并网格对性能优化很有用。如果 mergeSubMeshes 为 true,则所有网格都会合并到单个子网格中。否则,每个网格会放置在不同的子网格中。如果所有网格都共享相同的材质,则此属性应设置为 true。如果 useMatrices 为 true,则使用 CombineInstance 结构中的变换矩阵。否则,忽略它们。将 hasLightmapData 设置为 true 可按 CombineInstance 结构中的光照贴图缩放偏移数据变换输入网格光照贴图 UV 数据。网格必须共享相同的光照贴图纹理。

using UnityEngine; using System.Collections;// Copy meshes from children into the parent's Mesh. // CombineInstance stores the list of meshes. These are combined // and assigned to the attached Mesh.[RequireComponent(typeof(MeshFilter))] [RequireComponent(typeof(MeshRenderer))] public class ExampleClass : MonoBehaviour { void Start() { MeshFilter[] meshFilters = GetComponentsInChildren(); CombineInstance[] combine = new CombineInstance[meshFilters.Length]; int i = 0; while (i < meshFilters.Length) { combine[i].mesh = meshFilters[i].sharedMesh; combine[i].transform = meshFilters[i].transform.localToWorldMatrix; meshFilters[i].gameObject.SetActive(false); i++; } transform.GetComponent().mesh = new Mesh(); transform.GetComponent().mesh.CombineMeshes(combine); transform.gameObject.SetActive(true); } }


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有