/ / Assimp - एनीमेशन, assimp का उपयोग कर आयात करते समय हड्डी की लंबाई निर्धारित करना

Assimp - एनीमेशन, assimp का उपयोग कर आयात करते समय हड्डी की लंबाई निर्धारित करना

मैं कुछ कठोर मॉडल लोड और प्रस्तुत करने की कोशिश कर रहा हूंAssimp 3.1.1 का उपयोग कर तो मेरे पास एआईबोन की आयनोड की पदानुक्रम में पहचाना गया है। प्रत्येक एआईबोन के लिए, मेरे पास इसका परिवर्तन (टीआरएस) w.r.t. है माता पिता को

मेरा सवाल है, मैं लंबाई निर्धारित कैसे कर सकता हूंप्रत्येक हड्डी? एक कनेक्टेड कंकाल मानते हुए, पत्ती की हड्डियों को छोड़कर, अधिकांश हड्डियों के लिए यह कोई समस्या नहीं है। मान लीजिए मेरे पास निम्नलिखित कंकाल संरचना है: बी 0 -> बी 1 -> बी 2 बी 0 रूट हड्डी और बी 2 पत्ती की हड्डी होने के साथ। मैं बी 2 की लंबाई कैसे जान सकता हूं (क्योंकि मेरे पास केवल इसका परिवर्तन w.r.t. b1 है)?

धन्यवाद!

उत्तर:

जवाब के लिए 2 № 1

हालांकि अधिकांश एसडीके और गेम इंजन हड्डियों के रूप में एक कंकाल को परिभाषित करते हैं, यह गलत है। वास्तव में यह है जोड़। हड्डियों जोड़ों के बीच अंतर्निहित कनेक्शन हैं। जब आप इसे इस तरह देखते हैं, तो आप महसूस करते हैं कि सभी हड्डियों की लंबाई होती है और पिछले हड्डी के जोड़ों में कोई हड्डी नहीं होती है।

जोड़ों के साथ अपना उदाहरण बदलना:

J0 ---B0---> J1 ---B1---> J2

बी 0 जे 0 और जे 1 के बीच हड्डी है, और बी 1 जे 1 और जे 2 के बीच की हड्डी है।


उत्तर № 2 के लिए 1

तो, थोड़ा और खुदाई के बाद .. आईएसटीएम कि यह जानने का कोई अंतर्निहित तरीका नहीं है कि पत्ती की हड्डियों को कब समाप्त किया जाना चाहिए।

निम्नलिखित कोड टिप्पणियों से संदर्भित किया गया है Ogre3D विकी (यह assimp नहीं है, लेकिन हम यहाँ एक ही समस्या के बारे में बात कर रहे हैं)।

if(numChildren == 0)
{
// There are no children, but we should still represent the bone
// Creates a bone of length 1 for leaf bones (bones without children)
// ...
}

मुझे लगता है कि आप गणना करने की कोशिश कर सकते हैंएक पत्ती की हड्डी की लंबाई, हड्डी से दूरी को जाल के किनारे तक की गणना करके, जिसे आप प्रतिपादन कर रहे हैं .. हालांकि यह इसके लायक से अधिक परेशानी हो सकती है।