Сообщение от Kudesnic
для того чтобы пули были визуальными, мне кажется можно сделать так:
Пусть модель пули например будет что-то типа палки яркого цвета
В функции создания выстрела "рождаем" эту пулю около оружия
shot\entity=CreateCube(gun) ;пуля сразу привязана к оружию
ScaleEntity shot\entity,.1,.1,5
И сразу же "отцепляем" ее от пушки
EntityParent shot\entity,0
Потом в функции обновления пуль, быстро двигаем их вперед
MoveEntity shot\entity,0,0,10
Ну и там проверяем их на столкновения с объектами или просто удаляем
Все вроде просто)
|
Лучше так не делать, так как пуля может за один кадр перелететь объект и попадание не засчитаеться. Да и ресурсов кушать будет поболее, чем пиком. Предлагаю создавать pivot с родителем в лице твоей пушки, двигать его вперёд на расстояние, равное дальности полета пули для данного оружия, затем при выстреле делать пик от пушки до пивота с постоянно растущим радиусом, то есть:
distance = distance + 5
LinePick(EntityX(gun), EntityY(gun), EntityZ(gun), EntityX(pivot), EntityY(pivot), EntityZ(pivot), distance)
И так до тех пор, пока distance не превысит дальность полета пули (distance > EntityDistance(gun, pivot)). Такой способ быстрее будет работать плюс как бы быстро не менялся твой distance, пик всё равно пикнет объект.