Unity 为什么我的对象在 Space.Self 和 Space.World 中围绕 y 轴旋转完全相同?
Unity why does my object rotate exactly the same around the y axis in both Space.Self and Space.World?
所以我被告知 Space.Self 围绕局部坐标旋转,Space.World 围绕全局坐标旋转。所以我统一创建了一个小项目和脚本来验证。但是,它们似乎都以相同的方式旋转。我做错了什么吗?
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Spin : MonoBehaviour {
public bool isSpinOnSelf = true;
public bool isSpinOnWorld = false;
// Use this for initialization
void Start () {
}
// Update is called once per frame
void Update () {
if(isSpinOnSelf)
transform.Rotate(0,3f,0, Space.Self);
if(isSpinOnWorld)
transform.Rotate(0, 3f, 0, Space.World);
}
}
这是因为对象的Y轴仍然与世界的Y轴对齐。
你们在绕同一个轴旋转。如果旋转对象使其 Y 轴水平,您会注意到两者之间的差异。在本地 space 中,对象会出现 "roll",而在世界 space 中,它仍会旋转 "sideways"。
所以我被告知 Space.Self 围绕局部坐标旋转,Space.World 围绕全局坐标旋转。所以我统一创建了一个小项目和脚本来验证。但是,它们似乎都以相同的方式旋转。我做错了什么吗?
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Spin : MonoBehaviour {
public bool isSpinOnSelf = true;
public bool isSpinOnWorld = false;
// Use this for initialization
void Start () {
}
// Update is called once per frame
void Update () {
if(isSpinOnSelf)
transform.Rotate(0,3f,0, Space.Self);
if(isSpinOnWorld)
transform.Rotate(0, 3f, 0, Space.World);
}
}
这是因为对象的Y轴仍然与世界的Y轴对齐。
你们在绕同一个轴旋转。如果旋转对象使其 Y 轴水平,您会注意到两者之间的差异。在本地 space 中,对象会出现 "roll",而在世界 space 中,它仍会旋转 "sideways"。