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

Как вращать по одной координате .

СообщениеДобавлено: 22 май 2017, 18:35
Vktorion
Люди выручайте , как вращать по одной координате (х) ? Пытался через transform.eulerAngles.x - не пашет , уже понял почему .Помогите плис пол дня с этой фигней мучаюсь , уже голова болит . Если интерестно то это надо для того что б камера поворачивалась верх-вниз мышкой , но вправо-влево брала координаты как дочерний объект.

Re: Как вращать по одной координате .

СообщениеДобавлено: 22 май 2017, 19:53
Valentinus

Re: Как вращать по одной координате .

СообщениеДобавлено: 22 май 2017, 20:00
samana
Vktorion писал(а):Пытался через transform.eulerAngles.x - не пашет , уже понял почему

Так если поняли, то почему вопрос остался не решенным?)
Углы, позицию и масштаб нужно задавать целиком, сразу по трём осям. Открою секретик мааааалекий такой, если что, то можно заглянуть в справку по API и иногда там очень даже ценные советы можно найти, а порой даже готовый скрипт. https://docs.unity3d.com/ScriptReferenc ... ngles.html обратите внимание, как нужно задавать поворот.

Re: Как вращать по одной координате .

СообщениеДобавлено: 23 май 2017, 08:41
Vktorion
samana писал(а):
Vktorion писал(а):Пытался через transform.eulerAngles.x - не пашет , уже понял почему

Так если поняли, то почему вопрос остался не решенным?)
Углы, позицию и масштаб нужно задавать целиком, сразу по трём осям. Открою секретик мааааалекий такой, если что, то можно заглянуть в справку по API и иногда там очень даже ценные советы можно найти, а порой даже готовый скрипт. https://docs.unity3d.com/ScriptReferenc ... ngles.html обратите внимание, как нужно задавать поворот.

Так не решил . transform.eulerAngles.x - не работает , мне не надо вращать об'экт задав ему координаты у 0 , мне надо вращать об'экт что б у вообще не трогался , что б програма ему не давала никакого значения , а он его брал как дочерний об'экт

Re: Как вращать по одной координате .

СообщениеДобавлено: 23 май 2017, 09:49
Valentinus
я плохо понимаю что вы хотите делать, но может поможет такой код, у меня он поворачивает персонажа к игроку, по оси Y

// поворачиваемс NPC лицом к игроку
// Смотрим, с какой стороны игрок
Vector3 direction = GameObject.Find ("Player").transform.position - transform.position; // из позиции объекта вычитаем свою позицию
direction.y = 0; // пока обойдемся без этого
// Поворачиваем NPC к игроку, с заданной скоростью
transform.rotation = Quaternion.Slerp (transform.rotation, Quaternion.LookRotation (direction), 5* Time.deltaTime);
transform.eulerAngles = new Vector3 (0, transform.eulerAngles.y, 0);


так же можете использовать функцию LookAt