리깅 10

캐릭터 리깅해보기 - 삽질기 2. IK 셋업하기

삽질기 2. IK 셋업하기삽질 1. 이 흰색 삼각형은 무엇인가IK 핸들을 만들고나니 이상한 흰 삼각형이 생겼다. 분명 강의들으면서 만들어봤을 땐 생기지 않았던 것인데.. 스킨 웨이트가 잘못 들어가서 버텍스가 튀어나간건가? 하고 구글링을 해보니, 폴 벡터를 표시해주는거라고 한다. 왜 강의들으면서 했을 땐 안보인걸까.. 선생님이 제공해주셨던 가렌이 모델링된 씬 파일을 열어서 작업했었는데 그 씬 파일의 설정으로 뭔가 되어있던걸까? 아직도 모르겠다ㅠ 아무튼 잘못된 건 아니라 다행이었다. 삽질 2. IK 핸들만 만들면 틀어지는 조인트어깨-팔꿈치-손목 조인트에 IK 핸들을 만들면 자꾸 조인트들에 Rotate 값이 들어갔다. 항상 (0, 0, 0)을 유지해야하는데 왜 그럴까, 어깨 조인트를 중간에 수정했는데 이 부분..

리깅 2025.04.23

캐릭터 리깅해보기 - 삽질기 1. 하드 웨이트를 주기까지..

삽질기 1. 하드 웨이트를 주기까지..아무래도 블로그에 글로만 쓰는 것보다는 직접 해보는게 나을 것 같아, 강의 때 선생님과 같이 작업했던 롤의 가렌 캐릭터 대신 무료 캐릭터 모델을 다운받아 리깅을 도전해보기로 했다.삽질 1. 겹쳐진 버텍스우선 하드하게 웨이트를 주고 조인트를 이리저리 움직여보니 사진과 같이 찢어지는 부분이 발생했다. 혹시 해서 버텍스를 확인해보니 두 개의 조인트가 같은 위치에 겹쳐져있었다. 하나는 목쪽, 하나는 등판 옷쪽에 있는 조인트였다. 어쩐지 Mirror Skin Weights를 했을 때 색상이 좌/우가 다른게 이상했는데 이것 때문이었던 것 같다.모델 전체적으로 확인해보니 꽤 많은 부분이 그렇게 되어있어 Merge Vertices를 통해 겹쳐진 버텍스들을 하나로 합쳐줬다. 모델링이..

리깅 2025.04.14

FK와 IK 셋업 및 스위치 셋업

Part 3. Maya Rigging IISetup Arm (IK/FK)원본 조인트들에 IK와 FK를 모두 셋업하는 것은 너무 복잡하므로, 팔 조인트를 복사하여 각각에 IK, FK 셋업 후 연결하는 방식으로 진행한다. 컨트롤러 - FK/IK 조인트 - 원본 조인트 식의 구조를 갖는다.어깨부터 손목 조인트까지의 조인트 복사본을 두 개 생성하여 각각의 조인트에 IK 컨트롤러와 FK 컨트롤러를 만들어준다.어깨, 팔꿈치, 손목 세 개의 IK용 조인트와 FK용 조인트를 먼저 선택 후 원본 조인트를 선택하여 Parent Constraint 로 연결한다.원본 조인트가 IK용 조인트를 따라갈지, FK용 조인트를 따라갈지 설정해주기 위해 스위치를 만들어준다.스위치용 컨트롤러를 만들어 IKFKSwitch 어트리뷰트를 추가..

리깅 2025.04.10

어트리뷰트 셋업

Part 3. Maya Rigging IISetup Leg Attributes애니메이터들의 작업 편의를 위해 어트리뷰트와 컨트롤러를 모두 제공하는 방향으로 셋업한다. 발 IK 컨트롤러에 어트리뷰트를 추가하고, 컨트롤러와 그 어트리뷰트의 값을 연결하여 애니메이터들이 어트리뷰트를 수정하여 작업할 수도 있고 컨트롤러를 잡고 작업할 수도 있도록 한다. 컨트롤러 만들기컨트롤러를 만든 후 hierarchy를 정리해준다.Heel_FK: 발 뒷꿈치를 축으로 발을 움직이는 컨트롤러 ├─ ToeTip_FK: 발 앞꿈치를 축으로 발을 움직이는 컨트롤러 │   ├─  Toe_IK:  발가락을 축으로 발을 움직이는 컨트롤러 │   ├─  ToeFlap_FK: 발가락을 움직이는 컨트롤러IK 핸들의 hierarchy를 적절한 구조..

리깅 2025.04.08

IK 컨트롤러 셋업

Part 3. Maya Rigging IISetup Leg (IK) 커브를 이용하여 IK 컨트롤러를 만든 후 Create IK Handle 을 한다. 여기서 주목한 옵션은 Current solver이다.Rotate-Plane Solver: 시작하는 조인트와 끝나는 조인트 사이에 다른 조인트가 있는 경우Single-Chain Solver: 시작하는 조인트와 끝나는 조인트 사이에 다른 조인트가 없는 경우Main_FK 밖에 있는 IK 컨트롤러의 자식으로 IK 핸들을 둔 상태이므로 Main_FK 컨트롤러를 잡고 움직였을 때 IK 핸들은 고정되어있어 발은 땅에 고정된다. 여기서 이상한 점이 있다. IK 핸들을 잡고 들어올리면 발목이 회전된다.원하는 형태실제 형태 이를 해결하기 위해 Single-Chain Solv..

리깅 2025.03.18

인게임 캐릭터 스킨 웨이트

Part 3. Maya Rigging IISkin Weights하드 웨이트로 준 후, 미러 하고싶은 메쉬를 잡아 Mirror weight를 실행한다. 이 때 강의에서 주목했던 두 가지 옵션이 있다. Positive to negative: 왼쪽에 있는 값을 오른쪽으로 옮겨주는 옵션Influence association: One to one으로 해준다. 이 옵션은  메쉬가 좌/우 대칭이라면 같은 위치에 있는 조인트에 weight가 똑같은 값으로 넘어가게 해준다.하드 웨이트 작업을 모두 해준 뒤 소프트 웨이트 작업을 해준다. 메쉬를 변형시켜둔 후 보면서 작업을 해야하는데, 보통 더미 컨트롤러를 만들어서 하지만 아직 컨트롤러를 만드는 것이 익숙하지 않기 때문에 애니메이션 키를 이용하여 작업을 하는 방식을 알려주..

리깅 2025.03.11

인게임 캐릭터 조인트

Part 3. Maya Rigging IISkeleton메인 조인트 + 척추 조인트 + 팔 조인트 + 손가락 조인트 + 다리 조인트척추 조인트: 꼬리뼈, 허리, 등, 명치, 목, 머리꼬리뼈와 허리 조인트 중간에 메인 조인트를 위치시켜 이 메인 조인트를 이용해 몸 전체를 움직인다.팔 조인트: 승모근/날개뼈, 어깨, 팔꿈치, 손목손가락 조인트다리 조인트: 고관절, 무릎, 발목, 발가락 조인트 셋업 시 조인트를 누르고 "D" 버튼을 누르면 hierarchy 와 상관 없이 해당 조인트만 수정 가능하다.

리깅 2025.03.10

컨트롤러 셋업

Part 2. Maya Rigging IControl & ConstraintControl애니메이터는 조인트가 아닌 컨트롤러를 잡고 작업한다. 컨트롤러는 기본적으로 조인트와 같은 위치에 위치시켜주어야 하는데, 컨트롤러를 잡고 translate 하게되면 기존 translate 값을 기억하고 있다가 이 값을 다시 주어 컨트롤러를 원위치 시켜야하므로 이는 매우 번거롭고 어렵다. 따라서 컨트롤러는 항상 그룹을 만들어주고, 그룹에 translate 값을 주어 조인트와 같은 위치에 위치시켜주어, 컨트롤러 자체는 (0, 0, 0)이 원위치가 되도록 만든다. 컨트롤러의 hierarchy도 조인트의 hierarchy와 동일하게 주어야하며, 컨트롤러의 형태를 메쉬 형태와 비슷하게 잡아주어 알아보기 쉽도록 한다. 컨트롤러의 ..

리깅 2025.03.10

스킨 웨이트

Part 2. Maya Rigging ISkin Weights조인트가 움직일 때 메쉬도 움직이게 하는 것을 Bind Skin 이라고 한다. 메인 조인트와 메쉬를 잡아 Bind Skin을 해준다.스킨 웨이트를 주는 것이 어려워지는 이유는 한 메쉬 안에 여러 조인트가 들어가서 이를 하나하나 컨트롤하기 어려워지기 때문이다. 따라서 필요한 조인트를 하나하나씩 추가해가며 웨이트를 준다. 이 때 강의에서 주목했던 두 가지 옵션이 있는데, 하나는 Skinning method, 하나는 Max influence이다. Skinning methodDual quaternion: 딱딱하게 끊어지는 대신 원 메쉬의 모양을 덜 찌그러트린다.Classic linear: 볼륨이 유지되며 둥글둥글하게 변형된다.Max influence하..

리깅 2025.03.06

아웃라이너 정리 및 조인트 셋업

Part 2. Maya Rigging IOutliner리깅 시작 전 체크할 사항적절하게 네이밍, 그루핑하여 아웃라인 정리메쉬들의 피봇을 모두 (0, 0, 0)으로 만들어주기 (직접 옮기거나 Attribute Selector에서 바꿔줄 수 있음)Freeze Transform을 이용하여 모든 메쉬의 Translate, Rotate, Scale 값을 0으로 만들어주기, 이렇게 해주지 않으면 깔끔하지 못하고 게임 엔진에 넣었을 때 문제가 발생할 수 있음Skeleton조인트 리서치: 어떤 조인트가 필요한가? 어떻게 움직여야하는가?를 확인한다.조인트 셋업Create joint 메뉴 사용하거나 스크립트로 joint 입력하여 조인트 생성조인트 위치 잡기조인트의 radius를 조정*parent 기능으로 hierarchy..

리깅 2025.03.05