Вопросы по Unity3D [C#]
182 сообщения
#12 лет назад
[file]1300326[/file]Для начала скажу, что вся генерация карт происходит в Runtime, скриптами на C#. Unity версия 4.2.
И первое, что меня смутило, это Lightmapping. Генерируется он очень просто:
[code]public void Create(Texture2D maping) {
LightmapData[] lightmapData = new LightmapData[1];
for( int i = 0 ; i < 1 ; i++ ) {
lightmapData [i]= new LightmapData();
lightmapData[i].lightmapFar = maping;
}
LightmapSettings.lightmaps = lightmapData;
}[/code]
А чудо-результат на скриншоте (плюс оригинал световой карты). Откуда тут желтые оттенки на Terrain'e? У Terrain обычный шейдер стоит Diffuse, свет с интенсивностью всего лишь 0.4. Вообщем, мне бы хотелось его чуть менее ярким сделать. Каким образом?
Проблема решена, в Texture Type должно стоять Lightmap, и она должна храниться в Resources.
182 сообщения
#12 лет назад
Ладно, раз никто не знает, что с lightmapping'ом. Может кто подскажет, как оптимизировать динамическую загрузку объектов?Есть массив:
[code]public struct Object {
public int id;
public Vector3 position;
public Vector3 rotate;
public float scale;
}
Object[] objects = new Object[1500];[/code]
Требуется при перемещении игрока удалять старые объекты, и загружать новые.
Каждое смещение я прохожу циклом, по всему этому массиву, длиной в 1500, сверяя позиции игрока и объекта. Все бы ничего, на ПК все ок, но вот на мобильных очень тормозит. Есть ли пути оптимизации?
