gpt4 book ai didi

c# - 限制 HingeJoint 角度之间的旋转

转载 作者:太空宇宙 更新时间:2023-11-03 22:39:48 33 4
gpt4 key购买 nike

我的脚本运行得几乎完美,但我只需要固定这个 float ,但我似乎不知道如何操作。

简化版...

public HingeJoint doorHinge;
public float rotatedoor = 0.0f; // Limit this value, min 0 max 120

void Update () {

float h = Input.GetAxis("Mouse X");
rotatedoor = rotatedoor + h;


JointSpring doorSpring = Door.spring;
doorSpring.targetPosition = rotatedoor;
Door.spring = doorSpring;
}

我尝试添加最小和最大浮点值然后使用

rotatedoor = Mathf.Clamp(rotatedoor, minRot, maxRot);

但没有运气。

感谢任何帮助。

最佳答案

您得到了关于夹紧它的答案,但您真的不需要这样做。

您似乎想为 HingeJoint 设置限制。这具有使用 JointLimits 执行此操作的内置属性。结构,这就是你应该使用的。

类似下面的内容:

public HingeJoint doorHinge;
public float rotatedoor = 0.0f; // Limit this value, min 0 max 120

void Update()
{
//Get the current the limit
JointLimits limits = doorHinge.limits;

//Set the limit to that copy
limits.min = 0;
limits.max = 120;

limits.bounciness = 0;
limits.bounceMinVelocity = 0;

//Apply the limit since it's a struct
doorHinge.limits = limits;

JointSpring doorSpring = doorHinge.spring;
doorSpring.targetPosition = rotatedoor;
doorHinge.spring = doorSpring;
}

关于c# - 限制 HingeJoint 角度之间的旋转,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52917424/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com