Three.js: يتشوه نموذج الخلاط المُصدَّر عند تطبيق الرسوم المتحركة

تم إنشاؤها على ٧ سبتمبر ٢٠١٤  ·  3تعليقات  ·  مصدر: mrdoob/three.js

أواجه مشكلة غريبة عند تحميل النماذج من مصدر Blender. عندما أقوم بتحميل النموذج بدون تطبيق الرسوم المتحركة ، يبدو الأمر كما يلي -

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 ، في وضع الكائن)
  • تم تغيير الرسم المتحرك ليبدأ من الإطار 1 ، بدلاً من الإطار 0. ونقل جميع الإطارات الرئيسية الأخرى بواسطة إطار واحد.
  • تمت إضافة إطار رئيسي للراحة عند الإطار 0 (خارج نطاق الرسوم المتحركة الجديد)
  • تمت إضافة جميع رؤوس شبكة المضرب إلى مجموعة رأس تسمى "hand.R" (نفس اسم العظم)

يمكنك الآن تصدير النموذج والرسوم المتحركة بشكل صحيح عن طريق تحديد الإطار 0 ، ثم التصدير.

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

ال 3 كومينتر

يجب عليك تصدير الشبكة والرسوم المتحركة الخاصة بك مع الهيكل العظمي الذي تم مسحه من جميع التحولات.

لقد جربت ملفك وحصلت على نتائج مناسبة عن طريق تحديد كل عظم في وضع الوضعية ثم تحديد Pose-> Clear Transform-> All ، ثم إجراء تصدير three.js.

لن يؤثر هذا على المشهد الخاص بك أو الإطارات الرئيسية الأخرى ، ولكن عليك القيام بذلك في كل مرة تقوم فيها بالتصدير.

لقد أجريت بعض الإصلاحات على ملف الخلاط الخاص بك لجعله مناسبًا لتصدير three.js.

  • إعادة تعيين مقياس كائنات الشبكة (ctrl-A ، في وضع الكائن)
  • تم تغيير الرسم المتحرك ليبدأ من الإطار 1 ، بدلاً من الإطار 0. ونقل جميع الإطارات الرئيسية الأخرى بواسطة إطار واحد.
  • تمت إضافة إطار رئيسي للراحة عند الإطار 0 (خارج نطاق الرسوم المتحركة الجديد)
  • تمت إضافة جميع رؤوس شبكة المضرب إلى مجموعة رأس تسمى "hand.R" (نفس اسم العظم)

يمكنك الآن تصدير النموذج والرسوم المتحركة بشكل صحيح عن طريق تحديد الإطار 0 ، ثم التصدير.

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

satori99 ، شكرا جزيلا لك! لقد كنت أتصارع مع هذا لأيام. وشكرا جزيلا لتوفير ملف ثابت. انها تعمل الآن بالنسبة لي :)

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات