2015-02-21 2 views
0

Есть ли способ сделать объект полупрозрачным? Я пробовал это:Есть ли способ сделать объект полупрозрачным?

renderer.material.color = new Color(255f, 255f, 255f, 0.5f); 

Но он просто делает элемент белым, а текстуры больше не отображаются.

Я попытался использовать Прозрачный/Bumped Specular, но это делает объект слишком прозрачным, даже если я не хочу, чтобы объект был прозрачным в то время.

То, что я пытаюсь сделать, состоит в том, чтобы сделать его прозрачным, чтобы игрок выглядел как неактивный во время экрана выбора персонажа. Когда игрок нажимает A, они перейдут на полную непрозрачность, а затем смогут выбрать игрока.

Editor Mode:

Editor

Режим игры:

Play

ответ

1

Итак, есть несколько вещей, которые я хотел бы указать вам на это. Во-первых, класс цвета Unity основан на значениях от 0 до 1. Таким образом, у вас есть 255f в RGB, это дает вам то, что вы ожидаете сейчас, но на самом деле это просто устанавливает их в 1 в конструкторе. Поэтому, если вы хотите, чтобы цвета в будущем делали:

new Color(rValue/255f, gValue/255f, bValue/255f, aValue/255f); 

Просто хотел указать это, пока вы были здесь.

Итак, что вы делаете с этой строкой кода, вы говорите, возьмите материал, прикрепленный к этому объекту, и сделайте его полностью белым (если я ошибаюсь с 1,1,1 быть белым, кто-то прокомментировать) и наполовину прозрачным. Но это не относится к самому объекту, который применяется только к прилагаемому материалу.

Поэтому, если вы хотите изменить платформу, чтобы быть прозрачной, моя рекомендация - хранить как прозрачные, так и непрозрачные материалы, которые вы хотите в сценарии, в котором вы меняете тот, который используется. Затем в коде вместо изменения цветов измените материал, который использует рендерер.

Надеюсь, это поможет.

Смежные вопросы