美文网首页
unity Camera 第三视角(FPS)

unity Camera 第三视角(FPS)

作者: WOTTOW | 来源:发表于2019-03-15 14:59 被阅读0次

效果图:


Camera_follow.gif

原理:
1.相机跟随player经行移动
2.相机一直跟在人物的身后,不会旋转

旋转是个大麻烦。
涉及到欧拉角或者四元数,研究了半天。发现在unity API中四元素Quaternion.operator ,他满足相机的需求且简单。
描述:用rotation旋转point点。此运算符的作用是对参数坐标点point进行rotation变换。返回的结果是Vector3,就是这个point按照rotation旋转后的另一个。
代码:

    public GameObject camera;
    public Transform playerTransform;
    public float awayZ=3f;
    public float awayY = 3f;
    void Update()
    {
        Quaternion r = playerTransform.rotation;
        Vector3 end = (playerTransform.position - (r * Vector3.forward) * awayZ) + (r * Vector3.up * awayY);
        Debug.DrawLine(playerTransform.position, end, Color.red);
        camera.transform.position = end;
        camera.transform.LookAt(playerTransform);
    }

相关文章

网友评论

      本文标题:unity Camera 第三视角(FPS)

      本文链接:https://www.haomeiwen.com/subject/dcnlmqtx.html