WedX - журнал о программировании и компьютерных науках

Unity 3d - Изменить текстуру, нажав

я новичок в Unity, и мне не помешала бы рука. Что я хочу сделать, так это:

На моем «Render» у меня будет:

Например, в трехмерной пирамиде каждая грань имеет свой материал/идентификатор. А у меня 6 текстур, 6 кнопок.

Что я хочу сделать, так это выбрать одну текстуру, нажав на одну из этих 6 кнопок, и поменять местами/нарисовать фактическую текстуру пирамиды на текстуру кнопки. Я хочу сделать это, сколько раз я хочу это. Как цветная книга для детей, чтобы рисовать. Но они сначала выбирают цвет, а уж потом то, что будут красить.

Если я недостаточно ясно выразился, пожалуйста, спросите. Спасибо за вашу поддержку!


  • Есть ли какой-нибудь код, которым вы можете поделиться, который предоставляет минимальный, полный проверяемый пример? 21.04.2017
  • Нет, нет. Я мог только поменять текстуру, нажав на кнопку. Но это не то, чего я хочу. @spacepickle 21.04.2017
  • Кажется, я понимаю. Вы спрашиваете, как построить интерфейс, чтобы пользователь мог выбрать одну из граней пирамиды? 21.04.2017
  • Типа да. imagin: у меня есть A B C D E F - Текстуры; и у меня есть 1 2 3 - Поверхности объекта (каждая из них является материалом); Я хочу нажать букву (текстура), например, C, и я хочу поместить ее на номер 3, поверхность объекта. И если я тоже этого хочу, я хочу поставить его под номером 2. Тогда я не хочу, чтобы эта текстура была там. Итак, я нажимаю Текстуру B и помещаю ее на номер 2... снова и снова. 21.04.2017
  • Забыл идентифицировать вас @spacepickle 21.04.2017
  • Мэйби, это поможет тебе понять меня @MukeshSaini 21.04.2017

Ответы:


1

Во-первых, вам нужно хранить материалы в массиве —

public Material[] materials

Затем при нажатии любой кнопки сохраните ее индекс для доступа к материалу из массива материалов. Например, buttonIndex = 2.

Теперь вы можете использовать компонент MeshRenderer Pyramid Face, на который нужно применить выбранный материал -

GameObject pyramidFace1;
...
pyramidFace1.GetComponent<MeshRenderer>().material = materials[buttonIndex];
...
21.04.2017
  • Во-первых, спасибо за вашу помощь. Но другой вопрос как поступить. Я до сих пор не знаю, как работает часть щелчка. Как я уже сказал, я новичок в единстве. @Мукеш Саини 21.04.2017
  • Новые материалы

    Объяснение документов 02: BERT
    BERT представил двухступенчатую структуру обучения: предварительное обучение и тонкая настройка. Во время предварительного обучения модель обучается на неразмеченных данных с помощью..

    Как проанализировать работу вашего классификатора?
    Не всегда просто знать, какие показатели использовать С развитием глубокого обучения все больше и больше людей учатся обучать свой первый классификатор. Но как только вы закончите..

    Работа с цепями Маркова, часть 4 (Машинное обучение)
    Нелинейные цепи Маркова с агрегатором и их приложения (arXiv) Автор : Бар Лайт Аннотация: Изучаются свойства подкласса случайных процессов, называемых дискретными нелинейными цепями Маркова..

    Crazy Laravel Livewire упростил мне создание электронной коммерции (панель администратора и API) [Часть 3]
    Как вы сегодня, ребята? В этой части мы создадим CRUD для данных о продукте. Думаю, в этой части я не буду слишком много делиться теорией, но чаще буду делиться своим кодом. Потому что..

    Использование машинного обучения и Python для классификации 1000 сезонов новичков MLB Hitter
    Чему может научиться машина, глядя на сезоны новичков 1000 игроков MLB? Это то, что исследует это приложение. В этом процессе мы будем использовать неконтролируемое обучение, чтобы..

    Учебные заметки: создание моего первого пакета Node.js
    Это мои обучающие заметки, когда я научился создавать свой самый первый пакет Node.js, распространяемый через npm. Оглавление Глоссарий I. Новый пакет 1.1 советы по инициализации..

    Забудьте о Matplotlib: улучшите визуализацию данных с помощью умопомрачительных функций Seaborn!
    Примечание. Эта запись в блоге предполагает базовое знакомство с Python и концепциями анализа данных. Привет, энтузиасты данных! Добро пожаловать в мой блог, где я расскажу о невероятных..


    Для любых предложений по сайту: [email protected]