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

Re: Проблема с использованием функции LookAt();

СообщениеДобавлено: 30 май 2009, 21:53
Neodrop
По-умолчанию он как раз по Y и вращается.
Читайте справку, блин.

Re: Проблема с использованием функции LookAt();

СообщениеДобавлено: 30 май 2009, 22:08
wild_r
Да не вращается, могу скрин дать...

http://img2.pict.com/d6/8c/ae/bf87b033412b7041375599ddac/Ix90v/800/d091d0b5d0b7d18bd0bcd18fd0bdd0bd.png

Это ось y?

Теперь еще одна проблема - если написать вот такое, изменив только одну строку, то объект вращается всего один раз.
Код: Выделить всё
hunt.LookAt(Vector3(tar.position.x,tar.position.y,-tar.position.z));

Re: Проблема с использованием функции LookAt();

СообщениеДобавлено: 30 май 2009, 23:08
Neodrop
А вы уверены, что у вашего объекта эта ось смотрит куда надо, или решили дальше меня раздражать глупостями, подобными предыдущей проблеме? :-?

Re: Проблема с использованием функции LookAt();

СообщениеДобавлено: 30 май 2009, 23:21
wild_r
Вы меня за дурачка держите? Может вам и непонятно, но объект действительно вращается не только по оси у. Причем если стоят далеко от объекта - то все нормально, если подойди близко, то можно словить вот такое. Причем при одинаковом положении камеры или гг поворот идет под разными углами.

Что насчет первого варианта? Это скрипт, с правильным объектами именно со цены. В нем поменяли одну строку, чтобы при повороте он смотрел "лицом" к гг.

Re: Проблема с использованием функции LookAt();

СообщениеДобавлено: 30 май 2009, 23:35
Neodrop
Мне за вас вашу игру написать? :-?
На счёт "дурачка" - смотрите предыдущий вопрос.
Тьфу. Довёл всё-таки.
Я больше не буду читать эту тему, чтобы не портить себе нервы.

Re: Проблема с использованием функции LookAt();

СообщениеДобавлено: 31 май 2009, 10:14
Neodrop
Подобрел что то с утра...
Ладно, приоткрою вновь кладезь мудрости для начинающих.
Видимо, у вас вовсе нет опыта программирования трёхмерных приложений?
Функция LookAt - вспомогательная, а не универсальная. Главное её неудобство именно в том, что при неправильном её использовании, она "сбивает" объект с исходной ориентации. Победить это проще пареной репы. Если вам почему то невмоготу использовать Rotate, то и LookAt подойдёт, только "смотреть" нужно в точку, равную по высоте вашему объекту (чтобы тело бойца не меняло угол).
То есть :
Код: Выделить всё
var obj : Transform; // Боец;
var target : Transform; // Мишень.

//.....

obj.LookAt(Vector3(target.position.x, obj.position.y, target.position.z));



Вот и всё. Делов то. :-?

P.S. Если у вас что-то не получается, на 99% это значит, что виноваты вы, а не ваш инструмент, в котором вы ещё, к тому же, очень поверхностно разбираетесь.

Re: Проблема с использованием функции LookAt();

СообщениеДобавлено: 31 май 2009, 13:09
wild_r
Работает. Я на инструмент никогда не пинял, просто я не знаю, как он в некоторых случаях работает... Или невнимательно читаю...

Спасибо!