728x90
해당 포스팅은 " 따라 하면서 배우는 유니티 5 셰이더와 이펙트 입문 " 기반으로 정리 하였습니다.
[ 텍스처 바꾸기 ]
쉐이더에 등록된 텍스처를 바꾸기 위해선 프로퍼티의 이름을 알아낸 뒤 간단한 코드로 변화를 줄 수 있다.
직접 제작하지 않은 쉐이더의 경우 아래와 같이 이름 확인을 할 수 있다.
Edit Shader를 통해 Albedo의 프로퍼티 이름이 _MainTex 인것을 확인 한 뒤 코드를 통해 텍스처를 변경할 수 있다.
private void Update()
{
if(switched)
{
GetComponent<Renderer>().material.SetTexture("_MainTex", newAlbedo);
}
else
{
GetComponent<Renderer>().material.SetTexture("_MainTex", origAlbedo);
}
}
GetComponent 메서드를 통해 오브젝트의 Renderer()에 접근하여 "_MainTex"를 통해 텍스처를 변경한다.
[ UV 좌표 ]
- 스크롤 애니메이션
private void LateUpdate()
{
uvOffset += (unAnimSpeed * Time.deltaTime);
GetComponent<Renderer>().material.SetTextureOffset("_MainTex", uvOffset);
}
SetTextureOffset( "이름", 값 ) : 텍스처의 배치 오프셋을 설정
unAnimSpeed와 시간을 곱해 uvOffset 변수의 값을 증가시켜 오프셋 값을 조정한다.
728x90
'Shader' 카테고리의 다른 글
[ Shader ] 06. 스페큘러와 메탈릭 표면 (0) | 2023.05.25 |
---|---|
[ Shader ] 05.투명 표면 (0) | 2023.05.17 |
[ Shader ] 03.조명과 발광 효과 (0) | 2023.05.11 |
[ Shader ] 02.커스텀 쉐이더( Custom Shader ) 란? (1) | 2023.05.10 |
[ Shader ] 01.표준 쉐이더(Standard Shader) 란? (0) | 2023.05.09 |