2015-05-04 100 views
0

我在网格中的所有顶点上创建了一个Gizmos,但是当我这样做时,对象是直线上下的,但是这个Gizmos是横向的。旋转枢轴点周围的对象

正如你可以在此看到图像,字符是直上直下,但小玩意旋转90度,这样我怎么能既

答: 导入网格的正确方法。

B: 旋转小物件90度,以便它们匹配的字符。

Gizmos

下面是我在用绘制的小玩意:

[RequireComponent(typeof(MeshFilter))] 
public class Creator : MonoBehaviour { 

    public Vector3[] vertices; 

    public Mesh mesh; 

    void OnDrawGizmosSelected() { 
     mesh = GetComponent<MeshFilter>().sharedMesh; 
     if (vertices == null || vertices.Length == 0) { 
      vertices = mesh.vertices; 
     } else { 
      mesh.vertices = vertices; 
     } 
     Vector3 lp = transform.position; 
     foreach (Vector3 v in vertices) { 
      Vector3 p = lp - v; 

      Gizmos.color = Color.yellow; 
      Gizmos.DrawCube(p, new Vector3(0.02f, 0.02f, 0.02f)); 
     } 
     mesh.RecalculateBounds(); 
    } 
} 

回答

1

我认为它不是你点的是旋转的,但该轴不排队。 尝试更换轴这样的:

foreach (Vector3 v in vertices) { 
      Vector3 p = lp - v; 

      Gizmos.color = Color.yellow; 
      Gizmos.DrawCube(new Vector3(p.x, p.z, p.y), new Vector3(0.02f, 0.02f, 0.02f)); 
     } 

注:我换了Y和Z轴。如果这不是正确的交换尝试不同的组合。

+1

太棒了!我不得不使用'-p.z'而不是积极的,但它的工作原理! –