forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Общие вопросы (http://forum.boolean.name/forumdisplay.php?f=166)
-   -   Последовательное включение освещения комнат (http://forum.boolean.name/showthread.php?t=18960)

Azamat 20.02.2014 09:16

Последовательное включение освещения комнат
 
Всем привет.
Такой вопрос:
Необходимо реализовать последовательное включение освещение в комнатах. То есть если в той комнате был персонаж, то комната теперь "открыта" - освещена.
Сейчас решил это при помощи тригеров, с компонентом Point Light, (если персонаж попал в тригер, то компонент PL активируется) но он ведь прожорливый, и соответственно fps хорошо падает, так как таких комнат много.
Есть ли другие способы выхода из данной ситуации?
Спасибо.

trq 20.02.2014 11:40

Ответ: Последовательное включение освещения комнат
 
Запечь лайтмапы?

EvilOkta 20.02.2014 16:12

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

pax 20.02.2014 16:29

Ответ: Последовательное включение освещения комнат
 
Какой хоть вид в игре? Вид сверху и видно все комнаты сразу?

Можно попробовать использовать много слоев и каждому источнику прописывать освещать объекты с определенного слоя...

Azamat 21.02.2014 15:46

Ответ: Последовательное включение освещения комнат
 
Цитата:

Сообщение от trq (Сообщение 274869)
Запечь лайтмапы?

потом будет возможность их динамически включать?

Azamat 21.02.2014 15:49

Ответ: Последовательное включение освещения комнат
 
Цитата:

Сообщение от EvilOkta (Сообщение 274894)
можно еще сделать условие на проверку видимости комнаты, чтобы компоненты тех комнат, которые были "открыты" все-равно выключались, если выпадают из поля зрения игрока

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

Mr_F_ 21.02.2014 15:53

Ответ: Последовательное включение освещения комнат
 
Цитата:

потом будет возможность их динамически включать?
да, можно даже запечь два варианта лайтмапов - с освещением и без и переключать их.
единственная ТРАБЛА, которую я пока не смог побороть в таком подходе - с какого-то перепугу подгруженные динамически лайтмапы все, за исключением последних запечённых, могут иметь корявую яркость. причём в инспекторе у всех точно выбран тип - lightmap, да и при забывании выставления этого косяки совершенно другие.

Azamat 21.02.2014 15:58

Ответ: Последовательное включение освещения комнат
 
Цитата:

Сообщение от pax (Сообщение 274897)
Какой хоть вид в игре? Вид сверху и видно все комнаты сразу?

Можно попробовать использовать много слоев и каждому источнику прописывать освещать объекты с определенного слоя...

плохо представляю как это будет работать, да и будет это столь оптимально, комнат много, 3 этажа.

вид в игре, в помещении будет RPG, от третьего лица

Azamat 21.02.2014 16:00

Ответ: Последовательное включение освещения комнат
 
Цитата:

Сообщение от Mr_F_ (Сообщение 274985)
да, можно даже запечь два варианта лайтмапов - с освещением и без и переключать их.
единственная ТРАБЛА, которую я пока не смог побороть в таком подходе - с какого-то перепугу подгруженные динамически лайтмапы все, за исключением последних запечённых, могут иметь корявую яркость. причём в инспекторе у всех точно выбран тип - lightmap, да и при забывании выставления этого косяки совершенно другие.

корявая яркость проявляется в зависимости от угла обзора? то есть стветит не постоянно?

Mr_F_ 21.02.2014 16:37

Ответ: Последовательное включение освещения комнат
 
Цитата:

корявая яркость проявляется в зависимости от угла обзора? то есть стветит не постоянно?
нет. просто если загружаешь неоригинальные лайтмапы, они могут немного отличаться по яркости от себя же после бейка.

pax 21.02.2014 16:46

Ответ: Последовательное включение освещения комнат
 
Умбру пробовал использовать? Там порталы есть...
https://docs.unity3d.com/Documentati...onCulling.html

Azamat 22.02.2014 10:17

Ответ: Последовательное включение освещения комнат
 
Цитата:

Сообщение от Mr_F_ (Сообщение 274992)
нет. просто если загружаешь неоригинальные лайтмапы, они могут немного отличаться по яркости от себя же после бейка.

ок, спасибо, надо попробовать

Цитата:

Сообщение от pax (Сообщение 274993)
Умбру пробовал использовать? Там порталы есть...
https://docs.unity3d.com/Documentati...onCulling.html

первый раз о таком слышу, надо посмотреть

:super:

Mr_F_ 22.02.2014 11:10

Ответ: Последовательное включение освещения комнат
 
Цитата:

ок, спасибо, надо попробовать
вот так я их меняю динамически, если интересно (возможно где-то не так чё делаю?):

Код:

        static void SetLM(string n)
        {
                LightmapData[] lm = new LightmapData[LightmapSettings.lightmaps.Length];
       
                for(int i=0; i<LightmapSettings.lightmaps.Length; i++)
                {
                        lm[i] = new LightmapData();
                        lm[i].lightmapNear = (Texture2D)Resources.Load("lm/"+sceneName+"/"+n+"/"+"LightmapNear-"+i, typeof(Texture2D));
                        lm[i].lightmapFar = (Texture2D)Resources.Load("lm/"+sceneName+"/"+n+"/"+"LightmapFar-"+i, typeof(Texture2D));
                }
               
                LightmapSettings.lightmaps = lm;
                LightmapSettings.lightProbes = (LightProbes)Resources.Load("lm/"+sceneName+"/"+n+"/"+"LightProbes", typeof(LightProbes));
        }

Тебе для комнат лучше обойтись без resources.load во время игры, сделать все лоады на старте чтобы не вызывать потом подтормозов.


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

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