我已经试过这两个C#脚本的转动我的定向光:为什么我的定向光仅仅从90度旋转到-90°(统一5.5)
using System.Collections;
using UnityEngine;
public class LightRotator : MonoBehaviour
{
void Update()
{
transform.rotation = Quaternion.Euler(transform.eulerAngles.x + 1.0f,
transform.eulerAngles.y,
transform.eulerAngles.z);
}
}
和
using System.Collections;
using UnityEngine;
public class LightRotator : MonoBehaviour
{
void Update()
{
transform.localEulerAngles = new Vector3(transform.localEulerAngles.x + 1.0f,
transform.localEulerAngles.y,
transform.localEulerAngles.z);
}
}
他们两者似乎功能完全相同:如果我将transform.eulerAngles.y
更改为transform.eulerAngles.y + 0.5f
,则灯光将沿y轴旋转,而对于z轴则相同。但是,当我尝试使用x轴进行此操作时,它会旋转,直到达到90º,此时它将继续尝试旋转,但会立即连续推回到90º。如果我改变方向,它会在-90º时做同样的事情。例如,旋转可能是:88.5,89.0,89.5,90.0,90.5,89.93,90.24,89.4等
是什么原因造成这种夹紧,如何解决?
不幸的是,我无法根据您提供的信息重现问题。你有可能提供简短的,独立的示例代码吗? – rutter
[mvce](http://stackoverflow.com/help/mcve) – zwcloud
@rutter我添加了完整的脚本。 – TrumpetDude