2016-12-18 2 views
1

Da ich mein Haus vom Einheits-Editor gemacht habe, kann ich diese Gitterränder nicht entfernen. Ich habe versucht, MeshCombiner, aber es verbindet nur alle Meshes in einem Mesh Grenzen bestehen noch. Ich weiß, ich kann es von Blender oder so machen, aber gibt es jemanden, der aus der Einheit entfernt werden kann?Wie GameObject Meshes zu vereinen?

Screen Shot: http://imgur.com/a/1XALE

+0

Es sieht aus wie Sie die Textur auf die neue Masche (neu uv des) re-map müssen. –

+0

Meinst du, du möchtest die internen Flächen entfernen, wo sich die Netze überlappen? Wenn ja, würde ich versuchen, eine CSG-Bibliothek aus dem Asset-Store zu verwenden. Die CSG-boolesche Add-Operation entfernt interne Flächen. Etwas wie [SabreCSG] (https://www.assetstore.unity3d.com/en/#!/content/47418) könnte genau das sein, was Sie brauchen: –

Antwort

1

Vielleicht für CombineMeshes Sie suchen. Ein Beispiel dafür ist

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; 
    } 
}