Вадим П.
182 сообщения
#11 лет назад


Для начала скажу, что вся генерация карт происходит в Runtime, скриптами на C#. Unity версия 4.2.

И первое, что меня смутило, это Lightmapping. Генерируется он очень просто:
public void Create(Texture2D maping) {
LightmapData lightmapData = new LightmapData;
for( int i = 0 ; i < 1 ; i++ ) {
lightmapData = new LightmapData();
lightmapData.lightmapFar = maping;
}
LightmapSettings.lightmaps = lightmapData;
}


А чудо-результат на скриншоте (плюс оригинал световой карты). Откуда тут желтые оттенки на Terrain'e? У Terrain обычный шейдер стоит Diffuse, свет с интенсивностью всего лишь 0.4. Вообщем, мне бы хотелось его чуть менее ярким сделать. Каким образом?

Проблема решена, в Texture Type должно стоять Lightmap, и она должна храниться в Resources.
Вадим П.
182 сообщения
#11 лет назад
Ладно, раз никто не знает, что с lightmapping'ом. Может кто подскажет, как оптимизировать динамическую загрузку объектов?

Есть массив:
public struct Object {
public int id;
public Vector3 position;
public Vector3 rotate;
public float scale;
}

Object objects = new Object;


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

Каждое смещение я прохожу циклом, по всему этому массиву, длиной в 1500, сверяя позиции игрока и объекта. Все бы ничего, на ПК все ок, но вот на мобильных очень тормозит. Есть ли пути оптимизации?