Страница 1 из 2

Изменение объекта по Rotation Z

СообщениеДобавлено: 23 апр 2017, 00:36
Young_dch
Как можно изменять объект по Rotation Z? К примеру от -0.5 до 0.5 за определенное время

Re: Изменение объекта по Rotation Z

СообщениеДобавлено: 23 апр 2017, 04:50
Valerich
Короутины, и изменение объекта (новые координаты по z) :)

Re: Изменение объекта по Rotation Z

СообщениеДобавлено: 23 апр 2017, 10:47
Young_dch
Valerich писал(а):Короутины, и изменение объекта (новые координаты по z) :)

А можно как нибудь еще реализовать это ?

Re: Изменение объекта по Rotation Z

СообщениеДобавлено: 23 апр 2017, 10:57
EagleOwle
Что вы подразумевает под выражением "изменить объект"?

Re: Изменение объекта по Rotation Z

СообщениеДобавлено: 23 апр 2017, 12:11
Young_dch
EagleOwle писал(а):Что вы подразумевает под выражением "изменить объект"?

Чтоб он менял Rotation z за определенное время

Re: Изменение объекта по Rotation Z

СообщениеДобавлено: 23 апр 2017, 13:29
Valentinus
поворачивайте обьект на небольшой угол, пока он не займет нужное положение.

Re: Изменение объекта по Rotation Z

СообщениеДобавлено: 23 апр 2017, 17:12
Valentinus
Valentinus писал(а):поворачивайте обьект на небольшой угол, пока он не займет нужное положение.

можете это делать в Update, UpdateFixed, или вынести в отдельную функцию которую вызывать через Invoke или Coroutines (хотя последнее для вас видимо будет еще сложно)

Re: Изменение объекта по Rotation Z

СообщениеДобавлено: 23 апр 2017, 17:32
Anonymyx
Синтаксис:
Используется csharp
transform.eulerAngles = new Vector3(transform.eulerAngles.x, transform.eulerAngles.y, Mathf.Lerp(transform.eulerAngles.z, 0.5f, speed * Time.deltaTime));
transform.rotation = Quaternion.Slerp(transform.rotation, Quaternion.Euler(0f, 0f, 0.5f), speed * Time.deltaTime); // или вместо 0 текущие углы

2 варианта. speed - скорость.

Re: Изменение объекта по Rotation Z

СообщениеДобавлено: 23 апр 2017, 19:01
Young_dch
Anonymyx писал(а):
Синтаксис:
Используется csharp
transform.eulerAngles = new Vector3(transform.eulerAngles.x, transform.eulerAngles.y, Mathf.Lerp(transform.eulerAngles.z, 0.5f, speed * Time.deltaTime));
transform.rotation = Quaternion.Slerp(transform.rotation, Quaternion.Euler(0f, 0f, 0.5f), speed * Time.deltaTime); // или вместо 0 текущие углы

2 варианта. speed - скорость.

Не получилось( Изменяется все что угодно кроме Z, он даже не доходит до нужных координатов :(

Re: Изменение объекта по Rotation Z

СообщениеДобавлено: 23 апр 2017, 19:24
Valentinus
Young_dch писал(а):
Anonymyx писал(а):
Синтаксис:
Используется csharp
transform.eulerAngles = new Vector3(transform.eulerAngles.x, transform.eulerAngles.y, Mathf.Lerp(transform.eulerAngles.z, 0.5f, speed * Time.deltaTime));
transform.rotation = Quaternion.Slerp(transform.rotation, Quaternion.Euler(0f, 0f, 0.5f), speed * Time.deltaTime); // или вместо 0 текущие углы

2 варианта. speed - скорость.

Не получилось( Изменяется все что угодно кроме Z, он даже не доходит до нужных координатов :(


а куда вставляете?

Re: Изменение объекта по Rotation Z

СообщениеДобавлено: 23 апр 2017, 19:29
MANMANA
Valentinus писал(а):а куда вставляете?

может быть сюда viewtopic.php?f=105&t=42998 ?

Re: Изменение объекта по Rotation Z

СообщениеДобавлено: 23 апр 2017, 20:05
Young_dch
Valentinus писал(а):
Young_dch писал(а):
Anonymyx писал(а):
Синтаксис:
Используется csharp
transform.eulerAngles = new Vector3(transform.eulerAngles.x, transform.eulerAngles.y, Mathf.Lerp(transform.eulerAngles.z, 0.5f, speed * Time.deltaTime));
transform.rotation = Quaternion.Slerp(transform.rotation, Quaternion.Euler(0f, 0f, 0.5f), speed * Time.deltaTime); // или вместо 0 текущие углы

2 варианта. speed - скорость.

Не получилось( Изменяется все что угодно кроме Z, он даже не доходит до нужных координатов :(


а куда вставляете?


и в Update и в FixedUpdate, но кажется одну проблему решил, но все равно, не получается сделать так, чтоб Rotation Z менялось от -5 до 5 за определенное время, оно даже почему-то до 360 и возвращается обратно(

Re: Изменение объекта по Rotation Z

СообщениеДобавлено: 23 апр 2017, 20:14
MANMANA
Young_dch писал(а):..., оно даже почему-то до 360 и возвращается обратно(

вилка, ложка, огурец, тарелка 360 градусов...
Измерение углов

Углы Эйлера
"http://ru.m.wikipedia.org/wiki/Углы_Эйлера"

Кручу-верчу, запутать хочу: углы Эйлера и Gimbal lock

Re: Изменение объекта по Rotation Z

СообщениеДобавлено: 23 апр 2017, 21:28
Valentinus
Young_dch писал(а):
и в Update и в FixedUpdate, но кажется одну проблему решил, но все равно, не получается сделать так, чтоб Rotation Z менялось от -5 до 5 за определенное время, оно даже почему-то до 360 и возвращается обратно(

ну а вы перестаете вращать, когда доходит до нужного положения?

Re: Изменение объекта по Rotation Z

СообщениеДобавлено: 23 апр 2017, 21:47
Young_dch
Valentinus писал(а):
Young_dch писал(а):
и в Update и в FixedUpdate, но кажется одну проблему решил, но все равно, не получается сделать так, чтоб Rotation Z менялось от -5 до 5 за определенное время, оно даже почему-то до 360 и возвращается обратно(

ну а вы перестаете вращать, когда доходит до нужного положения?

Я в юнити новичок и не совсем еще все понимаю, и не совсем правильно могу объяснить, но мне нужно что-то на подобии метода Math.pinpong, чтобы когда он доходил до 5, то сразу же возвращался, и нужно чтоб это циклилось