Скрипт слежения врага за игроком
igoryan Дата: Ср, 14 Мар 2012, 01:56 | Сообщение # 1
Сообщений: 6
Награды:
0
Репутация:
0
Статус: Offline
Делаю первые шаги в изучении C# скриптинга под Unity. Задача проста, сделать скрипт слежения модели за передвижением игрока. Используя Quaternion модель поворачивается по 3 осям. Как сделать поворот только по оси Y. ps не стебайтесь, если это элементарно плз
Сообщение Делаю первые шаги в изучении C# скриптинга под Unity. Задача проста, сделать скрипт слежения модели за передвижением игрока. Используя Quaternion модель поворачивается по 3 осям. Как сделать поворот только по оси Y. ps не стебайтесь, если это элементарно плз Автор - igoryan Дата добавления - 14 Мар 2012 в 01:56
Левша Дата: Ср, 14 Мар 2012, 02:05 | Сообщение # 2
Черный Волк
Сообщений: 7257
Награды:
30
Репутация:
3313
Статус: Offline
Quote (igoryan )
Как сделать поворот только по оси Y.
Следующей строкой после Quaternion пропиши: Code
transform.eulerAngles.x = 0; transform.eulerAngles.z = 0;
Если обьект дочерний то: Code
transform.localEulerAngles.x = 0; transform.localEulerAngles.z = 0;
Это заморозит вращение по остальным осям
X.cor.R (Prologue)
Сообщение Quote (igoryan )
Как сделать поворот только по оси Y.
Следующей строкой после Quaternion пропиши: Code
transform.eulerAngles.x = 0; transform.eulerAngles.z = 0;
Если обьект дочерний то: Code
transform.localEulerAngles.x = 0; transform.localEulerAngles.z = 0;
Это заморозит вращение по остальным осямАвтор - Левша Дата добавления - 14 Мар 2012 в 02:05
igoryan Дата: Ср, 14 Мар 2012, 23:22 | Сообщение # 3
Сообщений: 6
Награды:
0
Репутация:
0
Статус: Offline
Не работает... выдает ошибку. Чего не так?
Сообщение Не работает... выдает ошибку. Чего не так? Автор - igoryan Дата добавления - 14 Мар 2012 в 23:22
Левша Дата: Чт, 15 Мар 2012, 00:56 | Сообщение # 4
Черный Волк
Сообщений: 7257
Награды:
30
Репутация:
3313
Статус: Offline
Quote (igoryan )
Чего не так?
Бес понятия... код рабочий. Впиши его правильно. Привожу участок аналогичного кода из моего рабочего скрипта: Code
transform.rotation = Quaternion.Slerp(kamera.transform.rotation, targetRotation, rotSpeed * (movSpeed / 3 + 3) * Time.deltaTime); transform.eulerAngles.x = 0; transform.eulerAngles.z = 0;
Итог - вращение строго по оси Y.
X.cor.R (Prologue)
Сообщение Quote (igoryan )
Чего не так?
Бес понятия... код рабочий. Впиши его правильно. Привожу участок аналогичного кода из моего рабочего скрипта: Code
transform.rotation = Quaternion.Slerp(kamera.transform.rotation, targetRotation, rotSpeed * (movSpeed / 3 + 3) * Time.deltaTime); transform.eulerAngles.x = 0; transform.eulerAngles.z = 0;
Итог - вращение строго по оси Y.Автор - Левша Дата добавления - 15 Мар 2012 в 00:56
igoryan Дата: Сб, 17 Мар 2012, 12:50 | Сообщение # 5
Сообщений: 6
Награды:
0
Репутация:
0
Статус: Offline
Твой пример почему то не работает, а вот так заработало Code
yRotation = transform.eulerAngles.y; transform.eulerAngles = new Vector3(0, yRotation, 0);
Вопрос решен.
Сообщение отредактировал igoryan - Сб, 17 Мар 2012, 12:51
Сообщение Твой пример почему то не работает, а вот так заработало Code
yRotation = transform.eulerAngles.y; transform.eulerAngles = new Vector3(0, yRotation, 0);
Вопрос решен. Автор - igoryan Дата добавления - 17 Мар 2012 в 12:50
Левша Дата: Сб, 17 Мар 2012, 14:48 | Сообщение # 6
Черный Волк
Сообщений: 7257
Награды:
30
Репутация:
3313
Статус: Offline
Quote (igoryan )
transform.eulerAngles = new Vector3(0, yRotation, 0);
Quote (Левша )
transform.eulerAngles.x = 0; transform.eulerAngles.z = 0;
Это одно и то же.
X.cor.R (Prologue)
Сообщение Quote (igoryan )
transform.eulerAngles = new Vector3(0, yRotation, 0);
Quote (Левша )
transform.eulerAngles.x = 0; transform.eulerAngles.z = 0;
Это одно и то же. Автор - Левша Дата добавления - 17 Мар 2012 в 14:48
seaman Дата: Сб, 17 Мар 2012, 15:44 | Сообщение # 7
Гуру
Сообщений: 1748
Награды:
10
Репутация:
660
Статус: Offline
В C# не одно и тоже.
Сообщение В C# не одно и тоже. Автор - seaman Дата добавления - 17 Мар 2012 в 15:44
igoryan Дата: Сб, 17 Мар 2012, 23:57 | Сообщение # 8
Сообщений: 6
Награды:
0
Репутация:
0
Статус: Offline
В том то и дело, что у меня первый вариант работает, а второй нет.
Сообщение В том то и дело, что у меня первый вариант работает, а второй нет. Автор - igoryan Дата добавления - 17 Мар 2012 в 23:57
commandoby Дата: Вс, 01 Апр 2012, 15:58 | Сообщение # 9
Unity 3D Free
Сообщений: 836
Награды:
3
Репутация:
211
Статус: Offline
Quote (igoryan )
Как сделать поворот только по оси Y.
Можно и без скрипта заблокировать вращение объекта по осям: Rigidbody/Constraints . Мне это один раз пригодилось.
Блог.
Сообщение отредактировал commandoby - Вс, 01 Апр 2012, 16:00
Сообщение Quote (igoryan )
Как сделать поворот только по оси Y.
Можно и без скрипта заблокировать вращение объекта по осям: Rigidbody/Constraints . Мне это один раз пригодилось.Автор - commandoby Дата добавления - 01 Апр 2012 в 15:58