मैं एक घन को 90 डिग्री से क्षैतिज रूप से घुमाना चाहता हूं। तो मैं लिखूंगा
transform.Rotate(new Vector3(90, 0, 0));
लेकिन यह गलत लगता है।
transform.Rotate(new Vector3(0, 90, 0));
तथा
transform.Rotate(new Vector3(90, 0, 0), Space.World);
तथा
transform.Rotate(new Vector3(90, 0, 0), Space.Self);
गलत भी लगता है। मैं बस इसे अपनी धुरी पर घुमाना चाहता हूं।
मैं कैसे आर्चिव कर सकता हूं =?
उत्तर:
जवाब के लिए 2 № 1क्यूब का केंद्र बिंदु उसके ज्यामिति केंद्र में नहीं है। जो इसे घुमाते हुए आगे बढ़ा रहा है -
अगर आपको इसे बिना घुमाए इधर-उधर घुमाना है तो आपको क्यूब का सेंटर इस पर होना चाहिए।
जवाब के लिए 0 № 2
वेक्टर = Quaternion.Euler (0, -90, 0) * वेक्टर; इसे इस्तेमाल करे
जवाब के लिए 0 № 3
अपने घन के धुरी बिंदु की जाँच करें अगर यह हैकहीं से आयातित तो यह धुरी क्यूब के ठीक 0, 0, 0 में नहीं हो सकता है, दृश्य में एक नया EmptyGameobject बनाएं, और क्यूब को नए ओज के बच्चे के रूप में रखें, इसे समायोजित करें ताकि नया गेमबॉज़ हो क्यूब में स्थित है 0,0,0 स्थिति।
और फिर घुमाएँ लागू करें यह ठीक होना चाहिए। (मुझे पता है कि विधि मुश्किल लग रहा है, हालांकि, यह गेमबॉजेक्ट को बदलने का एकमात्र वैध तरीका है, एकता में धुरी बिंदु)
रोटेशन के बारे में
घूमने के दो तरीके हैं:
अगर तुरंत घुमाया जाए तो आपको ठीक होना चाहिए
यदि आप चाहते हैं कि इसे धीरे-धीरे घुमाएं। उपयोग:
transform.Rotate(0, speed * Time.deltaTime, 0, Space.World);