言語: 日本語
  • C#
  • JS
  • Boo

スクリプト言語

お好みのスクリプト言語を選択すると、サンプルコードがその言語で表示されます。

Mesh.CombineMeshes

public function CombineMeshes(combine: CombineInstance[], mergeSubMeshes: bool = true, useMatrices: bool = true): void;

Parameters

combine 結合するメッシュの説明
mergeSubMeshes 全てのメッシュをひとつのサブメッシュに結合するか
useMatrices CombineInstance で提供された変換行列を使用するか、無視するか

Description

メッシュに複数のメッシュを組み合わせます

メッシュを結合することで、最適化につながります。 useMatrices が true である場合、全てのメッシュはひとつのサブメッシュに結合されます。そうでない場合、 各々のメッシュは別のサブメッシュに結合されます。もし全てのメッシュが同じマテリアルを共有している場合は true を設定して下さい。 もし useMatrices が false である場合 CombineInstance 構造体の変換行列は無視されます。

	@script RequireComponent(MeshFilter)
	@script RequireComponent(MeshRenderer)
	function Start () {
		var meshFilters: MeshFilter[] = GetComponentsInChildren(MeshFilter);
		var combine : CombineInstance[] = new CombineInstance[meshFilters.Length];
		for (var i = 0; i < meshFilters.Length; i++){
			combine[i].mesh = meshFilters[i].sharedMesh;
			combine[i].transform = meshFilters[i].transform.localToWorldMatrix;
			meshFilters[i].gameObject.active = false;
		}
		transform.GetComponent(MeshFilter).mesh = new Mesh();
		transform.GetComponent(MeshFilter).mesh.CombineMeshes(combine);
		transform.gameObject.active = true;
	}