TIL

2024 12 26 TIL

noc777 2024. 12. 26. 13:09

양초를 사용하여 퍼즐의 힌트를 나타내고 싶어 에셋의 양초 요소만 가져오려고 하였다.

양초 요소만을 가져오려고 하다보니 이해가 안되는 부분이 너무 많아서 질문을 하였었다.

질문을 하다보니 내가 너무 원론적인 부분까지 파고드려하는 경향이 있다는 것을 알았다.

에셋을 사용해 개발을 하는 것이 이 원론적인 부분을 생략해두고 사용하는 것이기에 

자세하게 알아보는 것은 나중으로 생각해두기로 하였다.

 

일단 내가 가져와야하는 요소만 정리해놓는다.  

 

메쉬 : 화면상에 보여지는 3D 모델을 정의하는 데이터 

점 선 면으로 이루어진 데이터이다.  

fbx 파일이 주로 메쉬인듯하다.

 

머터리얼 : 물체의 표면 속성  

메쉬의 표면을 시각적으로 나타내는 요소

 

머터리얼의 요소 :

 

쉐이더 : 메쉬의 표현방법의 정의한 것  (반사, 애니메이션, 굴절 등)

텍스쳐 : 머터리얼의 표면에 적용되는 이미지  (질감, 패턴 등)

 

 

트러블 슈팅

가져온 에셋에서 여러 오류 

원인 : 에셋에 포함되어있는 요소들의 경로가 바뀌어서 참조를 못하는 문제

해결 : 에셋의 요소들을 직접 집어넣어주어 참조시킴으로서 원본과 같은 상태로 만들어 줌 

또한 프리팹의 머터리얼들도 경로가 바뀌어서 새로 참조를 시켜줌

 

외부 에셋의 경우 특정요소만 가져오다보면 에셋의 참조 경로가 바뀌므로 유의할 것

 

 

쉐이더 그래프의 프로퍼티에 조작하는 방법은 이전에 이미션 효과를 조작하였던 것과 같다.

 

우선 프로퍼티에 대해 확인하여야한다.  

우선 이전에 머터리얼의 표현 속성을 정의하는 것이 쉐이더라거 하였다.

원리는 모르지만 우리가 사용할 것은 양초의 색을 변경하는 것이기에 쉐이더 그래프의 노드에 값을 하나씩 변경해본다.

 

가장 유력한 프로퍼티인 FireColor는 흰색이기에 

불꽃 주위의 색상을 변경하는 GlowColor가 실질적인 색상을 나타내는 프로퍼티라고 생각이 되었고 정답이었다.

 여기서 조작할 것은 Glow Color 와 Glow Brightness 각각 색상과 밝기 정도를 조작한다.

 

 

가장 좌측의 사진처럼 코드 상에서 우리가 사용해야할 프로퍼티는 친절하게 적혀있다.

 

//불꽃 색상을 변경하기 위한 머터리얼
private Material fireMaterial; 

fireMaterial = firePoint.GetComponent<Renderer>().material; 


//각 프로퍼티에 알맞은 Set메서드를 활용하여 쉐이더 프로퍼티 조작
fireMaterial.SetColor("_Glow_Color", Color.red); //_Glow_Color 같은 경우 Color를 매개로 받는 게 명시됨

 

 

'TIL' 카테고리의 다른 글

2024 12 27 TIL  (0) 2024.12.27
2024 12 24 TIL  (1) 2024.12.24
2024 12 23 TIL  (0) 2024.12.23
2024 12 20 TIL  (0) 2024.12.20
2024 12 19 TIL  (0) 2024.12.19