Unity 让手随武器移动
Unity Make Hands Move with weapon
我有一个角色拿着武器的统一场景。武器是相机的子对象,因此随着相机移动,允许玩家瞄准武器。我的问题是角色的 3d 模型有我希望握住武器的手。最初,为了解决这个问题,我使用 IK 将手放在枪上,这很有效但不允许我瞄准枪,因为它会固定在手上。我将如何在仍然能够瞄准的同时将手固定在武器上?
附上玩家造型脚本供参考:
public float sensitivityX = 5.0f;
public float sensitivityY = 5.0f;
public int Limits = 80;
public Transform playerBody;
float xRotation = 0f;
void Start()
{
Cursor.lockState = CursorLockMode.Locked;
}
void Update()
{
float mouseX = Input.GetAxis("Mouse X") * sensitivityX * Time.deltaTime;
float mouseY = Input.GetAxis("Mouse Y") * sensitivityY * Time.deltaTime;
xRotation -= mouseY;
xRotation = Mathf.Clamp(xRotation, (Limits * -1), Limits);
transform.localRotation = Quaternion.Euler(xRotation, 0f, 0f);
playerBody.Rotate(Vector3.up * mouseX);
}
如果需要更多信息,请告诉我,谢谢。
将 IK 目标设置为枪的父项是否有效?
修复:
将手枪放在手上,使用动画操纵 IK 来跟随目标(我使用了多目标约束),对手和脊椎都这样做。
我有一个角色拿着武器的统一场景。武器是相机的子对象,因此随着相机移动,允许玩家瞄准武器。我的问题是角色的 3d 模型有我希望握住武器的手。最初,为了解决这个问题,我使用 IK 将手放在枪上,这很有效但不允许我瞄准枪,因为它会固定在手上。我将如何在仍然能够瞄准的同时将手固定在武器上?
附上玩家造型脚本供参考:
public float sensitivityX = 5.0f;
public float sensitivityY = 5.0f;
public int Limits = 80;
public Transform playerBody;
float xRotation = 0f;
void Start()
{
Cursor.lockState = CursorLockMode.Locked;
}
void Update()
{
float mouseX = Input.GetAxis("Mouse X") * sensitivityX * Time.deltaTime;
float mouseY = Input.GetAxis("Mouse Y") * sensitivityY * Time.deltaTime;
xRotation -= mouseY;
xRotation = Mathf.Clamp(xRotation, (Limits * -1), Limits);
transform.localRotation = Quaternion.Euler(xRotation, 0f, 0f);
playerBody.Rotate(Vector3.up * mouseX);
}
如果需要更多信息,请告诉我,谢谢。
将 IK 目标设置为枪的父项是否有效?
修复:
将手枪放在手上,使用动画操纵 IK 来跟随目标(我使用了多目标约束),对手和脊椎都这样做。