我已经看到了很多这个问题的解决方案,我已经尝试了很多,但没有成功。 LookAt
在Unity 2d中无效,我已经尝试了一段时间。
public Transform target;
// ...
void OnTriggerEnter2D(Collider2D other)
{
if (other.gameObject.name.Contains("Anti"))
{
Quaternion rot = transform.rotation;
transform.rotation = rot;
float z = rot.eulerAngles.z;
Vector3 pos = transform.position;
Vector3 velocity = new Vector3(0, -3, 0);
z += Random.Range(-15.0f, 15.0f);
rot = Quaternion.Euler( 0, 0, z );
transform.position = pos;
transform.rotation = rot;
maxSpeed = Random.Range(5.0f, 15.0f);
}
}
我正在努力为LookAt
向我的中心提供任何工作似乎不起作用。
我所有的其他代码都有效(虽然它有许多不必要的部分我可以减少),它就在我将Z设置为随机范围之前,我需要它来查看Origin或Center对象。我根本无法工作。
我找到了解决问题的方法,我刚刚清理了我的代码并添加了
Vector3 diff = Vector3.zero - transform.position;
diff.Normalize();
float rot_z = Mathf.Atan2(diff.y, diff.x) * Mathf.Rad2Deg;
transform.rotation = Quaternion.Euler(0f, 0f, rot_z - 90);
我认为我的问题是我的其余代码,