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