forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   3D-программирование (http://forum.boolean.name/forumdisplay.php?f=12)
-   -   Осторожно, ЛАЗЕР! (http://forum.boolean.name/showthread.php?t=14548)

Diffuse13 08.04.2011 11:47

Осторожно, ЛАЗЕР!
 
Как можно сделать более-менее приемлемый лазер? На ресурсах можно не экономить-лазер является самой главной частью игры))))

SBJoker 08.04.2011 11:57

Ответ: Осторожно, ЛАЗЕР!
 
обычно это несколько вложенных друг в друга цилиндров и прозрачностью и фуллбрайтом (возможны вариации цвета и аддиктивный бленд). Шейдерами ещё проще.

Diffuse13 08.04.2011 12:17

Ответ: Осторожно, ЛАЗЕР!
 
Взглянуть в сторону шейдеров блиц не позволяет))))
Остальное понтавилось.
Но лазер должел еще перетерпевать различные изменения-отражаться соответственно, увеличиваться и т.д.
Пойдет ли этот способ для этого??
В теме вопрос-ответ видел кое что:
Цитата:

1) Создаем цилиндр.
2) Перекрашиваем его вертексы следующим образом: у ствола пушкм потемнее, а на конце луча - посветлее (VertexColor в помощь)
3) Пикаем линией в направленнии пушки
4) Узнаем координаты дула, и тыкнутые координаты
5) Позиционируем цилинлр в координаты между дулом и пушкой
6) Поворачиваем цилиндр по векторам (VectorPitch and VectorYaw)
7) Скалим цилиндр, ставим альфу от .3 до .7)
пишем тип АльфаЕнтити, в котором есть поля Entity and Alpha#
9) Делаем функцию обновления элементов типа AlphaEntity
Это чтоб можно было бы какой либо обэкт плавно убрать со сцены, в данном случае луч лазера
Но альфа мне не нужна-я не хочу что бы он был прозрачным.

Reizel 08.04.2011 12:21

Ответ: Осторожно, ЛАЗЕР!
 
как вариант - я не знаю, в башку пришло...
1) Делаем один полупрозрачный цилиндр, потолще, цвет по вкусу.
2) Внутрь помещаем over9000 тонких-тонких цилиндриков
3) Заставляем их перемещаться внутри основного цилиндра по его локальным XY координатам. Скорость по вкусу.
4) Натягиваем на эти нитки какую нибудь бредовую текстуру и заставляем ее быстро-быстро бегать вдоль лазера.
5) Раздувание и прочие фичи по вкусу

impersonalis 08.04.2011 12:35

Ответ: Осторожно, ЛАЗЕР!
 
ну где же АВТОМАТик, плачущий от образа лазера в головах обывателей, видивших сие устройство только в скай-фай?

moka 08.04.2011 13:44

Ответ: Осторожно, ЛАЗЕР!
 
Цилиндры - сильно много трианглов, плюс разные сортировки и бленды ещё и утяжелят этот процесс.
Лучше всего (имхо), это дело делать шлейфами, накрест перекрещенные две полоски, вполне достаточно.

SBJoker 08.04.2011 14:48

Ответ: Осторожно, ЛАЗЕР!
 
Это тоже вариант, однако топик стартер просил максимально эффектное.
Цилиндрами можно сделать любой вид лазеру и максимально кастомизируемый, с анимацией и другими эффектами. Цилиндры можно затекстурить текстурой с альфой, например облаками или дымом, и быстро двигать... будет эффект видимости лазера в частицах пыли / дыме в атмосфере.

ABTOMAT 08.04.2011 17:22

Ответ: Осторожно, ЛАЗЕР!
 
Вложений: 1
Есть хитрый план: говоришь, что лазер был CO2, например, и луч рисовать не надо.

impersonalis 08.04.2011 19:31

Ответ: Осторожно, ЛАЗЕР!
 
Даже больше - рисовать надо только области взаимодействия луча с объектами: пятно в конце луча и пыль в среде распространения. Это касается любого излучения, а не только от лазера: визуализируется оно лишь косвенно - сигналы стали ярче, т.к. появился дополнительный генератор несущей. Разве нет? Срач стартед!

Colossus 19.04.2011 21:17

Ответ: Осторожно, ЛАЗЕР!
 
смею предположить, что обьемный лазерный луч можно создать из 2 костей и одного цилиндра... сильно ресурсы не кушает и получается довольно не плохо

создается в максе цилиндр пускай будет 8 сторон

по обоим сторонам цилиндра создаются кости

примерная схема:



скиним цилиндр, там получается что вершины каждой из сторон привязываются к нужным костям

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

таким образом получается луч лазера ))

пробуйте, удачи!

Mr_F_ 19.04.2011 23:30

Ответ: Осторожно, ЛАЗЕР!
 
на самом деле раз цилиндр не гнётся, достаточно поставить ему центр координат с одного конца а после этого простым скейлом увеличивать длину/поворот.
А ваще мы все равно не увидим проезжание лазера по воздуху. Вон в фалаут3 его и нет. единственное зачем можно менять длину луча - это останавливать его на первом препятствии.

Mr_F_ 12.06.2011 02:34

Ответ: Осторожно, ЛАЗЕР!
 
ахахаха давай ещё


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

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