목표 : 큐브에 마우스가 올라가면 큐브의 색상이 변경되고 내려가면 원래 색상으로 복귀하는 기능을 구현한다
오브젝트(큐브) 위에 마우스 커서가 올라가면 On Begin Cursor Over (cube) 이벤트가 작동한다.
On Begin Cursor Over 이벤트에서 동적 머티리얼의 색상을 변경하면 된다
실행 중에 오브젝트의 머티리얼 기본색상을 변경해야 하므로 동적 머티리얼 인스턴스(Dynamic Material Instance)를 사용해야 한다
1. 공백 프로젝트를 생성한다
2. 컨텐츠 브라우저에서 마우스 우측 > 블루프린트 클래스 > Actor > 이름을 BP_CubeActor 으로 지정한다
3. BP_CubeActor 를 더블클릭하여 열고 [컴포넌트 추가] 버튼을 눌러 큐브를 추가한다
4. 머티리얼을 생성하여 기본색상에 Vector Parameter 노드를 연결한다
- 컨텐츠 브라우저에서 마우스 우측 > 머티리얼 > 이름을 M_CubeMat 으로 입력한다
- M_CubeMat를 더블클릭하여 열고 그래프 바탕에서 마우스 우측 > VectorParameter 검색하여 노드 추가
- 노드의 이름을 ColorParam 으로 입력하고 기본색상을 임의로 선택한다
5. BP_CubeActor의 Cube 컴포넌트를 선택하고 [디테일] 뷰의 Material 패널에서 앞서 작성된 M_CubeMat를 설정한다
6. BP_CubeActor의 이벤트 그래프에 다음과 같은 내용을 입력한다
7. BP_CubeActor를 드래그하여 뷰포트에 올리고 실행하여 마우스를 큐브에 올리면 다음과 같이 색상이 변경되고 마우스를 내리면 원래의 색상으로 돌아오는 것을 확인할 수 있다