인스펙터 창에 표시되는 머티리얼 에셋의 모든 파라미터는 스크립트를 통해 액세스할 수 있으며 런타임 시 머티리얼의 작동 방식을 변경하거나 애니메이션화할 수 있는 권한을 부여합니다.
이렇게 하면 머티리얼의 숫자 값을 수정할 수 있으며 컬러를 바꾸고 게임플레이 동안 텍스처를 동적으로 스왑할 수 있습니다. 이를 수행하기 위해 사용되는 가장 일반적인 함수는 다음과 같습니다.
함수 이름 | 용도 |
---|---|
SetColor | 머티리얼의 컬러 변경(예: 알베도 틴트 컬러) |
SetFloat | 부동 소수점 값 설정(예: 노멀 맵 멀티플라이어) |
SetInt | 머티리얼의 정수 값 설정 |
SetTexture | 머티리얼에 새 텍스처 할당 |
스크립트를 통해 머티리얼을 조정하는 데 사용할 수 있는 함수의 전체 세트는 머티리얼 클래스 스크립팅 레퍼런스에서 찾을 수 있습니다.
한 가지 중요한 참고 사항은 이 함수가 머티리얼에서 현재 셰이더 오브젝트에서 사용할 수 있는 프로퍼티만 설정한다는 점입니다. 즉, 텍스처를 사용하지 않는 셰이더가 있거나 셰이더가 아예 바운딩되어 있지 않으면 SetTexture 호출은 효과가 없습니다. 나중에 텍스처가 필요한 셰이더를 설정해도 마찬가지입니다. 따라서 프로퍼티를 설정하기 전에 원하는 셰이더를 설정하는 것이 좋습니다. 그러나 설정 후에도 원할 경우 동일한 텍스처나 프로퍼티를 사용하는 셰이더로 전환할 수 있으며 이 값은 보존됩니다.
이 함수는 레거시 셰이더와 스탠다드 셰이더 이외의 빌트인 셰이더(예: 파티클, 스프라이트, UI 및 조명이 꺼진 셰이더)와 같이 모든 간단한 셰이더가 예상하는 대로 작동합니다. 그러나 스탠다드 셰이더를 사용하는 머티리얼의 경우 머티리얼을 완전히 수정하기 전에 알아야 할 요구 사항이 있습니다.