Вадим П.
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, сверяя позиции игрока и объекта. Все бы ничего, на ПК все ок, но вот на мобильных очень тормозит. Есть ли пути оптимизации?