@Senture

Как изменить max size текстуры в unity через скрипт?

Здравствуйте, у меня возникла необходимость изменить значение размера(max size) текстур через скрипт:
5b830c340c9fc751135644.png

или же изменить количество повторений текстуры у террейна, так же через скрипт:

5b830c5e1271a566884388.png

Подскажите пожалуйста как это сделать? Если вообще можно.
  • Вопрос задан
  • 543 просмотра
Решения вопроса 1
BasmanovDaniil
@BasmanovDaniil
Геймдизайнер-телепат
Настройки текстур можно менять только в редакторе с помощью TextureImporter. Вызываете AssetImporter.GetAtPath на нужном файле и получаете импортёр, потом меняете maxTextureSize и сохраняете с помощью AssetImporter.SaveAndReimport.

Terrain был написан очень давно и с тех пор не обновлялся, поэтому редактировать его из скрипта довольно накладно. Если в публичном API ничего не нашли, то, скорее всего, это делается только через рефлексию и костыли. Можете почитать исходники на гитхабе, может быть найдёте что-то подходящее.

UPD: Нашёл нечто похожее, что может подойти. Достаёте Terrain.terrainData, в нём есть splatPrototypes, по всей видимости, это кисти. Думаю, если покрутить SplatPrototype.tileSize, то можно получить нужный результат.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы