2016-12-18 5 views
1

私は統一エディタから私の家を作ったので、私はこのメッシュの境界を取り除くことはできません。私はMeshCombinerを試しましたが、それはただ1つのメッシュの枠内のすべてのメッシュを接続しています。私はBlenderやこれのようなものから作ることができますが、統一から取り除く人はいますか?gameobjectメッシュを結合するには?

スクリーンショット:http://imgur.com/a/1XALE

+0

テクスチャを新しいメッシュ(新しいuv)に再マップする必要があるようです。 –

+0

メッシュが重なっている内側の面を削除したいのですか?もしそうなら、私はアセットストアからCSGライブラリを使用しようとします。 CSG boolean Addオペレーションは、内部の面を削除します。 [SabreCSG](https://www.assetstore.unity3d.com/en/#!/content/47418)のようなものは、 –

答えて

1

はたぶん、あなたはCombineMeshesを探しています。例:

using UnityEngine; 
using System.Collections; 

[RequireComponent(typeof(MeshFilter))] 
[RequireComponent(typeof(MeshRenderer))] 
public class ExampleClass : MonoBehaviour { 
    void Start() { 
     MeshFilter[] meshFilters = GetComponentsInChildren<MeshFilter>(); 
     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.active = false; 
      i++; 
     } 
     transform.GetComponent<MeshFilter>().mesh = new Mesh(); 
     transform.GetComponent<MeshFilter>().mesh.CombineMeshes(combine); 
     transform.gameObject.active = true; 
    } 
} 
関連する問題