如何在Unity中使用C#改变对象的支点?

问题描述 投票:0回答:1

我正试图在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);

我想用同样的方法从右边开始旋转。为此,我需要在游戏运行时改变对象的枢轴点。

谢谢您。

c# unity3d
1个回答
4
投票

没有办法直接改变支点。

解决办法是在您想要新建枢轴的位置创建一个空的游戏对象,并将父对象变换设置为这个游戏对象。

gameObject.transform.SetParent(pivotGameObject);

移除父对象

gameObject.transform.SetParent(null);
© www.soinside.com 2019 - 2024. All rights reserved.