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=18320)

CostUm 05.07.2013 22:44

Фонарь
 
Каким образом можно реализовать в блитце фонарь? желательно без привлечения сторонних библиотек.

Nex 06.07.2013 00:41

Ответ: Фонарь
 
Весь уровень сделать одним объектом, создать спрайт с картинкой круга и привязать к камере, изменить EntityOrder и EntityFx, но все это будет стремно выглядеть.

Кирпи4 06.07.2013 00:42

Ответ: Фонарь
 
Больная тема. Есть несколько методов, тормозные как собаки, так что по идее нет, без либ хренушки

Gector 06.07.2013 00:47

Ответ: Фонарь
 
Цитата:

Сообщение от CostUm (Сообщение 262728)
Каким образом можно реализовать в блитце фонарь? желательно без привлечения сторонних библиотек.

Без либ красиво - никак.

CostUm 06.07.2013 00:50

Re: Фонарь
 
ну а есть какие-нибудь либы с минимум затратами на создание фонаря?)

IgorOK 06.07.2013 01:37

Ответ: Фонарь
 
http://www.ixbt.com/video/projectivetexture.shtml

CostUm 06.07.2013 01:41

Re: Ответ: Фонарь
 
Цитата:

Сообщение от IgorOK (Сообщение 262751)

нормал

Arton 06.07.2013 01:54

Ответ: Фонарь
 
Вложений: 1
Вложение 19318

CostUm 06.07.2013 01:58

Re: Ответ: Фонарь
 
Цитата:

Сообщение от Arton (Сообщение 262755)

да, что-то подобное я находил, но почему-то при использовании загружаемого меша, вместо создоваемого как там, фонарь ложится как-то кривовато. или если убрать здесь FlipMesh cube
В добавок к этому не смог понять и реализовать включение и выключение фонаря по нужде.

Arton 06.07.2013 22:22

Ответ: Re: Ответ: Фонарь
 
Цитата:

Сообщение от CostUm (Сообщение 262756)
да, что-то подобное я находил, но почему-то при использовании загружаемого меша, вместо создоваемого как там, фонарь ложится как-то кривовато. или если убрать здесь FlipMesh cube
В добавок к этому не смог понять и реализовать включение и выключение фонаря по нужде.

Потому-что там создаётся копия объекта и на копию проецируется текстура света.
Копия ставится в координаты по умолчанию, то есть нулевые.

Добавил две строчки но лучше не стало. Копии мешей, сделанные в 3D Max расставляются как хотят. Думаю корректнее будет проецировать текстуру на объект без копий. Однако как это совмещать если будет несколько текстур.
Код:

Function DL_SetReceiver(mesh)

        dlr.dl_receiver = New dl_receiver
        dlr\mesh = CopyMesh(mesh)

        PositionEntity dlr\mesh,EntityX#(mesh),EntityY#(mesh),EntityZ#(mesh)

        RotateEntity dlr\mesh,EntityPitch#(mesh),EntityYaw#(mesh),EntityRoll#(mesh)
       
        PaintMesh dlr\mesh,dl_brush
       
End Function


CostUm 06.07.2013 23:04

Re: Фонарь
 
короче гнилая тема этот фонарь.. а жаль, хотел сделал геймплей с упором на это)

Arton 07.07.2013 02:36

Ответ: Фонарь
 
Вложений: 1
Кстати вот ещё вариант - Вложение 19324

CostUm 07.07.2013 16:06

Re: Фонарь
 
Во, вот это прям нормал) Только там что, нужны *.bsp модели за место обычных (*.b3d там всяких)?

ABTOMAT 07.07.2013 18:08

Ответ: Re: Фонарь
 
Цитата:

Сообщение от CostUm (Сообщение 262841)
Во, вот это прям нормал) Только там что, нужны *.bsp модели за место обычных (*.b3d там всяких)?

Нет, просто, видимо, у автора такая завалялась.
А вообще пример тупой, там сначала рендерят светлое, потом кладут на спрайт фонаря и ещё раз рендерят с тенями. Зачем так жить?

Gector 07.07.2013 18:43

Ответ: Фонарь
 
Цитата:

Сообщение от Arton (Сообщение 262811)
Кстати вот ещё вариант - Вложение 19324

Это странно работающая дырка а не фонарь. В таком случае реалистичней ставить черный полупрозрачный мэш-конус вокруг камеры.


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

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