Unity中Quaternion.identity如何实现沿X轴旋转90度

在Unity中,如果你想在实例化新对象时使其沿X轴旋转90度,可以使用Quaternion.identity作为初始旋转值,并在Instantiate方法之后使用Transform.Rotate方法调整其方向。

以下是如何修改GenerateCylinder方法以实现此目的:

public void GenerateCylinder()
{
    // 计算预制体个数
    int prefabCount = Mathf.Max(Mathf.CeilToInt(targetHeight / defaultHeight), 1);

    // 计算新圆柱体的尺寸大小
    Vector3 scale = new Vector3(targetRadius * 2, defaultHeight, targetRadius * 2);

    // 实例化新的圆柱体对象
    for (int i = 0; i < prefabCount; i++)
    {
        GameObject newCylinder = Instantiate(cylinderPrefab, transform.position + new Vector3(0, i * defaultHeight, 0), Quaternion.identity);
        newCylinder.transform.localScale = scale;
        newCylinder.transform.Rotate(90f, 0f, 0f); // 沿X轴旋转90°
    }
}

解释:

  1. Quaternion.identity表示没有旋转,相当于欧拉角(0, 0, 0)。
  2. Instantiate方法中使用Quaternion.identity实例化对象,确保对象初始状态没有旋转。
  3. 使用Transform.Rotate(90f, 0f, 0f)方法将对象绕X轴旋转90度。

通过这种方式,你就能生成沿X轴旋转90度的对象了。

Unity中Quaternion.identity如何实现沿X轴旋转90度

原文地址: https://www.cveoy.top/t/topic/lj7 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录