Render.ru

Авто Колесо

Ken_Zin

Мастер
Рейтинг
108
#1
Всем привет!
Подскажите пожалуйста как сделать авто вращение колеса в зависимости от направления движения автомобиля.
В сети полно уроков о том как сделать вращения колеса,но авторы уроков не учитывают поворотов корпуса,то есть они двигают машинку вперёд-назад ,но не поворачивают.


Скачал пару ригов автомобилей. И вот что увидел. Вращения колеса в них рассчитывается из суммы перемещений корпуса по X и Z. wheel.rotateX = mainControl.tanslateX + mainControl.tanslateZ.
Такая формула работает только если автомобиль будет повёрнут в диапазоне от 0 до -90 в горизонтальной плоскости, так как именно в этом диапазоне сумма его перемещений по X и Z будет равна положительному значению. Если же повернуть автомобиль например ровно на 45 градусов в горизонтальной плоскости и поехать вперёд, то колёса вращаться не будут ,так как в данном случае формула будт давать "0" , потому что одно из значений (X или Z)будет отрицательным,полярно противоположным другому.

Короче либо я что-то упускаю ,либо чёрт его знает. Запутался окончательно.
Ребята,если у кого есть опыт в оснащении автомобилей ,помогите советом.
 

iNOD

Активный участник
Рейтинг
18
#2
вставить в экспрессию условия.
Код:
float $rttX = mainControl.tanslateX;
float $rttZ = mainControl.tanslateZ;
if(rttX < 0)
{
$rttX = mainControl.tanslateX *(-1);
}
if(rttZ < 0)
{
$rttZ = mainControl.tanslateZ *(-1);
}
wheel.rotateX = $rttZ + $rttX;
 

Ken_Zin

Мастер
Рейтинг
108
#3
Тут возникают проблемы.
1. При езде задним ходом ,колесо вращается не в ту сторону.
2. Если проехать вперёд например на 5 по Z ,затем повернуть на 120 по Y и продолжить ехать вперёд,то колёса почти перестают крутиться. Есть ситуаци когда они вообще не крутится.

Одним словом, выражение не предусматривает все возможные случаи премещений.
 

Ken_Zin

Мастер
Рейтинг
108
#6
Вот например риги иллюстрирующие проблему:


http://www.creativecrash.com/maya/downloads/character-rigs/c/mall_bicycle--2

http://www.creativecrash.com/maya/downloads/character-rigs/c/cartoon-truck

Назад-вперёд катятся хорошо, а стоит чуть чуть поездить-побаловаться и всё- обнаруживаются проблемные для вращения места.
 

iNOD

Активный участник
Рейтинг
18
#7
Думаю лучшим вариантом будет вручную указывать с какой скоростью крутиться колесам создать поле в котором указывать с какой скоростью должны крутиться колеса и в ручную задавать параметр(то есть если значение например 360 то вращение 360 градусов за кадр если с минусом то в обратную сторону). Так как очень много проблем и условий которые нужно учесть.
 

Ken_Zin

Мастер
Рейтинг
108
#10
Владимир Забелин, а можно ли более подробный (на сколько возможно) пример,я в скриптах ориентируюсь не очень,но очень хочется понять.
 

Владимир Забелин

Активный участник
Рейтинг
17
#13
тогда запускай авто по кривой и высчитывай угол поворота в зависимости от длины пройденного пути. других простых вариантов нет
 
Сверху