본문 바로가기
대학생활/수업

콘텐츠프로그래밍2 12주차 - 버텍스 애니메이션, 포스트 프로세싱

by se.jeon 2024. 12. 4.
728x90
반응형

보강 공지

11일, 16일, 18일 1교시

애니메이션 실습

모델링을 넣으면, 면의 정보는 없고 정점 정보가 들어오게 된다.

버텍스 셰이더에서 Raterization을 통해 픽셀 셰이더로, 를 통해 스크린으로 표기된다.

 

베이직 월드를 생성하고, VertexAnim이라고 저장한다.

머티리얼 M_VertexAnim을 생성한다.

 

 

PositionOffset 파라미터를 만들어준다.

각 값은 x, y, z 위치값이 된다.

 

 

값을 100 준 다음, World Position Offest에 연결 해 주면 오브젝트가 공중에 뜨게 된다.

 

 

적용시키면 다음과 같은 변화를 확인할 수 있다.

Offset은 기준점을 기반으로 변화량에 대한 상대적인 개념이다.

 

쉐이더에서 변화를 주고 싶을 때,

변화는 시간이라는 개념이 들어갔다는 것이다.

 

 

 

소숫점을 처리하여 왔다갔다 하는 것을 볼 수 있다.

 

 

왕복 해 주도록 만들 수 있다.

 

 

빨간색과 파란색이 교차되어 선택되는 것을 응용한 것이다.

 

 

사인으로 바꿔주면 튀기는 느낌의 애니메이션을 볼 수 있다.

 

 

수식을 사용하여 다양한 모션을 줄 수 있다.

 

 

월드뷰로 돌아오면, 그림자가 이상한 것을 볼 수 있다.

게임 엔진은 실시간으로 돌아가기 위해서 굉장히 많은 데이터를 활용한다.

렌더링을 할 때 그릴지 말지를 판단하여 과정을 스킵한다.

 

엔진에서 큐브는 이 정도 안에 있을 것이라고 예상하고 그림자 처리를 하는데,

직접 면을 바꿔버렸기 때문에 예측하는 범위를 벗어나게 된 것.

 

 

Mesh에 가서 Bounds를 체크 해 보면, 범위를 볼 수 있다.

웬만해서는 매쉬가 바뀌는 일이 없기 때문에 지금과 같은 상황은 일반적이지 않다.

그래서 렌더링이 깨지게 되는 것. 바운드를 넓혀서 해결 할 수 있다.

 

메쉬 실습

 

제공된 메쉬 임포트

M_Grass, M_Tree, M_TreeLeaf 제작

 

 

흔들리는 효과를 주기 위해 노드 제작

 

 

찰랑찰랑 흔들리는 것을 확인할 수 있다.

 

 

값을 조절하여 속도를 조절한다.

 

 

지난 수업에서, 0과 1의 데이터를 통해 빛과 명암을 색칠했었다.

 

 

UV 값은 0에서 1 사이의 값이다.

바운딩 박스 기반의 UVW는 메쉬에 설정된 바운딩 박스의 범위를 0과 1로 만들어 영역값을 주겠다는 의미를 가진다.

 

 

언릿으로 바꾸고, 이머시브 컬러로 변경 해 준다.

 

 

그라디언트를 사용하기 위해 커브와 아틀라스 설정을 해 준다.

비슷하게 해 오는 것이 과제. 이파리는 양면으로 해 줘야 한다.

 

 

CustomToon 레벨로 돌아와서 M_OutlineAnim 머티리얼 생성

 

 

오버레이 머티리얼을 새로 생성한 머티리얼로 적용

 

 

two-sided를 적용하고, 풀과 같이 세팅 해 주어 일렁이는 효과를 추가한다.

 

 

진폭을 설정 해 준다.

 

 

 

 

최종 톤을 뽀샤시하게 만들어주는 포스트프로세싱이 제작되었다.

 

 

과제는 나무 완성, 캐릭터 아웃라인을 통한 지난번 작업 업그레이드

과제 진행

 

나뭇잎에 그라디언트를 주고, 흔들리게 설정 해 준다.

 

 

커브 아틀라스로 바꾸기 위하여 커브를 생성하고, 아틀라스에 추가 해 준다.

 

 

머티리얼을 매쉬에 적용시켜준다.

 

 

오버레이 머티리얼을 적용시켜 준다.

 

 

아웃라인의 두께 파라미터를 생성 해 준다.

 

 

아웃라인용 머티리얼 인스턴스를 생성하고, 변수값을 조정한다.

 

 

나무를 복제하여 아웃라인을 추가하고 적용시켜준 모습

오버레이 머티리얼을 적용하여 포스트 프로세싱을 해 준다.

728x90
반응형