我正在尝试在Unity中创建我的运动系统,我将在稍后用于Oculus。
现在我用相机和一个名为" rb"的刚体创建了一个对象。
// Perform movement
void PerformeMovement ()
{
if (velocity != Vector3.zero) {
rb.position = (rb.position + velocity);
}
}
我在其他班级计算速度。 我想做两件事......
任何API提示?不是找人为我写的......或者是mby链接到类似的运动系统?
主要目标是使运动更加增加而不是平滑,因此我可以绕过导致恶心的冲突。
EDIT!
现在我将我的代码更新为>
void PerformeMovement ()
{
if (velocity != Vector3.zero) {
if (timer % 60 == 1 ) {
rb.MovePosition (rb.position + velocity * 20);
}
}
}
它有点像我想要但我现在如何处理碰撞? 如果步长足够长,它将只是逐步穿过对象。如果步骤太小,它会卡住,然后随机飞走......
答案 0 :(得分:0)
让我们调用您的游戏对象" G1"和该游戏对象的副本" G2"。
您将删除与G1相关的任何物理,您将从G2中删除渲染器。这个想法是G2是G1的某种物理幽灵。也就是说,G2在没有特殊运动规则的情况下自由移动,从而妥善处理碰撞。然后,您可以偶尔将G1变换更新为G2变换,以直观地创建您想要的动作。