Показать сообщение отдельно
Старый 14.01.2013, 15:58   #11
pepel
Мастер
 
Аватар для pepel
 
Регистрация: 23.09.2009
Адрес: ленобласть
Сообщений: 1,189
Написано 447 полезных сообщений
(для 2,526 пользователей)
Ответ: как найти поверхности в энтити после LoadAnimMesh

Сообщение от burovalex Посмотреть сообщение
Лучше посмотри физические движки.
вообще ему рановато пока братся за движки если он даже с блитцем не разобрался толком , но вообще на будущее лучше конечно физикс юзать

Сообщение от egosha1381 Посмотреть сообщение
должна одновременно и независимо скейлиться по высоте.
вообще то ресора в жизни не скейлится а тонкая трубка уходит внутрь большой.

для этого лучше использовать тонкую трубку с локальной системой координат(http://www.3dgrafia.ru/modelirovanie...azovaniya.html) , т.е. смодилть отдельно и повернуть, соответственно ту которая была в модели удалить, смотри первую картинку обрати внимание на оси как они расположены

затем эту трубку также называем в максе, достаем ее в блитце финдчилдом . даем имя

затем нужно ее двигать в локальной системе координат , например moveentity там движение по локальной системе.

res_left=FindChild(koka,"res_left")
MoveEntity res_left,0,.5,
затем нужно привязать лыжу к ресоре, чтоб она за ней следовала

для этого нужно узнать глобальные координаты ресоры . и соответственно передвинуть в глобальных

PositionEntity ski_left,EntityX(res_left,1),EntityY(res_left,1),EntityZ(res_left,1),
единичка на конце это и означает что это глобальные координаты

ну вот собственно и все. если хочешь сделать ограничение по высоте, то лучше использовать локальные координаты , т.е. если твой байк будет двигатся по уровню то глобальные координаты будут менятся а локальные нет

в итоге получаем такой код

If KeyDown(200) And EntityY(res_left,0)<-7

    MoveEntity res_left
,0,.5,0
    MoveEntity res_right
,0,-.5,0


EndIf

If 
KeyDown(208) And EntityY(res_left,0)>-18

    MoveEntity res_left
,0,-.5,0
    MoveEntity res_right
,0,.5,0

EndIf    

    
PositionEntity ski_left,EntityX(res_left,1),EntityY(res_left,1),EntityZ(res_left,1),1
    PositionEntity ski_right
,EntityX(res_right,1),EntityY(res_right,1),EntityZ(res_right,1),
еще есть второй вариант - прикрепить каждую лыжу к родительскому объекту т.е. к ресоре и она будет двигатся в след за ней

EntityParent ski_left,res_left
EntityParent ski_right
,res_right 
тогда PositionEntity удаляем за не надобностью



прикрепил 2 проекта
Миниатюры
Нажмите на изображение для увеличения
Название: 1.png
Просмотров: 918
Размер:	283.0 Кб
ID:	18480  
Вложения
Тип файла: rar test.rar (164.8 Кб, 581 просмотров)
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
egosha1381 (15.01.2013)