我正试图在Unity 3D中使用C#改变对象的支点。
我知道事先在设计软件中编辑对象到所需的点,但是,在我的具体情况下,需要在游戏运行时改变支点。
以下是我使用的代码,用于从左边旋转对象。
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);
我想用同样的方法从右边开始旋转。为此,我需要在游戏运行时改变对象的枢轴点。
谢谢您。
没有办法直接改变支点。
解决办法是在您想要新建枢轴的位置创建一个空的游戏对象,并将父对象变换设置为这个游戏对象。
gameObject.transform.SetParent(pivotGameObject);
移除父对象
gameObject.transform.SetParent(null);