繁体   English   中英

围绕枢轴点旋转对象

[英]Rotate Object around Pivot Point

我正在网格中的所有顶点上创建小控件,但是当我这样做时,对象是直线向上和向下的,但是小控件是侧向的。

如您在此图像中看到的那样,角色是上下笔直的,但是小控件旋转了90度,所以我该怎么办

答:以正确的方式导入网格。

要么

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

我认为不是您旋转的点,而是轴未对齐。 尝试像这样交换轴:

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轴。 如果那不是正确的选择,请尝试其他组合。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM