博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
2D物体一直朝向某个2D物体(LookAt2D)
阅读量:4654 次
发布时间:2019-06-09

本文共 1026 字,大约阅读时间需要 3 分钟。

using System.Collections;using System.Collections.Generic;using UnityEngine;public class Look2D : MonoBehaviour {    [SerializeField]    private Transform _targetPos;    private void Update()    {        transform.eulerAngles = LookTargetAngle(transform, _targetPos.position);    }    public 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);    }}

 

转载于:https://www.cnblogs.com/weiqiangwaideshijie/p/10477236.html

你可能感兴趣的文章
瑞士 -- 德语 德国 -- 德语 卢森堡 -- 德语 奥地利 -- 德语 丹麦 -- 丹麦语 挪威 -- 挪威语 爱尔兰 -- 爱尔兰语 荷兰 -- 荷兰语 比利时 -- 荷兰语...
查看>>
背景颜色设置
查看>>
推荐一款帮助负载均衡/DNS轮询服务器组使用的文件同步工具
查看>>
常用的CSS命名规则
查看>>
约数个数定理&约数和定理
查看>>
Oracle EBS数据定义移植工具:FNDLOAD
查看>>
判素数
查看>>
extjs4.1:两个combobox的联动
查看>>
百度地图瓦片工具:定义坐标
查看>>
jmeter控制器--交替控制器
查看>>
hdu 5365 Run
查看>>
SVN 常用命令一览表
查看>>
css中可继承和不可继承属性
查看>>
980. Unique Paths III
查看>>
git 博客搭建
查看>>
7-13 求链式线性表的倒数第K项(20 分)
查看>>
快速排序
查看>>
一口一口吃掉Struts(十)——异常自动处理机制
查看>>
并查集,以及可拆分并查集
查看>>
六个优雅的 Linux 命令行技巧
查看>>