我正在网格中的所有顶点上创建小玩意儿,但是当我这样做时,该对象是直线向上和向下,但是小发明是横向的。
正如你在这张图片中看到的,角色是直线上下,但是小发明旋转了90度,所以我怎么能
A: 正确导入网格。
或
B: 将小玩意旋转90度,使它们与角色匹配。
以下是我用来绘制小玩意儿的内容:
[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();
}
}
答案 0 :(得分: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轴。如果那不是正确的交换尝试不同的组合。