@Gagatyn
Самоучка

Как правильно взаимодействовать с текстурой через код?

Здравствуйте!

Будет несколько вопросов.

Первый вопрос про развертку, потому что связано это, потом про код. Я не совсем понимаю, что происходит, когда экспортируется модель из Blender и при "наложение" картинки/материала на этот 3д объект, изображение увеличенное. Еще не нашел урок про развертку, где описывается решение.
1) Как решить проблему так, чтобы при экспорте в Unity3d все было красиво и на месте?

Верно ли я начал решать задачу. Неоднократно слышал, что нужно поместить для модели изображение поверхностей в одну цельную картинку, чтобы запрос был к одной картинке и не грузилось там, что/где-то.
Сделал так. Наложил на модель и возник (1) вопрос, что происходит. Создал простой unity3d куб и на него наложил, все прекрасно.
Задача в том, чтобы при клике картинка на объекте меняла отступы(offset), типа кнопки загоралась.
Я её двигал таким образом, код ниже.
public Renderer Button1;
//...
Button1.material.SetTextureOffset("_MainTex", new Vector3(0, 0, 0.5f));


2) Верно ли начал решать задачу? Если будет больше одной кнопки, я каждую должен напрямую через инспектор пушить? Как по уму сделать?

Спасибо, за ответы!
  • Вопрос задан
  • 37 просмотров
Решения вопроса 1
DanceM
@DanceM Куратор тега Unity Game Engine
Кто хочет -ищет способ, кто не хочет -ищет причину
Да, можно так сдвигать текстуру. Но я бы предложил сделать две кнопки либо два материала (с одной и той же текстурой, с разными UV координатами), и переключать их, вместо сдвига текстуры, если он не необходим (скажем для плавной анимации). Просто так будет проще создавать и управлять кнопками.

Да, каждую сдвигать, почему бы и нет. Но тут ведь инспектор не при чем, у Вас то скрипт обращается напрямую к материалу.

Поищите обучающие материалы по блендеру (или иным пакетам) по созданию и работе с UV развертками. Вам нужно чётко понимать, как это работает, и в целом там всё просто, на самом деле.

PS: только у Вас в коде ошибка, там Vector2 принимает, не Vector3 - Material.SetTextureOffset
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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