首页 > 编程语言 > 详细

Unity3D 摄像机的Transform通过摇杆输出的方向

时间:2016-07-13 15:51:47      阅读:204      评论:0      收藏:0      [点我收藏+]

要解决的问题是:摄像机的方向不固定,当摇杆向前(0,1)推时,主角要往摄像机的朝向(忽略Y方向)走,当摇杆往右(1,0)推的时,主角朝摄像机的右方向

 

    /// <summary>
    /// 摄像机的Transform通过摇杆输出的方向
    /// </summary>
    /// <param name="t">摄像机的transform</param>
    /// <param name="dir">摇杆的方向</param>
    /// <returns></returns>
    public static Vector2 Transform2Dir(Transform t,Vector2 dir)
    {
        //注意:1、摄像机的Y轴角度和摇杆的坐标系是反方向的  2、角度和弧度
        var f = Mathf.Deg2Rad*(-t.rotation.eulerAngles.y);

        //方向标准化
        dir.Normalize();

        //旋转角度
        var ret = new Vector2(dir.x * Mathf.Cos(f) - dir.y * Mathf.Sin(f), dir.x * Mathf.Sin(f) + dir.y * Mathf.Cos(f));

        return ret;
    }

 

Unity3D 摄像机的Transform通过摇杆输出的方向

原文:http://www.cnblogs.com/mrblue/p/5666830.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!