[Unity]renderer.material 과 renderer.sharedMaterial의 차이점
renderer.material은 renderer에 소속된 재질이다. 특정 렌더러의 전용 재질로 사용된다. sharedMaterial은 여러 renderer들이 공유해서 사용하는 재질이다. 여러 렌더럴들이 공유해서 사용하도록 설계되있다. 이들의 구분을 위해 재질에는 소유자(owner)정보가 들어있으며, 이를 통해 재질이 특정 렌더러에 전용인지, 공유인지 판단한다. renderer.sharedMaterial은 renderer에 할당된 재질의 레퍼런스를 그대로 돌려준다. 하지만 renderer.material은 가져올 재질의 소유자 정보를 먼저 검사하고, 소유자가 renderer가 아니면 원래 할당된 재질의 레퍼런스를 주는것이 아닌 재질을 동일하게 복사해서 생상한 후 돌려준다. 아래와 같은 경우 materi..
Unity
2023. 7. 19. 15:30