본문 바로가기

볼봇의 코딩 생활/언리얼한 엔진

UE4 바스트 모핑 (물리적인 가슴) 구현

오늘 포스팅은 좀 그렇다.

 

오늘 포스팅 할 내용은 언리얼 엔진에서 바스트 모핑을 처리하는 방법에 대해 알아 본다.

 

바스트 모핑이 무엇인지는... 다들 잘 알것으로 믿고, 설명은 생략 하며

잘 모르는 분들은 검색을 하고 아래 글들을 계속 읽을지 결정하기 바란다.

 

https://namu.wiki/w/%EB%B0%94%EC%8A%A4%ED%8A%B8%20%EB%AA%A8%ED%95%91

 

바스트 모핑 - 나무위키

선구자적인 작품 다이콘4 - 오프닝(1983년 8월 20~21일)[5]에서 애니메이션 역사상 최초로 바스트 모핑을 의도적으로 대놓고 노리고 어필한 작품.[6] 또한 이 오프닝 영상을 만든 다이콘 필름의 멤버들이 이후 가이낙스를 창립하게 되었다.루팡 3세(2기 TV시리즈) 145화. 1980년 7월 28일 방영. 미야자키 하야오가 각본과 연출을 맡은 화로, 17분 50초 쯤에 미네 후지코가 비행기 위에서 루팡 일행에게 도움을 요청하기 위해 빨간 천을 두 손

namu.wiki

 

 

필자는 야한 포스팅이 되지 않도록 최선을 다하도록 하겠다.

 

후방 주의

 

프로젝트 준비하기

우선 빈 프로젝트를 하나 만들고 아래 에셋들을 임포트 한다.

 

 

 

오늘의 주인공 입니다.

위 리소스의 출처는 아래 링크이다. 필요한 독자는 받아서 진행하길 바란다.

https://www.models-resource.com/playstation_3/neptunev/model/5204/

 

PlayStation 3 - Hyperdimension Neptunia Victory - Yellow Heart - The Models Resource

 

www.models-resource.com

 

당연한 이야기겠지만, 작동 여부를 제대로 확인 하기 위해서는 가능한 큰... 친구를 구해오는 편이 좋다.

남자 캐릭터로 바스트 모핑을 처리 (하는 사람은 없겠지만) 한다면 할 수는 있지만, 티가 전혀 안나서

작동 여부를 알 수 없고, 당초 가슴에 본 셋팅이 안되어있으면 작업을 할 수 없다.

 

참고로, 저 캐릭터는 본 셋팅이 잘 되어 있어 작업에 문제가 없다.

 

 

 

프로젝트에 임포트를 하고 머티리얼 설정을 적당히 해주도록 한다.

 

참고로, Anime 폴더는 원래 없다. 바스트 모핑 처리 후 작동 여부를 확인하기 위한 걷기 애니메이션을 따로 추가 했다.

작업을 하면서 걷기 애니메이션과 같은 운동이 있는 애니메이션은 꼭 필요하므로, 몇개 만들어서 넣어두도록 하자.

 

 

 

 

애니메이션 블루프린트 작성

 

필자는 그 외 캐릭터가 많다.

애니메이션 블루프린트를 생성 한다.

반드시 캐릭터에 맞는 본을 설정하길 바란다.

 

 

 

 

현재 캐릭터에 걷기 애니메이션을 재생하고 있다.

이렇게 셋팅을 해두고 이제 스프링 조인트를 추가 하겠다.

 

 

 

 

검색에서 "스프링" 라고 입력하면 스프링 컨트롤러 노드를 배치 할 수 있다.

우선 하나만 배치하도록 한다. 가슴은 두쪽이지만, 우선 하나를 배치해서 값을 모두 수정 후 자연스러운

모션이 나온다면 그때 복사를 해서 다른 한쪽에 적용 하는 방식이 좋다.

 

 

 

 

 

 

캐릭터 본 트리를 보기 위해 스켈레톤 탭으로 이동 하였다.

필자가 올려둔 에셋에는 bust 라고 검색을 해보면 가슴에 본이 셋팅 되어 있음을 확인 할 수 있다.

 

만약 다른 캐릭터라면 최대한 비슷한 위치에 있는 본을 선택하길 바라고, 없다면 그 캐릭터는 바스트 모핑을 처리 할 수 없다.

 

위 이미지를 기준으로, L_bust_up 과 R_bust_up 부분에 스프링 조인트를 끼워주면 될 것 같다.

 

 

 

 

애니메이션 블루프린트로 돌아와, 스프링 컨트롤러에 Limit Displacement 옵션을 활성화 한다.

그 아래에 값을 조절 해 줄 수 있는데, 조인트가 늘어날 수 있는 최대 거리를 뜻한다.

 

필자 경험상 이 값은 대략 4~10 정도를 많이 쓴다.

욕심부려 높여주면 굉장히 어색한 모션이 나올 수 있기 때문에 걷기 애니메이션을 재생 하면서

조금씩 값을 수정해 나가는 편이 좋다.

 

그외 설정 값에 대한 간략한 설명을 해둔다.

Max Displacement 조인트가 늘릴 수 있는 최대 길이
Spring Stiffness 스프링 경직도 (클수록 뻣뻣한 느낌이 납니다)
Spring Damping 감쇠 크기, 클수록 덜 움직입니다.
Error Reset Thresh 이 값을 넘은 오차를 가지면 강제로 리셋 됩니다.
Rotate X, Y, Z X,Y,Z 축 회전 값도 계산하여 적용 합니다.

 

필자의 셋팅은 위와 같다. 저것은 정답은 아니고, 그냥 참고용이니 맹신하지는 말자.

본인 캐릭터에 맞는 설정값을 적당히 조절해서 써야 한다.

 

값을 모두 조절 했다면, 해당 스프링 컨트롤러를 복/붙 하여 같은 노드를 만들고

나머지 오른쪽 본도 설정해주도록 한다.

 

 

컴파일을 하면...

 

 

늘어남을 볼 수 있다.

 

 

작업 결과에 대한 영상은 아래를 참고하길 바란다.

지금 보니 너무 흔들린다... 경직도와 뎀핑값을 높이자.

마치며

스프링 조인트 관련 글이 없어 이번에 정리를 한번 해서 올려보았다.

 

참고로, 바스트 모핑을 처리하는데 있어서 이상한 생각을 가지는 사람들이 종종 있는데

사실 이 기능은 게임에 여캐가 있는 3D 게임이라면, 꼭 필요한 기능일 것 같다.

 

물리 법칙에 의해 움직이지 않지는 않으니..

 

도움이 됬길 바라며 포스팅을 마친다.