Задать вопрос
@Senture

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

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

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

5b830c5e1271a566884388.png

Подскажите пожалуйста как это сделать? Если вообще можно.
  • Вопрос задан
  • 687 просмотров
Подписаться 1 Простой 2 комментария
Помогут разобраться в теме Все курсы
  • Skillbox
    Профессия Инженер
по тестированию
    10 месяцев
    Далее
  • Нетология
    Разработчик игр на Unity
    13 месяцев
    Далее
  • XYZ School
    Разработка игр на Unity
    5 месяцев
    Далее
Решения вопроса 1
BasmanovDaniil
@BasmanovDaniil
Геймдизайнер-телепат
Настройки текстур можно менять только в редакторе с помощью TextureImporter. Вызываете AssetImporter.GetAtPath на нужном файле и получаете импортёр, потом меняете maxTextureSize и сохраняете с помощью AssetImporter.SaveAndReimport.

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

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

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

Похожие вопросы