Как установить карты (кроме альбедо, нормальные и металлические) во время выполнения в Unity? - PullRequest
0 голосов
/ 08 мая 2019

Я пытаюсь динамически устанавливать текстуры для моего игрового объекта. Это работает так:

        var skin = _skinTable[index] as Hashtable;
        var renderer = CurrentShip.GetComponentInChildren<Renderer>();

        renderer.material.SetTexture("_MainTex", skin["albedo"] as Texture);
        renderer.material.SetTexture("_BumpMap", skin["normal"] as Texture);
        renderer.material.SetTexture("_MetallicGlossMap", skin["metallic"] as Texture);

Где я могу найти имена (первый аргумент SetTexture) для других карт, таких как Высота, Окклюзия и т. Д.? (Я говорю о стандартном шейдере)

1 Ответ

0 голосов
/ 08 мая 2019

Доступные каналы карты можно получить, если в инспекторе выбрать шейдер

.

enter image description here

Для полного стандартного шейдера вы можете проверить источник https://github.com/TwoTailsGames/Unity-Built-in-Shaders/blob/master/DefaultResourcesExtra/Standard.shader

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...