Академия 3D GameStudio

Здравствуйте, гость ( Вход | Регистрация )

Ответить в данную темуНачать новую тему
 
>Поворот кости, к определенной точке
Cluch
сообщение 27.7.2010, 7:21
Сообщение #1


Пользователь
***

Группа: Пользователи
Сообщений: 88
Регистрация: 2.9.2008
Пользователь №: 1404



Вид от 3го лица. Нужно чтобы перс вытягивал руку (т.е группу костей) туда, куда указывает перекрестие на экране.

Пытался сделать так:
- трейсить вперед от камеры,
- находить расстояние от точки где трейс положителен до руки перса,
- конвертить его в угол,
- и поворачивать кость руки на этот угол.


вот код:

Код
    vec_set( trace_coords.x, vector(10000, 0, 0) );
    vec_rotate( trace_coords.x, camera.pan );
    
    if (  c_trace( camera.x, trace_coords.x, IGNORE_ME | IGNORE_PASSABLE)  )
     {
       vec_for_bone( bone_pos, my, "HumanLUpperar" );
       vec_diff( rasto, target.x, bone_pos.x );
       vec_to_angle( bone_angle, rasto );
      
       ent_bonereset( my, "HumanLUpperar" );
       ent_bonerotate( my,"HumanLUpperar", bone_angle );
     }
      else
        ent_bonereset(my,"HumanLUpperar");

Результат - рука вроде поворачивается вместе с камерой, но смотрит совсем в другую сторону, да и ведет себя странно. Чтот в коде не так?
Перейти в начало страницы
 
+Цитировать сообщение
jd_frost
сообщение 28.7.2010, 12:59
Сообщение #2


Пользователь
***

Группа: Пользователи
Сообщений: 711
Регистрация: 21.8.2006
Из: Ukraine,Одесса
Пользователь №: 136



Код который ты используешь как бы правильный с одной стороны.
Но с другой стороны, код будет работать только тогда, когда положение костей по умолчанию будет выглядеть так:
рука с костью должна быть вытянута и смотреть в сторону взгляда модели.
Если это не выполняется то и будут всплывать искажения с поворотами, исправить которые можно через добавление к расчетному углу поправок на отклонение кости, от приведенного выше мной положения. Идея ясна ? ))


--------------------
Core 2 Duo E8200, P5B Deluxe, 2Gb Ramm, 8800gt
Вкусности->http:\\195.238.188.143 READ ME!
(Никаких больше просьб о помощи в icq, только форум!)
Перейти в начало страницы
 
+Цитировать сообщение
Cluch
сообщение 28.7.2010, 17:21
Сообщение #3


Пользователь
***

Группа: Пользователи
Сообщений: 88
Регистрация: 2.9.2008
Пользователь №: 1404



Цитата(jd_frost @ 28.7.2010, 12:59) *
рука с костью должна быть вытянута и смотреть в сторону взгляда модели.


В такую позу я ставлю перса с помщью ent_animate, перед начальным If(...).
У перса ж еще положение тела не стандартное "Т" - левое плечо наклонено и повернуто вперед, как бы на одной линии с вытянутой рукой. Возможно ли сделать это без зависимости от положения костей? Хотелось бы чтобы такое можно было делать в любой момент игры без каких либо поправок
Перейти в начало страницы
 
+Цитировать сообщение
Ответить в данную темуНачать новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



RSS Текстовая версия Сейчас: 5.9.2010, 2:36