您的位置:首页 > 移动开发 > Unity3D

Unity使用图片实现transform.LookAt功能

2017-02-09 16:14 447 查看
效果如图 使物体Y轴始终朝向目标物体 用于实现2D版子弹跟踪功能



实现方法:

public GameObject target;

void Update()
{
transform.eulerAngles = LookTargetAngle(transform, target.transform.position);
}

Vector3 LookTargetAngle(Transform playerTrans, Vector3 targetPos)
{
float dx = targetPos.x - playerTrans.transform.position.x;
float dy = targetPos.y - playerTrans.transform.position.y;
float rotationZ = Mathf.Atan2(dy, dx) * 180 / Mathf.PI;
//得到最终的角度并且确保在 [0, 360) 这个区间内
rotationZ -= 90;
//获取增加的角度
float originRotationZ = playerTrans.eulerAngles.z;
float addRotationZ = rotationZ - originRotationZ;
//超过 180 度需要修改为负方向的角度
if (addRotationZ > 180)
{
addRotationZ -= 360;
}
//应用旋转
return new Vector3(0, 0, playerTrans.eulerAngles.z + addRotationZ);
}


借鉴自: http://www.bubuko.com/infodetail-1243233.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  unity 2d