Three.js: μ• λ‹ˆλ©”μ΄μ…˜ 적용 μ‹œ λΈ”λ Œλ” 내보낸 λͺ¨λΈ λ³€ν˜•

에 λ§Œλ“  2014λ…„ 09μ›” 07일  Β·  3μ½”λ©˜νŠΈ  Β·  좜처: mrdoob/three.js

λΈ”λ Œλ” λ‚΄λ³΄λ‚΄κΈ°μ—μ„œ λͺ¨λΈμ„ λ‘œλ“œν•  λ•Œ μ΄μƒν•œ λ¬Έμ œκ°€ λ°œμƒν•©λ‹ˆλ‹€. μ• λ‹ˆλ©”μ΄μ…˜μ„ μ μš©ν•˜μ§€ μ•Šκ³  λͺ¨λΈμ„ λ‘œλ“œν•˜λ©΄ λ‹€μŒκ³Ό 같이 λ³΄μž…λ‹ˆλ‹€.

screen shot 2014-09-07 at 1 26 00 am

ν•˜μ§€λ§Œ μ• λ‹ˆλ©”μ΄μ…˜μ„ μ μš©ν•˜λ©΄ λͺ¨λΈμ΄ λ³€ν˜•λ˜μ–΄ λ‹€μŒκ³Ό 같이 λ³΄μž…λ‹ˆλ‹€.

screen shot 2014-09-07 at 1 24 25 am

손가락이 λ”μ°ν•˜κ²Œ λ»—μ–΄ 있고 λͺΈμ΄ λ’€ν‹€λ € μžˆμŠ΅λ‹ˆλ‹€. λͺ¨λΈμ€ μ—¬μ „νžˆ β€‹β€‹μ• λ‹ˆλ©”μ΄μ…˜μ„ μˆ˜ν–‰ν•˜μ§€λ§Œ λ³€ν˜•λ©λ‹ˆλ‹€.

λ‹€μŒμ€ λͺ¨λΈμ„ λ‘œλ“œν•˜κ³  μ• λ‹ˆλ©”μ΄μ…˜ν•˜λŠ” 데 μ‚¬μš©ν•˜λŠ” μ½”λ“œμž…λ‹ˆλ‹€.

    var loader = new THREE.JSONLoader();
    loader.load( "js/models/Golfer_SWING.js", function(geometry, materials){

    for ( var i = 0; i < materials.length; i ++ ) {
        var m = materials[ i ];
        m.skinning = true;
    }

    playerObject = new THREE.SkinnedMesh( geometry, new THREE.MeshFaceMaterial( materials ) );
    playerObject.position.set( -50, -250, 0 );
    playerObject.scale.set( 100, 100, 100 );
    playerObject.rotation.y = -180 * Math.PI/180;

    scene.add( playerObject );

    playerObject.castShadow = true;
    playerObject.receiveShadow = true;

    helper = new THREE.SkeletonHelper( playerObject );
    helper.material.linewidth = 3;
    helper.visible = false;
    scene.add( helper );
    swingAnimation = new THREE.Animation( playerObject, geometry.animations[0] );
    swingAnimation.play();

    } );

λΈ”λ Œλ“œ νŒŒμΌμ— λŒ€ν•΄ 일반적으둜 μ œμ•ˆλœ μ—¬λŸ¬ ꡬ성 변경을 μ‹œλ„ν–ˆμ§€λ§Œ 아무 것도 μž‘λ™ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. λ‹€μŒμ€ λΈ”λ Œλ“œ νŒŒμΌμ— λŒ€ν•œ λ§ν¬μž…λ‹ˆλ‹€.

http://cl.ly/3H3M2T3i1o1p

μ €λŠ” r68κ³Ό μ΅œμ‹  λΈ”λ Œλ” 내보내기λ₯Ό μ‚¬μš©ν•˜κ³  μžˆμŠ΅λ‹ˆλ‹€.

Help (please use the forum)

κ°€μž₯ μœ μš©ν•œ λŒ“κΈ€

three.js 내보내기에 μ ν•©ν•˜λ„λ‘ λΈ”λ Œλ” νŒŒμΌμ„ μˆ˜μ •ν–ˆμŠ΅λ‹ˆλ‹€.

  • 메쉬 객체의 크기 μž¬μ„€μ •(객체 λͺ¨λ“œμ—μ„œ ctrl-A)
  • μ• λ‹ˆλ©”μ΄μ…˜μ„ ν”„λ ˆμž„ 0이 μ•„λ‹Œ ν”„λ ˆμž„ 1μ—μ„œ μ‹œμž‘ν•˜λ„λ‘ λ³€κ²½ν•˜κ³  λ‹€λ₯Έ λͺ¨λ“  ν‚€ν”„λ ˆμž„μ„ ν•œ ν”„λ ˆμž„μ”© μ΄λ™ν–ˆμŠ΅λ‹ˆλ‹€.
  • ν”„λ ˆμž„ 0에 νœ΄μ‹ 포즈 ν‚€ν”„λ ˆμž„μ„ μΆ”κ°€ν–ˆμŠ΅λ‹ˆλ‹€(μƒˆ μ• λ‹ˆλ©”μ΄μ…˜ λ²”μœ„ μ™ΈλΆ€).
  • 클럽 λ©”μ‹œμ˜ λͺ¨λ“  정점을 "hand.R"μ΄λΌλŠ” 정점 그룹에 μΆ”κ°€ν–ˆμŠ΅λ‹ˆλ‹€(λ³Έ 이름과 동일).

이제 ν”„λ ˆμž„ 0을 μ„ νƒν•œ λ‹€μŒ 내보내면 λͺ¨λΈκ³Ό μ• λ‹ˆλ©”μ΄μ…˜μ„ μ˜¬λ°”λ₯΄κ²Œ 내보낼 수 μžˆμŠ΅λ‹ˆλ‹€.

https://dl.dropboxusercontent.com/u/46299249/Golfer_FIXED.blend

λͺ¨λ“  3 λŒ“κΈ€

μŠ€μΌˆλ ˆν†€μ΄ λͺ¨λ“  λ³€ν˜•μ—μ„œ μ§€μ›Œμ§„ μƒνƒœλ‘œ λ©”μ‹œμ™€ μ• λ‹ˆλ©”μ΄μ…˜μ„ _λ°˜λ“œμ‹œ_ 내보내야 ν•©λ‹ˆλ‹€.

파일둜 μ‹œλ„ν–ˆκ³  포즈 λͺ¨λ“œμ—μ„œ λͺ¨λ“  뼈λ₯Ό μ„ νƒν•œ λ‹€μŒ 포즈->λ³€ν™˜ μ§€μš°κΈ°->λͺ¨λ‘λ₯Ό μ„ νƒν•œ λ‹€μŒ three.js 내보내기λ₯Ό μˆ˜ν–‰ν•˜μ—¬ μ μ ˆν•œ κ²°κ³Όλ₯Ό μ–»μ—ˆμŠ΅λ‹ˆλ‹€.

이것은 μž₯λ©΄μ΄λ‚˜ λ‹€λ₯Έ ν‚€ν”„λ ˆμž„μ— 영ν–₯을 λ―ΈμΉ˜μ§€ μ•Šμ§€λ§Œ 내보낼 λ•Œλ§ˆλ‹€ μˆ˜ν–‰ν•΄μ•Ό ν•©λ‹ˆλ‹€.

three.js 내보내기에 μ ν•©ν•˜λ„λ‘ λΈ”λ Œλ” νŒŒμΌμ„ μˆ˜μ •ν–ˆμŠ΅λ‹ˆλ‹€.

  • 메쉬 객체의 크기 μž¬μ„€μ •(객체 λͺ¨λ“œμ—μ„œ ctrl-A)
  • μ• λ‹ˆλ©”μ΄μ…˜μ„ ν”„λ ˆμž„ 0이 μ•„λ‹Œ ν”„λ ˆμž„ 1μ—μ„œ μ‹œμž‘ν•˜λ„λ‘ λ³€κ²½ν•˜κ³  λ‹€λ₯Έ λͺ¨λ“  ν‚€ν”„λ ˆμž„μ„ ν•œ ν”„λ ˆμž„μ”© μ΄λ™ν–ˆμŠ΅λ‹ˆλ‹€.
  • ν”„λ ˆμž„ 0에 νœ΄μ‹ 포즈 ν‚€ν”„λ ˆμž„μ„ μΆ”κ°€ν–ˆμŠ΅λ‹ˆλ‹€(μƒˆ μ• λ‹ˆλ©”μ΄μ…˜ λ²”μœ„ μ™ΈλΆ€).
  • 클럽 λ©”μ‹œμ˜ λͺ¨λ“  정점을 "hand.R"μ΄λΌλŠ” 정점 그룹에 μΆ”κ°€ν–ˆμŠ΅λ‹ˆλ‹€(λ³Έ 이름과 동일).

이제 ν”„λ ˆμž„ 0을 μ„ νƒν•œ λ‹€μŒ 내보내면 λͺ¨λΈκ³Ό μ• λ‹ˆλ©”μ΄μ…˜μ„ μ˜¬λ°”λ₯΄κ²Œ 내보낼 수 μžˆμŠ΅λ‹ˆλ‹€.

https://dl.dropboxusercontent.com/u/46299249/Golfer_FIXED.blend

satori99, 정말 κ°μ‚¬ν•©λ‹ˆλ‹€! λ‚˜λŠ” λ©°μΉ  λ™μ•ˆ 이것과 μ”¨λ¦„ν–ˆλ‹€. 그리고 κ³ μ • νŒŒμΌμ„ μ œκ³΅ν•΄μ£Όμ…”μ„œ κ°μ‚¬ν•©λ‹ˆλ‹€. 그것은 μ§€κΈˆ λ‚˜λ₯Ό μœ„ν•΄ μΌν•˜κ³  μžˆμŠ΅λ‹ˆλ‹€ :)

이 νŽ˜μ΄μ§€κ°€ 도움이 λ˜μ—ˆλ‚˜μš”?
0 / 5 - 0 λ“±κΈ‰