forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Blitz3D (http://forum.boolean.name/forumdisplay.php?f=45)
-   -   пара вопросов от Колосса (http://forum.boolean.name/showthread.php?t=13488)

Colossus 13.10.2010 03:42

пара вопросов от Колосса
 
так, перед тем как задать 1 вопрос предложу аудитории просмотреть вот этот короткий ролик - http://www.youtube.com/watch?v=2h8Ym0ee9fc


скажите как организовать полет пуль в направлении пистолетов... (пули должны быть визуальными - трассерами)

tormoz 13.10.2010 04:46

Ответ: пара вопросов от Колосса
 
Нужно съесть правильную таблетку.
Ищи Морфеуса, у него точно есть...

Nex 13.10.2010 05:24

Ответ: пара вопросов от Колосса
 
В данном видео ролике пули не физ. объект, а просто "Pick". Парентиш пивот в нужном месте оружия и оттуда "пикаешь" при выстреле если "пик" со стеной, то создаешь "дырку" в стене, а если органическая субстанция, то "отнимаешь" у нее жизни. По поводу огня и дыма - это просто частицы, которые создаются в том месте оружия откуда происходит "пик".
Как то так..

Colossus 14.10.2010 01:14

Ответ: пара вопросов от Колосса
 
хм интересно... тоесть получается создаем пушку+пивот удаленный на нужное расстояние, а дальше? пикуем пивотом и пускаем через него пулю ???

Nex 14.10.2010 02:18

Ответ: пара вопросов от Колосса
 
Отдалять ничего не надо. Пивот создается для того, чтобы у тебя "огонь и дым" создавались "из дула" пистолета, а не из середины модели.
"Пик" (см. в справке LinePick) - это луч, который вернет тебе первый попавшийся объект находящийся перед ним.

Kudesnic 14.10.2010 03:26

Ответ: пара вопросов от Колосса
 
для того чтобы пули были визуальными, мне кажется можно сделать так:
Пусть модель пули например будет что-то типа палки яркого цвета
В функции создания выстрела "рождаем" эту пулю около оружия

shot\entity=CreateCube(gun) ;пуля сразу привязана к оружию
ScaleEntity shot\entity,.1,.1,5

И сразу же "отцепляем" ее от пушки

EntityParent shot\entity,0

Потом в функции обновления пуль, быстро двигаем их вперед

MoveEntity shot\entity,0,0,10

Ну и там проверяем их на столкновения с объектами или просто удаляем
Все вроде просто)

Colossus 14.10.2010 04:28

Ответ: пара вопросов от Колосса
 
ну тоже вариант)) но тут наверно все ресурсоемчее чтоли?

viper86 19.10.2010 10:47

Ответ: пара вопросов от Колосса
 
Цитата:

Сообщение от Kudesnic (Сообщение 164581)
для того чтобы пули были визуальными, мне кажется можно сделать так:
Пусть модель пули например будет что-то типа палки яркого цвета
В функции создания выстрела "рождаем" эту пулю около оружия

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, пик всё равно пикнет объект.


Часовой пояс GMT +4, время: 19:24.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot