Unity 6.3
0 онлайн 63 гостей 3 в системе
Вход

CombineInstance

структура в UnityEngine

Выполнено в:UnityEngine.CoreModule

Описание

Структура, описывающая один меш, который нужно объединить с другими экземплярами в общий меш.

Используйте это CombineInstance структура с Mesh.CombineMeshes метод для объединения нескольких мешей в одну комбинированную меш. Вы должны создать CombineInstance для каждой меши, которую вы хотите объединить. Если меш содержит несколько подсеток, вы должны создать отдельную CombineInstance для каждой подсетки.

using UnityEngine;

// This script combines the meshes from children into a single new Mesh. // The combined mesh is assigned to the MeshFilter of this GameObject. // The original meshes are not destroyed, but their GameObjects are disabled.

[RequireComponent(typeof(MeshFilter), typeof(MeshRenderer))] public class ExampleClass : MonoBehaviour { void Start() { MeshFilter[] meshFilters = GetComponentsInChildren<MeshFilter>(); CombineInstance[] instances = new CombineInstance[meshFilters.Length];

for (int i = 0; i < meshFilters.Length; i++) { var meshFilter = meshFilters[i]; instances[i] = new CombineInstance { mesh = meshFilter.sharedMesh, transform = meshFilter.transform.localToWorldMatrix, };

meshFilter.gameObject.SetActive(false); }

Mesh combinedMesh = new Mesh(); combinedMesh.CombineMeshes(instances); gameObject.GetComponent<MeshFilter>().sharedMesh = combinedMesh; gameObject.SetActive(true); } }

Дополнительные ресурсы: ,Mesh.CombineMeshes,, ,Mesh.subMeshCount,.

Свойства

Свойство Описание
lightmapScaleOffsetЗапечённая карта освещения UV масштаба и смещения применяется к Mesh.
meshМеш, которая будет комбинироваться с другими мешами.
realtimeLightmapScaleOffsetМасштабирование и смещение в реальном времени UV применяется к сетке.
subMeshIndexИндекс подсетки, которая будет объединена с другими мешами.
transformМатрица, используемая для преобразования вершин до объединения мешей.