c# - 更改游戏对象枢轴点

标签 c# unity-game-engine

Unity 对象未在中心旋转。直到一个小时才好,我不相信我改变了代码或任何东西。我也尝试过弄乱左上角的枢轴/中心按钮,但没有任何帮助。游戏对象没有在中间旋转。

旋转器代码:

using UnityEngine;

public class Rotator : MonoBehaviour
{

    public float speed = 100f;

    // Update is called once per frame
    void Update()
    {
        transform.Rotate(0f, 0f, speed * Time.deltaTime);
    }
}

最佳答案

Rotate函数Space.Self的默认空间。您应该向其第三个参数提供 Space.World ,以使其在世界空间中旋转。

transform.Rotate(0f, 0f, speed * Time.deltaTime, Space.World);

如果这不能解决您的问题,您必须在任何 3D 应用程序(例如 Maya)中打开模型并重置/居中枢轴点,然后将其重新导入 Unity。

您还可以使用另一个游戏对象作为您想要旋转的游戏对象的父对象来解决此枢轴问题。

1.创建一个新的游戏对象

2.将其移动到正在旋转的对象的中心位置。

3。确定该位置后,将要旋转的对象拖动到 #1 中创建的游戏对象下方。您正在旋转的游戏对象现在应该是在#1中创建的游戏对象的子级。

您现在可以旋转在 #1 中创建的游戏对象。

虽然我讨厌这样做,但它也有效。我建议使用 3D 应用程序来移动枢轴点。

关于c# - 更改游戏对象枢轴点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45222191/

相关文章:

ios - openGLES iOS 中的 Unity 模型

c# - 支持区域的 MemoryCache?

C# 和 Win32 在单独的窗口关闭/关闭时通知

c# - 如何在 Google Cardboard Unity3D 中找到头部的旋转?

c# - 游戏结束场景不起作用 (Unity C#)

c# - Unity 广告的 resultCallback 仅在视频完成时奖励

android - 从远程服务器下载 APK。推送通知链接

c# - Visual Studio 注释位置调整

c# - YouTube下载器:路径中包含非法字符

c# - 如何在 C# 中应用 XSLT 样式表