我正在尝试使用C#更改Unity 3D中对象的枢轴点。
我知道可以事先在设计软件中将对象编辑到所需的位置,但是,在我的特定情况下,需要在运行游戏时更改枢轴点。
这是我用来从左侧旋转对象的代码:
verticalInputLeft = Input.GetAxis("VerticalLeft");
rotationLeftX += verticalInputLeft * verticalSensitivity * Time.deltaTime;
rotationLeftX = Mathf.Clamp(rotationLeftX, minAngle, maxAngle);
transform.localEulerAngles = new Vector3(rotationLeftX, transform.localEulerAngles.y, transform.localEulerAngles.z);
我想使用相同的方法从右侧进行旋转。为此,我需要在游戏运行时更改对象的枢轴点。
谢谢。
答案 0 :(得分:4)
无法直接更改数据透视,
解决方法,在想要新支点的位置创建一个空的游戏对象,并将父变换设置为此游戏对象。
gameObject.transform.SetParent(pivotGameObject);
删除父项
gameObject.transform.SetParent(null);