我在Unity中使用Final IK来使播放器“抓住”一个可交互的对象,并且希望他们能够推/拉该对象。
目前我有这个:
if (grabbed)
{
grabbing.GetComponent<Rigidbody>().AddForceAtPosition(-transform.forward * jogSpeed, transform.position + new Vector3(0, 4, 0));
transform.position = grabbing.transform.position + grabbedRelativePosition;
}
我试图让玩家在移动时保持在相同的相对位置上,从而与物体保持同步。
我得到这样的相对位置(玩家第一次抓住物体时完成):
if (grabbedRelativePosition==null)
{
grabbedRelativePosition = transform.position - grabbing.transform.position;
}