본문 바로가기
  • 불확실한 내일을 위해
유니티 C#/3D 입문공부

유니티 기초 - 오브젝트 색상 변경하기(+핑크색 오류)

by 그린초코 2024. 4. 26.

일반 오브젝트 아무거나 하나 만들어보자.

 

오브젝트를 만들면 기본적으로는 하얀색으로 되어있다

오브젝트의 색상을 변경하기 위해서는 해당 오브젝트의 인스펙터에 Mesh Renderer 의 Materials 에 넣어줘야 한다. 

오브젝트를 생성하면 Materials 는 기본적으로 Default-Material 이 적용되어있다.

 

이것은 흰색으로, 유니티에서 제공하는 기본 Material이다. 

 

색상을 변경하기 위해서는 Material 파일을 project 창에서 만들어야 하는데, 아래처럼 Materials 폴터를 하나 만들어서 그 안에 Material 파일들을 만들어주는 것이 좋다. 

 

material 파일을 만들었으면 이름을 원하는 색상으로 변경하고 인스펙터에서 색상을 변경해준다.

Albedo 의 흰색네모 부분을 눌러서 원하는 색상으로 변경해준다. 

예를 들어 초록색으로 하려면 아래처럼 이름을 green로 하고 색상을 초록색으로 해주면 구분하기 쉽다.  

 

그런 뒤 이 파일을 드래그하여 오브젝트에 드롭하면 색상이 바로 변경된다. 

해당 오브젝트의  Mesh Renderer 의 Materials에 직접 넣어주어도 된다. 

 

적용 후 해당 오브젝트의 인스펙터를 열어보면 Mesh Renderer 의 Materials에 green가 적용된 것을 확인 할 수 있다. 

 

오브젝트 색상을 입힐 때는 이렇게 Material 파일을 생성하여 입히는 방식을 이용한다.

같은 파일로 여러개의 오브젝트 색상을 변경할수도 있으며 이런 경우 Material 색상을 변경하여 해당 오브젝트의 색상을 한꺼번에 변경하는 것도 가능하다.

또한 이미 색상이 입혀진 오브젝트도 복제하면 한번에 Material 수정만으로 한꺼번에 색상 변경이 가능해서 나중에 오브젝트가 많아지면 일일이 색상을 입히지 않아도 된다. 

 

참고로 Material 파일로 오브젝트의 색상을 변경해두었는데 해당 Material 파일이 삭제되버리면 해당 오브젝트의 Materials는 Missing 상태가 되어 핑크색이 되어버리는 오류가 발생한다. 

오브젝트의 material 이 missing 상태일 때

 

이런 상태일 땐 다시 Mateiral 파일을 적용시켜주면 바로 해결된다. 

728x90

댓글