【问题标题】:Rotate character towards the direction of the camera?朝相机的方向旋转角色?
【发布时间】:2014-11-15 23:21:06
【问题描述】:

我想将角色旋转到相机指向的方向。

在下面的截图中,红色的光线是摄像机到角色的方向,绿色的光线是摄像机指向的方向。

基本上,字符视线应保持垂直于红色矢量但指向绿色矢量的末端。

这就是我现在正在尝试的。如此屏幕截图所示,我设法获得了玩家应该旋转的方向。绿光是它的视野,蓝光是我希望他面对的方向。

    // Result vector
    Vector3 directionCam = CameraDirection (transform.position);

    // Show current forward and desired forward
    Debug.DrawRay(character.transform.position, character.transform.forward, Color.green); // Vision
    Debug.DrawRay(character.transform.position, cameraDir, Color.blue); // Desired Vision

我尝试做character.transform.forward = CameraDirection,虽然我设法让他看向正确的方向,但身体随机旋转(例如,有时头在地上,而身体在上面)。

【问题讨论】:

    标签: c# vector 3d unity3d


    【解决方案1】:

    这会让你的角色看着镜头。

    transform.LookAt(Camera.main.transform);
    

    【讨论】:

    • 嗨@FunctionR 我刚刚编辑了这个问题,我设法得到了角色应该看的方向。我只是在将身体保持在头部下方时旋转出现问题。
    猜你喜欢
    • 1970-01-01
    • 2015-03-02
    • 1970-01-01
    • 1970-01-01
    • 2021-11-01
    • 2017-10-09
    • 1970-01-01
    • 2016-03-19
    • 2018-08-24
    相关资源
    最近更新 更多