하이하이~ 중붕 잘있었어?
벌써 10월에 마지막 밤도 지나고 벌써 11월도 몇일밖에 안남았네
11월도 다 끝나가는데 궁금해하는 중붕이들이 많아서 부족한 내가 이렇게 글까지 쓰게 됐어
진짜 웬만한 중붕이들도 다 한번씩은 봤었을 수도 있을텐데 ㅇㅇ
그건 그렇고 지형에 따라 발딛는 자세가 바뀐다는데? ㄷㄷ
사진만 보면 엄청 대단해보이고 그렇잖아 ㄷㄷ
근데 과연 원리가 뭘까 해서 같이 찾아봤거든 ㄷㄷ
일단 원리를 알기 위해서는 FK와 IK에 대해서 알아야해
그래서 먼저 알아볼 concept는 FK와 IK야
FK와 IK?
FK는 뭐고 IK는 뭔데 씹덕아 라고 생각할 수도 있을 거 같은데
머라머라 설명하는 거 보다 직접 보는 게 더 빠를 수도 있어
예전 엔하위키식 표현으로는 더 이상 설명이 必要韓紙?인데
혹시 기억나니?(퍽)
오늘의 정보글 도우미는 스틱스.
스틱스양을 마음대로 만져보자 흐흐...(끌려간다)
흠흠 일단 먼저 설명할 건 FK인데 이건 보면 바로 이해할 수 있을 거야
FK는 Forward Kinematics의 약자인데
토익 백점 중붕이들은 벌써 무슨 말인지 해석 되지?
번역하면 정운동학 이라는데
이런 식으로 팔꿈치를 움직이면 손이 같이 움직이는 방식이 바로 FK야
정운동학이라는 말처럼 위에서 아래로 정방향으로 계산을 해서 움직이는 거지
현실이랑 거의 비슷한 느낌이지?
조인트들 사이엔 계층이란게 존재해서 부모가 움직이면 자식이 같이 움직인다
이런 건데
스틱스양의 엑스레이를 한번 찍어보면
이렇게 바닥에 월드 루트 조인트부터 시작해서 로컬 코그 스파인 펠비스로 나눠져서 손끝 발끝 까지 뻗어나가는 거야
스틱스와 같은 경우엔 귀랑 머리카락도 연결되어 있네
마치 나무와 같지?
뿌리부터 줄기 마지막 가지까지
위에서 본 것처럼 상위 스파인 조인트가 움직이면 그 하위 계층인 어깨 팔 손이 같이 움직이는 게 보이지?
보통 게임 엔진에선 조인트의 로케이션 값을 가지고 하위 계층 조인트의 위치를 계산하거든
그러니까 사진 처럼 회전하는 값만 있으면 어떤 애니메이션이라도 만들 수 있지 ㅇㅇ
좀 주제에서 벗어난 이야기이긴 한데 실제 게임 만들땐 바인딩된 조인트에 키값을 넣으면 안되는 건 알고 있지?
그래서 골반이 움직이면 밑에 다리까지 움직여
그러면
아! 바닥의 루트 조인트는 골반의 상위 계층이니 안움직이고
위에 스파인 조인트는 별개의 계층이라서 안움직인다!
라고 바로 이해가 되지?
근데 사진을 보면
똑똑한 중붕은 이상한 점을 느꼈을 지도 몰라
중붕:골반이 움직이는데 발이랑 같이 움직이면 안되는 거 아님??
맞아 다들 그런 생각을 했을 거야
이런 식으로 골반이 움직여도 발은 바닥에 붙어있는게 자연스럽거든
골반이 움직인다고 발이 같이 움직여버리면
애니메이션 만드는 입장에서도 골반이 움직인다고 발이랑 다리랑
계속 수정해줄수도 없는 거고 불가능하니까 ㅇㅇ
그래서 새로 개발된 방식이 바로바로
IK야
IK
IK는 Inverse Kinematic의 약자인데 번역하면
역운동학이라고 번역되네
이름처럼 FK의 반대로 생각하면 돼
이번엔 반대로 발을 움직이면 무릎이 자동으로 굽혀지고 다리가 움직이지?
이게 IK야 컴퓨터가 조인트의 위치를 계산해서 중간 조인트의 값을 알고리즘에
따라 정해주는 거지 ㅇㅇ
그 계산하는 방법도 있긴 있는데 너무 복잡하니까 넘어가자고 뭐 아뭏든
이렇게 골반이 움직여도 발의 위치가 그대로니 안그래도 편하겠지?
실제로는 IK와 FK를 같이 섞어서 쓰거든 서로만의 장점이 있으니까
그래서 내가 예전에 배울때만 해도 FK 위주로 쓰고 IK는 쓰지마라고 하고 그랬는데
미국에선 FK 많이 쓰고 IK 쓰는 애들은 초보 취급한다 그런 얘기도 있고
근데 요즘엔 그런 건 없어졌을 거야
우리들 입장에선 IK인지 FK인지 알 수 있는 방법도 없지 아웃풋만 보게 되니까
그래서 지형에 따라 발 딛는 자세가 왜 바뀌는데?
사실 본론으로 넘어가면 웬만한 게임 엔진에선 IK 기능을 거의 다 지원해
그래서 원신은 유니티인데 언리얼 엔진 기반으로 설명해도
원리는 같을 거야 아마
근데 사실 설명할 것도 없는 게말이지
중붕이들이 뭐 코딩을 할 것도 아니고
그냥 쉽게 설명하면 바닥의 콜리전(충돌 범위)를 발에 있는 로케이터랑 서로 만나면
컴퓨터가 알아서 계산해서 보여주는 거 뿐이거든
본래의 애니메이션에 섞어서 발이나 팔의 위치를 보간해주는 거지 ㅇㅇ
하는 방법은 그냥 단순한 코딩이니까
그렇게 복잡한 것도 아니야 웬만한 게임에선 다 지원돼
지원안하는 게임은 만들기 어려워서 그런게 아니라
그냥 각자의 이유가 있을 거야 ㅇㅇ
지형에 따라 발 딛는 자세가 바뀐다고 갓겜이 아니고
안바뀐다고 쿠소겜이 아니다 이 말이지 ㅇㅇ
결론
지금 보니까 약간 **티비처럼
마지막 설명이 빈약해졌는데
이건 어쩔 수 없는게 실제 언리얼엔진 다큐멘테이션에서도 그냥 이렇게 하라
적혀있는게 끝이라서 그냥 어 지형에 따라 발 딛는 자세가 바뀌는 건 IK 솔버를 이용한다 이건데
그니까 나중에 중붕이들도 우오오! 지형에 따라 발 딛는 자세가 바뀐다고? 이거 갓겜이잖아!??
하는 애들 보면 그거 별 거 아니라고 쿨찐짓 해도 솔직히 괜찮을 정도야 이건
(그러니까 이런 느낌은 전혀 아니라는 거...)
그렇지만 FK와 IK 개념은 알아두면 언젠가 쓸데가 있지 않을까 싶어
어 아마도...
그럼 바이
댓글 영역
획득법
① NFT 발행
작성한 게시물을 NFT로 발행하면 일주일 동안 사용할 수 있습니다. (최초 1회)
② NFT 구매
다른 이용자의 NFT를 구매하면 한 달 동안 사용할 수 있습니다. (구매 시마다 갱신)
사용법
디시콘에서지갑연결시 바로 사용 가능합니다.