오보에블로그

[Unity] 스크립트에서 게임오브젝트 쉐이더 불러오기 본문

GameEngine & CG/Unity

[Unity] 스크립트에서 게임오브젝트 쉐이더 불러오기

(OBO) 2021. 12. 10. 21:20
728x90

참고

스크립트에서 게임오브젝트 쉐이더 불러오기

  • 맨 처음에는 GetComponent<Material>() 을통해 해당 게임 오브젝트의 매테리얼에 접근하려고 했지만, 해당 게임 오브젝트는 매테리얼이 없다고 오류가 나왔다.
  • 인스펙터 창을 보니, 매테리얼이 컴포넌트 처럼 들어가 있다고 생각했는데, 뭔가 다른 컴포넌트와는 다른 생김새이다.

  • 인스펙터 창을 좀더 뒤져보니,Mesh Renderer 컴포넌트 안에 Meterial을 추가하는 필드가 있었다.

  • 이제 아래와 같이 코드를 작성하면 게임 오브젝트가 가지고 있는 쉐이더를 확인할 수 있다.
_material = gameObject.GetComponent<Renderer>().material;
Debug.Log(_material.mainTexture);

728x90