Unity, почему мой объект вращается точно так же вокруг оси Y в Space.Self и Space.World? - PullRequest
0 голосов
/ 03 октября 2018

Итак, мне сказали, что Space.Self вращается вокруг локальных координат, а Space.World вокруг глобальных координат.Поэтому я создал небольшой маленький проект и сценарий в единстве для проверки.Тем не менее, они оба, кажется, вращаются одинаково.Я что-то не так делаю? My simple setup for testing

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Spin : MonoBehaviour {

    public bool isSpinOnSelf = true;

    public bool isSpinOnWorld = false;


    // Use this for initialization
    void Start () {

    }

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

        if(isSpinOnSelf)
            transform.Rotate(0,3f,0, Space.Self);

        if(isSpinOnWorld)
            transform.Rotate(0, 3f, 0, Space.World);
    }
}

1 Ответ

0 голосов
/ 03 октября 2018

Это потому, что ось Y объекта все еще выровнена с мировой осью Y.

Вы вращаетесь вокруг одной оси.Если вы повернули объект так, чтобы его ось Y была горизонтальной, вы заметите разницу между ними.В локальном пространстве объект, казалось бы, «катится», тогда как в мировом пространстве он все еще вращается «вбок».

...