我正在尝试统一旋转 3D Gameobject。它实际上是一个圆柱体,上面只有一个扑克筹码的纹理。一旦它与光线投射相撞,我想将它旋转 360 度。它在 Unity 仿真器中工作得很好,但是,在设备本身上,芯片在其旋转后停止,然后继续在无限循环中旋转。这是有问题的代码片段。感谢您提前提供任何帮助。
// Spin the chip
if (Animate) {
if (Speed > 0 && Chip.tag.Contains("Chip")) {
Chip.transform.Rotate(0, Speed*Time.deltaTime, 0);
Speed -= 3;
Debug.Log(Speed);
}
else {
// Reset
Animate = false;
Speed = 360;
Chip.transform.localRotation = Quaternion.Euler(0.0,0.0,0.0);
}
}
为了总结这一点,我可以最好地分配游戏对象芯片,当它在光线投射上发生碰撞时
// Set the chip
Chip = hit.transform;
一切都在更新功能中完成。一旦光线投射命中,它就会调用一个投注函数,然后在计算投注后,它将布尔动画更改为 true,从而导致芯片旋转。