Пятница, 19 Апреля 2024, 12:18

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Форум игроделов » Движки для разработки игр и сложные системы разработки » Unity » перевести локальный eulerAngle в глобальный
перевести локальный eulerAngle в глобальный
JakartaIlIДата: Понедельник, 16 Декабря 2019, 09:30 | Сообщение # 1
частый гость
Сейчас нет на сайте
Мне нужно взять поворот объекта №1 добавить к нему offset поворот и применить этот поворот на объект №2 (скопировать глобальный поворот с одного объекта на другой с локальным offsetом)
DymkensДата: Понедельник, 16 Декабря 2019, 11:00 | Сообщение # 2
почетный гость
Сейчас нет на сайте
На ум приходит один вариант, но, к сожалению проверить сейчас не могу.
Объявляем переменные в объекте считывания поворота.
Код

public static float vectorX;
public static float vectorY;
public static float vectorZ;

void Update()
{
vectorX = GetComponent<Transform>().eulerAngles.x;
vectorY = GetComponent<Transform>().eulerAngles.y;
vectorZ = GetComponent<Transform>().eulerAngles.z;
}

Дальше в другой скрипт с объектом вставляем применение в Update.
Код

float rotX = FirstScriptName.vectorX;
float rotY = FirstScriptName.vectorY;
float rotZ = FirstScriptName.vectorZ;

transform.rotation = Quaternion.Euler(rotX, rotY, rotZ);

Или так:
Код
transform.rotation = Quaternion.Euler(FirstScriptName.vectorX, FirstScriptName.vectorY, FirstScriptName.vectorZ);


Моя первая игра - MilvusX

Сообщение отредактировал Dymkens - Понедельник, 16 Декабря 2019, 11:05
Форум игроделов » Движки для разработки игр и сложные системы разработки » Unity » перевести локальный eulerAngle в глобальный
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг