|
3D-программирование Вопросы, касающиеся программирования 3D мира |
08.04.2011, 11:47
|
#1
|
Нуждающийся
Регистрация: 12.11.2010
Адрес: Нашли чо спросить
Сообщений: 51
Написано 3 полезных сообщений (для 4 пользователей)
|
Осторожно, ЛАЗЕР!
Как можно сделать более-менее приемлемый лазер? На ресурсах можно не экономить-лазер является самой главной частью игры))))
|
(Offline)
|
|
08.04.2011, 11:57
|
#2
|
Злобный Админ
Регистрация: 04.09.2005
Сообщений: 5,926
Написано 3,415 полезных сообщений (для 9,330 пользователей)
|
Ответ: Осторожно, ЛАЗЕР!
обычно это несколько вложенных друг в друга цилиндров и прозрачностью и фуллбрайтом (возможны вариации цвета и аддиктивный бленд). Шейдерами ещё проще.
__________________
|
(Offline)
|
|
08.04.2011, 12:17
|
#3
|
Нуждающийся
Регистрация: 12.11.2010
Адрес: Нашли чо спросить
Сообщений: 51
Написано 3 полезных сообщений (для 4 пользователей)
|
Ответ: Осторожно, ЛАЗЕР!
Взглянуть в сторону шейдеров блиц не позволяет))))
Остальное понтавилось.
Но лазер должел еще перетерпевать различные изменения-отражаться соответственно, увеличиваться и т.д.
Пойдет ли этот способ для этого??
В теме вопрос-ответ видел кое что:
1) Создаем цилиндр.
2) Перекрашиваем его вертексы следующим образом: у ствола пушкм потемнее, а на конце луча - посветлее (VertexColor в помощь)
3) Пикаем линией в направленнии пушки
4) Узнаем координаты дула, и тыкнутые координаты
5) Позиционируем цилинлр в координаты между дулом и пушкой
6) Поворачиваем цилиндр по векторам (VectorPitch and VectorYaw)
7) Скалим цилиндр, ставим альфу от .3 до .7)
пишем тип АльфаЕнтити, в котором есть поля Entity and Alpha#
9) Делаем функцию обновления элементов типа AlphaEntity
Это чтоб можно было бы какой либо обэкт плавно убрать со сцены, в данном случае луч лазера
|
Но альфа мне не нужна-я не хочу что бы он был прозрачным.
|
(Offline)
|
|
08.04.2011, 12:21
|
#4
|
Задрот
Регистрация: 24.07.2009
Адрес: Ивановская область, г. Кинешма
Сообщений: 1,574
Написано 407 полезных сообщений (для 863 пользователей)
|
Ответ: Осторожно, ЛАЗЕР!
как вариант - я не знаю, в башку пришло...
1) Делаем один полупрозрачный цилиндр, потолще, цвет по вкусу.
2) Внутрь помещаем over9000 тонких-тонких цилиндриков
3) Заставляем их перемещаться внутри основного цилиндра по его локальным XY координатам. Скорость по вкусу.
4) Натягиваем на эти нитки какую нибудь бредовую текстуру и заставляем ее быстро-быстро бегать вдоль лазера.
5) Раздувание и прочие фичи по вкусу
|
(Offline)
|
|
08.04.2011, 12:35
|
#5
|
Зануда с интернетом
Регистрация: 04.09.2005
Сообщений: 14,014
Написано 6,798 полезных сообщений (для 20,935 пользователей)
|
Ответ: Осторожно, ЛАЗЕР!
ну где же АВТОМАТик, плачущий от образа лазера в головах обывателей, видивших сие устройство только в скай-фай?
__________________
http://nabatchikov.com
Мир нужно делать лучше и чище. Иначе, зачем мы живем? tormoz
А я растила сына на преданьях
о принцах, троллях, потайных свиданьях,
погонях, похищениях невест.
Да кто же знал, что сказка душу съест?
|
(Offline)
|
|
08.04.2011, 13:44
|
#6
|
.
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений (для 6,863 пользователей)
|
Ответ: Осторожно, ЛАЗЕР!
Цилиндры - сильно много трианглов, плюс разные сортировки и бленды ещё и утяжелят этот процесс.
Лучше всего (имхо), это дело делать шлейфами, накрест перекрещенные две полоски, вполне достаточно.
|
(Offline)
|
|
Эти 5 пользователя(ей) сказали Спасибо moka за это полезное сообщение:
|
|
08.04.2011, 14:48
|
#7
|
Злобный Админ
Регистрация: 04.09.2005
Сообщений: 5,926
Написано 3,415 полезных сообщений (для 9,330 пользователей)
|
Ответ: Осторожно, ЛАЗЕР!
Это тоже вариант, однако топик стартер просил максимально эффектное.
Цилиндрами можно сделать любой вид лазеру и максимально кастомизируемый, с анимацией и другими эффектами. Цилиндры можно затекстурить текстурой с альфой, например облаками или дымом, и быстро двигать... будет эффект видимости лазера в частицах пыли / дыме в атмосфере.
__________________
|
(Offline)
|
|
Эти 3 пользователя(ей) сказали Спасибо SBJoker за это полезное сообщение:
|
|
08.04.2011, 17:22
|
#8
|
Ференька
Регистрация: 26.01.2007
Адрес: улица Пушкина дом Колотушкина
Сообщений: 10,742
Написано 5,461 полезных сообщений (для 15,675 пользователей)
|
Ответ: Осторожно, ЛАЗЕР!
Есть хитрый план: говоришь, что лазер был CO2, например, и луч рисовать не надо.
__________________
Мои проекты:
Анальное Рабство
Зелёный Слоник
Дмитрий Маслов*
Различие**
Клюква**
* — в стадии разработки
** — в стадии проектирования
Для проектов в стадии проектирования приведены кодовые имена
|
(Offline)
|
|
Эти 11 пользователя(ей) сказали Спасибо ABTOMAT за это полезное сообщение:
|
ARA (08.04.2011), Arton (30.04.2011), Gector (08.04.2011), impersonalis (08.04.2011), Phantom (09.04.2011), Reks888 (08.04.2011), St_AnGer (08.04.2011), Tadeus (08.04.2011), tormoz (08.04.2011), ViNT (19.04.2011), YellowAfterlife (12.06.2011)
|
08.04.2011, 19:31
|
#9
|
Зануда с интернетом
Регистрация: 04.09.2005
Сообщений: 14,014
Написано 6,798 полезных сообщений (для 20,935 пользователей)
|
Ответ: Осторожно, ЛАЗЕР!
Даже больше - рисовать надо только области взаимодействия луча с объектами: пятно в конце луча и пыль в среде распространения. Это касается любого излучения, а не только от лазера: визуализируется оно лишь косвенно - сигналы стали ярче, т.к. появился дополнительный генератор несущей. Разве нет? Срач стартед!
__________________
http://nabatchikov.com
Мир нужно делать лучше и чище. Иначе, зачем мы живем? tormoz
А я растила сына на преданьях
о принцах, троллях, потайных свиданьях,
погонях, похищениях невест.
Да кто же знал, что сказка душу съест?
|
(Offline)
|
|
Эти 2 пользователя(ей) сказали Спасибо impersonalis за это полезное сообщение:
|
|
19.04.2011, 21:17
|
#10
|
Разработчик
Регистрация: 12.10.2008
Адрес: Самара
Сообщений: 437
Написано 55 полезных сообщений (для 92 пользователей)
|
Ответ: Осторожно, ЛАЗЕР!
смею предположить, что обьемный лазерный луч можно создать из 2 костей и одного цилиндра... сильно ресурсы не кушает и получается довольно не плохо
создается в максе цилиндр пускай будет 8 сторон
по обоим сторонам цилиндра создаются кости
примерная схема:
скиним цилиндр, там получается что вершины каждой из сторон привязываются к нужным костям
а далее в блице просто при выстлеле лазером одна кость находится в позиции оружия а вторую двигаем в точку выстрела
таким образом получается луч лазера ))
пробуйте, удачи!
__________________
Пекарня: Intel Core i3 - 3240(3.40Ghz), ram 8 gb, video Gigabyte Nvidia GeForce GTX 650 1gb
Лэптоп : Intel Core i3 - 2365(1.40Ghz), ram 4gb, video Int Intel HD3000(512mb)
Мой набор: 3ds Max 9 + Xors3d(Blitz3d) + Photoshop
|
(Offline)
|
|
19.04.2011, 23:30
|
#11
|
Терабайт исходников
Регистрация: 13.09.2008
Сообщений: 3,947
Написано 2,189 полезных сообщений (для 6,051 пользователей)
|
Ответ: Осторожно, ЛАЗЕР!
на самом деле раз цилиндр не гнётся, достаточно поставить ему центр координат с одного конца а после этого простым скейлом увеличивать длину/поворот.
А ваще мы все равно не увидим проезжание лазера по воздуху. Вон в фалаут3 его и нет. единственное зачем можно менять длину луча - это останавливать его на первом препятствии.
|
(Offline)
|
|
Эти 2 пользователя(ей) сказали Спасибо Mr_F_ за это полезное сообщение:
|
|
12.06.2011, 02:34
|
#12
|
Терабайт исходников
Регистрация: 13.09.2008
Сообщений: 3,947
Написано 2,189 полезных сообщений (для 6,051 пользователей)
|
Ответ: Осторожно, ЛАЗЕР!
ахахаха давай ещё
|
(Offline)
|
|
Эти 2 пользователя(ей) сказали Спасибо Mr_F_ за это полезное сообщение:
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 07:50.
|