c# - 仅在 Z 轴上旋转游戏对象 C#

标签 c# unity-game-engine rotation gameobject

在这里找到了这个答案: Rotate a gameobject in Unity

我发现这非常有用,但我只想将旋转分配给 Z 轴,但我无法正常工作。

using UnityEngine;
using System.Collections;

public class Rotation : MonoBehaviour {
    public GameObject Player;
    public GameObject PlayerCube;

    // Use this for initialization
    void Start () {
        var playerMapPos = Player;
        var playerWorldPos = PlayerCube;
        PlayerCube.transform.rotation  = Player.transform.rotation;
    }

    // Update is called once per frame
    void Update () {
    }
}

最佳答案

要限制旋转轴,您需要使用欧拉角而不是四元数。首先,将旋转四元数转换为欧拉角,然后根据需要修改旋转(将除 y 之外的所有轴指定为 0),然后再转换回来。

关于c# - 仅在 Z 轴上旋转游戏对象 C#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30074135/

相关文章:

c# - 以特定格式组合和连接给定数据

C# GUI 和委托(delegate)用作抽象层

javascript - 旋转相机时重复纹理严重扭曲/抖动

javascript - Matter.js:计算对象旋转了多少次的方法?

swift - ARKit 无法在垂直平面上正确旋转 SCNNode

c# - 提取属性参数值

c# - 我可以在我的开发机器上为 C# VS2010 项目使用哪种轻型 SQL Server 类型?

android - Unity3D Android - 重叠状态栏

c# - 如何统一针对不同屏幕尺寸设置基于购物的 UI?

unity-game-engine - MRTK 2.0.0 - 不包括 WMR Controller 模型和着色器?