Описание
Применяет преобразование относительно мировой системы координат.
Используйте это, чтобы применить преобразования к игровому объекту, используя мировые координаты. Это означает, что преобразование игрового объекта изменяется через мировое пространство, а не через локальное пространство игрового объекта. Чтобы преобразовать GameObject с учетом поворота GameObject, используйте Space.Self.
//Этот пример показывает разницу между использованием Space.world и Space.self. Прикрепите этот скрипт к GameObject.
// Включите или отключите флажок в Инспекторе перед запуском (в зависимости от того, хотите ли вы мир или себя)
//Нажмите кнопку воспроизведения, чтобы увидеть, как GameObject правильно вращается. Нажмите пробел, чтобы переключиться между миром и собой.
using UnityEngine;
public class Example : MonoBehaviour
{
float m_Speed;
public bool m_WorldSpace;
void Start()
{
//Set the speed of the rotation
m_Speed = 20.0f;
//Rotate the GameObject a little at the start to show the difference between Space and Local
transform.Rotate(60, 0, 60);
}
void Update()
{
//Rotate the GameObject in World Space if in the m_WorldSpace state
if (m_WorldSpace)
transform.Rotate(Vector3.up * m_Speed * Time.deltaTime, Space.World);
//Otherwise, rotate the GameObject in local space
else
transform.Rotate(Vector3.up * m_Speed * Time.deltaTime, Space.Self);
//Press the Space button to switch between world and local space states
if (Input.GetKeyDown(KeyCode.Space))
{
//Make the current state switch to the other state
m_WorldSpace = !m_WorldSpace;
//Output the Current state to the console
Debug.Log("World Space : " + m_WorldSpace.ToString());
}
}
}