मेरे कोड में, मैं इस कोड में एक अक्ष के बारे में रोटेशन सीमित कर रहा हूँ:

if (obj.rotation.x > -0.5) {
    // rotate
}

मेरे पास <0.5 का पता लगाने के लिए मिलान कोड है। यह तब तक काम करता रहा जब तक मैंने ऑब्जेक्ट को किसी अन्य अक्ष के बारे में घुमाना शुरू नहीं किया, जिससे ऑब्जेक्ट के लिए स्थानीय और वैश्विक स्थान के बीच एक डिस्कनेक्ट हो गया।

मुझे पता है कि मैं ऑब्जेक्ट के स्थानीय रोटेशन को obj.rotateX(rads) के साथ सेट कर सकता हूं, लेकिन मैं स्थानीय रोटेशन कैसे प्राप्त कर सकता हूं?

आपके द्वारा प्रदान की जा सकने वाली किसी भी सहायता के लिए आपका धन्यवाद।

0
CtrlAltF2 6 अगस्त 2019, 01:55

1 उत्तर

सबसे बढ़िया उत्तर

मुझे पता है कि मैं ऑब्जेक्ट के स्थानीय रोटेशन को obj.rotateX(rads) के साथ सेट कर सकता हूं, लेकिन मैं स्थानीय रोटेशन कैसे प्राप्त कर सकता हूं?

Object3D.rotation हमेशा स्थानीय घुमाव का प्रतिनिधित्व करता है, भले ही वस्तु के पूर्वज हों या नहीं। मुझे ऐसा लगता है कि आप विश्व और स्थानीय अंतरिक्ष की अवधारणाओं को मिला रहे हैं।

किसी वस्तु का विश्व घूर्णन प्राप्त करने के विभिन्न तरीके हैं उदा। इसे Object3D.matrixWorld से निकालकर या Object3D पर कॉल करके। getWorldQuaterion.

three.js R107

0
Mugen87 6 अगस्त 2019, 15:58