/ / एकता में 90 डिग्री तक क्षैतिज वस्तु घुमाएँ - c #, unity3d

यूनिटी - सी #, unity3d में 90 डिग्री से क्षैतिज वस्तु को घुमाएं

मैं एक घन को 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);