![](images/chestnut/misc/left.gif) |
Общие вопросы вопросы не попадающие ни в один из доступных разделов |
20.02.2014, 09:16
|
#1
|
AnyKey`щик
Регистрация: 13.11.2013
Сообщений: 11
Написано одно полезное сообщение
|
Последовательное включение освещения комнат
Всем привет.
Такой вопрос:
Необходимо реализовать последовательное включение освещение в комнатах. То есть если в той комнате был персонаж, то комната теперь "открыта" - освещена.
Сейчас решил это при помощи тригеров, с компонентом Point Light, (если персонаж попал в тригер, то компонент PL активируется) но он ведь прожорливый, и соответственно fps хорошо падает, так как таких комнат много.
Есть ли другие способы выхода из данной ситуации?
Спасибо.
__________________
Предел в твоей голове.
|
(Offline)
|
|
20.02.2014, 11:40
|
#2
|
ПроЭктировщик
Регистрация: 28.11.2012
Сообщений: 171
Написано 113 полезных сообщений (для 317 пользователей)
|
Ответ: Последовательное включение освещения комнат
Запечь лайтмапы?
|
(Offline)
|
|
20.02.2014, 16:12
|
#3
|
Знающий
Регистрация: 31.07.2008
Сообщений: 321
Написано 108 полезных сообщений (для 229 пользователей)
|
Ответ: Последовательное включение освещения комнат
можно еще сделать условие на проверку видимости комнаты, чтобы компоненты тех комнат, которые были "открыты" все-равно выключались, если выпадают из поля зрения игрока
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
20.02.2014, 16:29
|
#4
|
Unity/C# кодер
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений (для 5,323 пользователей)
|
Ответ: Последовательное включение освещения комнат
Какой хоть вид в игре? Вид сверху и видно все комнаты сразу?
Можно попробовать использовать много слоев и каждому источнику прописывать освещать объекты с определенного слоя...
Последний раз редактировалось pax, 20.02.2014 в 23:33.
|
(Offline)
|
|
21.02.2014, 15:46
|
#5
|
AnyKey`щик
Регистрация: 13.11.2013
Сообщений: 11
Написано одно полезное сообщение
|
Ответ: Последовательное включение освещения комнат
Сообщение от trq
Запечь лайтмапы?
|
потом будет возможность их динамически включать?
__________________
Предел в твоей голове.
|
(Offline)
|
|
21.02.2014, 15:49
|
#6
|
AnyKey`щик
Регистрация: 13.11.2013
Сообщений: 11
Написано одно полезное сообщение
|
Ответ: Последовательное включение освещения комнат
Сообщение от EvilOkta
можно еще сделать условие на проверку видимости комнаты, чтобы компоненты тех комнат, которые были "открыты" все-равно выключались, если выпадают из поля зрения игрока
|
интересная идея, чтобы потом не загружать сильно, но персонаж не один, я для других придется также проходить по темным комнатам
__________________
Предел в твоей голове.
|
(Offline)
|
|
21.02.2014, 15:53
|
#7
|
Терабайт исходников
Регистрация: 13.09.2008
Сообщений: 3,947
Написано 2,189 полезных сообщений (для 6,051 пользователей)
|
Ответ: Последовательное включение освещения комнат
потом будет возможность их динамически включать?
|
да, можно даже запечь два варианта лайтмапов - с освещением и без и переключать их.
единственная ТРАБЛА, которую я пока не смог побороть в таком подходе - с какого-то перепугу подгруженные динамически лайтмапы все, за исключением последних запечённых, могут иметь корявую яркость. причём в инспекторе у всех точно выбран тип - lightmap, да и при забывании выставления этого косяки совершенно другие.
|
(Offline)
|
|
21.02.2014, 15:58
|
#8
|
AnyKey`щик
Регистрация: 13.11.2013
Сообщений: 11
Написано одно полезное сообщение
|
Ответ: Последовательное включение освещения комнат
Сообщение от pax
Какой хоть вид в игре? Вид сверху и видно все комнаты сразу?
Можно попробовать использовать много слоев и каждому источнику прописывать освещать объекты с определенного слоя...
|
плохо представляю как это будет работать, да и будет это столь оптимально, комнат много, 3 этажа.
вид в игре, в помещении будет RPG, от третьего лица
__________________
Предел в твоей голове.
|
(Offline)
|
|
21.02.2014, 16:00
|
#9
|
AnyKey`щик
Регистрация: 13.11.2013
Сообщений: 11
Написано одно полезное сообщение
|
Ответ: Последовательное включение освещения комнат
Сообщение от Mr_F_
да, можно даже запечь два варианта лайтмапов - с освещением и без и переключать их.
единственная ТРАБЛА, которую я пока не смог побороть в таком подходе - с какого-то перепугу подгруженные динамически лайтмапы все, за исключением последних запечённых, могут иметь корявую яркость. причём в инспекторе у всех точно выбран тип - lightmap, да и при забывании выставления этого косяки совершенно другие.
|
корявая яркость проявляется в зависимости от угла обзора? то есть стветит не постоянно?
__________________
Предел в твоей голове.
|
(Offline)
|
|
21.02.2014, 16:37
|
#10
|
Терабайт исходников
Регистрация: 13.09.2008
Сообщений: 3,947
Написано 2,189 полезных сообщений (для 6,051 пользователей)
|
Ответ: Последовательное включение освещения комнат
корявая яркость проявляется в зависимости от угла обзора? то есть стветит не постоянно?
|
нет. просто если загружаешь неоригинальные лайтмапы, они могут немного отличаться по яркости от себя же после бейка.
|
(Offline)
|
|
21.02.2014, 16:46
|
#11
|
Unity/C# кодер
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений (для 5,323 пользователей)
|
Ответ: Последовательное включение освещения комнат
|
(Offline)
|
|
22.02.2014, 10:17
|
#12
|
AnyKey`щик
Регистрация: 13.11.2013
Сообщений: 11
Написано одно полезное сообщение
|
Ответ: Последовательное включение освещения комнат
Сообщение от Mr_F_
нет. просто если загружаешь неоригинальные лайтмапы, они могут немного отличаться по яркости от себя же после бейка.
|
ок, спасибо, надо попробовать
Сообщение от pax
|
первый раз о таком слышу, надо посмотреть
![:super:](images/smilies/super.gif)
__________________
Предел в твоей голове.
|
(Offline)
|
|
22.02.2014, 11:10
|
#13
|
Терабайт исходников
Регистрация: 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 во время игры, сделать все лоады на старте чтобы не вызывать потом подтормозов.
|
(Offline)
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 08:34.
|