Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   forum.boolean.name > Программирование игр для компьютеров > Unity > Общие вопросы

Общие вопросы вопросы не попадающие ни в один из доступных разделов

Ответ
 
Опции темы
Старый 20.02.2014, 09:16   #1
Azamat
AnyKey`щик
 
Аватар для Azamat
 
Регистрация: 13.11.2013
Сообщений: 11
Написано одно полезное сообщение
Последовательное включение освещения комнат

Всем привет.
Такой вопрос:
Необходимо реализовать последовательное включение освещение в комнатах. То есть если в той комнате был персонаж, то комната теперь "открыта" - освещена.
Сейчас решил это при помощи тригеров, с компонентом Point Light, (если персонаж попал в тригер, то компонент PL активируется) но он ведь прожорливый, и соответственно fps хорошо падает, так как таких комнат много.
Есть ли другие способы выхода из данной ситуации?
Спасибо.
__________________
Предел в твоей голове.
(Offline)
 
Ответить с цитированием
Старый 20.02.2014, 11:40   #2
trq
ПроЭктировщик
 
Аватар для trq
 
Регистрация: 28.11.2012
Сообщений: 171
Написано 113 полезных сообщений
(для 317 пользователей)
Ответ: Последовательное включение освещения комнат

Запечь лайтмапы?
(Offline)
 
Ответить с цитированием
Старый 20.02.2014, 16:12   #3
EvilOkta
Знающий
 
Аватар для EvilOkta
 
Регистрация: 31.07.2008
Сообщений: 321
Написано 108 полезных сообщений
(для 229 пользователей)
Ответ: Последовательное включение освещения комнат

можно еще сделать условие на проверку видимости комнаты, чтобы компоненты тех комнат, которые были "открыты" все-равно выключались, если выпадают из поля зрения игрока
__________________
Области Хаоса - мой новый Youtube проект
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Azamat (21.02.2014)
Старый 20.02.2014, 16:29   #4
pax
Unity/C# кодер
 
Аватар для pax
 
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений
(для 5,323 пользователей)
Ответ: Последовательное включение освещения комнат

Какой хоть вид в игре? Вид сверху и видно все комнаты сразу?

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

Последний раз редактировалось pax, 20.02.2014 в 23:33.
(Offline)
 
Ответить с цитированием
Старый 21.02.2014, 15:46   #5
Azamat
AnyKey`щик
 
Аватар для Azamat
 
Регистрация: 13.11.2013
Сообщений: 11
Написано одно полезное сообщение
Ответ: Последовательное включение освещения комнат

Сообщение от trq Посмотреть сообщение
Запечь лайтмапы?
потом будет возможность их динамически включать?
__________________
Предел в твоей голове.
(Offline)
 
Ответить с цитированием
Старый 21.02.2014, 15:49   #6
Azamat
AnyKey`щик
 
Аватар для Azamat
 
Регистрация: 13.11.2013
Сообщений: 11
Написано одно полезное сообщение
Ответ: Последовательное включение освещения комнат

Сообщение от EvilOkta Посмотреть сообщение
можно еще сделать условие на проверку видимости комнаты, чтобы компоненты тех комнат, которые были "открыты" все-равно выключались, если выпадают из поля зрения игрока
интересная идея, чтобы потом не загружать сильно, но персонаж не один, я для других придется также проходить по темным комнатам
__________________
Предел в твоей голове.
(Offline)
 
Ответить с цитированием
Старый 21.02.2014, 15:53   #7
Mr_F_
Терабайт исходников
 
Аватар для Mr_F_
 
Регистрация: 13.09.2008
Сообщений: 3,947
Написано 2,189 полезных сообщений
(для 6,051 пользователей)
Ответ: Последовательное включение освещения комнат

потом будет возможность их динамически включать?
да, можно даже запечь два варианта лайтмапов - с освещением и без и переключать их.
единственная ТРАБЛА, которую я пока не смог побороть в таком подходе - с какого-то перепугу подгруженные динамически лайтмапы все, за исключением последних запечённых, могут иметь корявую яркость. причём в инспекторе у всех точно выбран тип - lightmap, да и при забывании выставления этого косяки совершенно другие.
__________________
бложик | geom.io | твиттер | faded | демо 1 2 | роботы | лайтмаппер
(Offline)
 
Ответить с цитированием
Старый 21.02.2014, 15:58   #8
Azamat
AnyKey`щик
 
Аватар для Azamat
 
Регистрация: 13.11.2013
Сообщений: 11
Написано одно полезное сообщение
Ответ: Последовательное включение освещения комнат

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

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

вид в игре, в помещении будет RPG, от третьего лица
__________________
Предел в твоей голове.
(Offline)
 
Ответить с цитированием
Старый 21.02.2014, 16:00   #9
Azamat
AnyKey`щик
 
Аватар для Azamat
 
Регистрация: 13.11.2013
Сообщений: 11
Написано одно полезное сообщение
Ответ: Последовательное включение освещения комнат

Сообщение от Mr_F_ Посмотреть сообщение
да, можно даже запечь два варианта лайтмапов - с освещением и без и переключать их.
единственная ТРАБЛА, которую я пока не смог побороть в таком подходе - с какого-то перепугу подгруженные динамически лайтмапы все, за исключением последних запечённых, могут иметь корявую яркость. причём в инспекторе у всех точно выбран тип - lightmap, да и при забывании выставления этого косяки совершенно другие.
корявая яркость проявляется в зависимости от угла обзора? то есть стветит не постоянно?
__________________
Предел в твоей голове.
(Offline)
 
Ответить с цитированием
Старый 21.02.2014, 16:37   #10
Mr_F_
Терабайт исходников
 
Аватар для Mr_F_
 
Регистрация: 13.09.2008
Сообщений: 3,947
Написано 2,189 полезных сообщений
(для 6,051 пользователей)
Ответ: Последовательное включение освещения комнат

корявая яркость проявляется в зависимости от угла обзора? то есть стветит не постоянно?
нет. просто если загружаешь неоригинальные лайтмапы, они могут немного отличаться по яркости от себя же после бейка.
__________________
бложик | geom.io | твиттер | faded | демо 1 2 | роботы | лайтмаппер
(Offline)
 
Ответить с цитированием
Старый 21.02.2014, 16:46   #11
pax
Unity/C# кодер
 
Аватар для pax
 
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений
(для 5,323 пользователей)
Ответ: Последовательное включение освещения комнат

Умбру пробовал использовать? Там порталы есть...
https://docs.unity3d.com/Documentati...onCulling.html
__________________
Blitz3d to Unity Wiki
(Offline)
 
Ответить с цитированием
Старый 22.02.2014, 10:17   #12
Azamat
AnyKey`щик
 
Аватар для Azamat
 
Регистрация: 13.11.2013
Сообщений: 11
Написано одно полезное сообщение
Ответ: Последовательное включение освещения комнат

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

Сообщение от pax Посмотреть сообщение
Умбру пробовал использовать? Там порталы есть...
https://docs.unity3d.com/Documentati...onCulling.html
первый раз о таком слышу, надо посмотреть

__________________
Предел в твоей голове.
(Offline)
 
Ответить с цитированием
Старый 22.02.2014, 11:10   #13
Mr_F_
Терабайт исходников
 
Аватар для Mr_F_
 
Регистрация: 13.09.2008
Сообщений: 3,947
Написано 2,189 полезных сообщений
(для 6,051 пользователей)
Ответ: Последовательное включение освещения комнат

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

	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 во время игры, сделать все лоады на старте чтобы не вызывать потом подтормозов.
__________________
бложик | geom.io | твиттер | faded | демо 1 2 | роботы | лайтмаппер
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


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


vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com