2012-11-22 4 views
8

현재 three.js에서 스켈 레탈 애니메이션 테스트를하고 있습니다. 나는 믹서기에서 잘 움직이는 간단한 모델을 가지고있다. 기본적으로 3 개의 스택 된 구부러진 큐브로 구성됩니다.three.js에서 뼈 애니메이션 (블렌더 내보내기)이 잘못 애니 메이팅되는 모델

Blender V2.64와 함께 블렌더 내보내기 플러그인을 사용하여 블렌더 파일을 three.js로 내 보내면 skinweighting이 잘못된 것처럼 webGl 컨텍스트의 애니메이션이 다르게 보입니다.

WebGL이 데모 : http://rainbowrangers.de/threejs/animation_test01/

블렌더 - 파일 : http://rainbowrangers.de/threejs/animation_test01/model/animation_test01.blend

내가 three.js를 올바른 결과를 얻기 위해 어떻게해야합니까?

답변

10

나는 github 토론에서 인용 한 사람입니다. 나는 최근에이 파이프 라인 (예 : Blender 뼈 애니메이션을 3Js로 실험)을 시도해 왔으며 매번 작동 할 수있는 안정적인 프로세스를 찾는 것이 매우 어려움을 발견했습니다.

내 블로그에

, 내가 나를 어떤 경우에 성공을 달성 할 수 '팁'의 목록을 컴파일 :

http://dev.mothteeth.com/2012/10/threejs-blender-exporting-skeletal-animations/

는 요약하기를, 내가 찾은 가장 중요한 것들이었다 :

내보내기 전에 전기자 수정자를 삭제하십시오. 그렇지 않으면 애니메이션이 엉망이됩니다.

꼭지점 그룹이 본에 제대로 지정되어 있는지 확인하십시오. 블렌더에서는 자동 뼈 가중치를 사용할 수 있습니다.

애니메이션의 첫 번째 프레임과 마지막 프레임의 모든 뼈를 키 입력하십시오. (변경된 뼈대에 대한 키만있는 경우, ThreeJS는 다른 것들에 대해 아무 것도 추론하지 않으며 모든 것이 깨질 것입니다.)

이 지침을 따르더라도, 일관되게 작업하고, 라이브러리가 좀 더 성숙 할 때까지 모프 타겟 사용을 고려했습니다. 모프 타겟의 파일 크기는 훨씬 커지지 만, 내 경험상이 시점에서 더 안정적인 옵션으로 보입니다.

+1

고마워요! 나는 틀린 피벗에서 회전하는 뼈를 가지고 있었고 육아에 복종하지 않는 것처럼 보였다. ** "수출하기 전에 아마츄어 모디파이어 삭제"**가 나를위한 열쇠였습니다. 훌륭한 기사! – jozxyqk

+0

다행히 도울 수 있어요 :) – null

2

드디어 three.js를의 GitHub의 토론 중 하나에 답을 발견 파고를 많이 후 :.

은 "애니메이션의 시작과 끝 부분에있는 뼈의 모든 전체 키 프레임을 삽입 I 첫 번째 키 프레임이 없으면 애니메이션이 미묘하게 왜곡되어 결국에는 애니메이션의 일부를 잃어 버리게됩니다. "

출처 : 우리의 렌더링에 정확히 무슨 일이 있었는지했다 https://github.com/mrdoob/three.js/issues/2106

. 정적 인 키 프레임이 아니라 변경중인 뼈대에 대해 설정된 키 프레임 만 모자이크 처리합니다.

+0

저는 Blender/ThreeJS 파이프 라인에 대한 정보를 공유하고자합니다. 포인터를 교환하고 싶거나이 기능을 안정적으로 작동시키는 방법에 대한 획기적인 변화가 있다면 언제든지 연락하십시오. – null

+0

방금 ​​이메일을 보내 드렸습니다. 나는 지식을 교환하고 싶습니다. – Patrick

2

내 보낸 모델을 올바르게 작동 시키려면 블렌더의 프레임 0에서 내보내기를 수행해야합니다.

내가 만난 문제를 해결 한 또 다른 방법은 모델을 내보내고 나서 모델을 확장하지 않는 것입니다. 즉, 모델을 JSON 파일과 코드에서 직접 스케일 할 수 없습니다.

three.js를 사용하여 r56

관련 문제