अपडेट बनाम फिक्स्डअपडेट

Unity में, अपडेट और FixedUpdate दोनों फ़ंक्शंस का उपयोग किसी दृश्य में ऑब्जेक्ट के व्यवहार को अपडेट करने के लिए किया जाता है, और जबकि वे समान उद्देश्यों को पूरा करते हैं, दोनों के बीच महत्वपूर्ण अंतर हैं.

'Update'

'Update' फ़ंक्शन को प्रति फ़्रेम एक बार कॉल किया जाता है और यह इनपुट को संभालने, ऑब्जेक्ट पोज़िशन को अपडेट करने और अधिकांश सामान्य-उद्देश्य वाले कार्यों को करने के लिए आदर्श है। यह फ़्रेम-दर पर निर्भर नहीं है, जिसका अर्थ है कि यह प्रदर्शन के आधार पर निष्पादन समय में भिन्न हो सकता है।

void Update()
{
    // Input handling
    float horizontalInput = Input.GetAxis("Horizontal");
    float verticalInput = Input.GetAxis("Vertical");
    
    // Movement
    Vector3 movement = new Vector3(horizontalInput, 0, verticalInput);
    transform.Translate(movement * speed * Time.deltaTime);
    
    // General-purpose tasks
    // ...
}

उपरोक्त उदाहरण में, हम क्षैतिज और ऊर्ध्वाधर अक्षों से इनपुट प्राप्त करते हैं और इसका उपयोग ऑब्जेक्ट की गति को नियंत्रित करने के लिए करते हैं। विधि 'Translate' का उपयोग वस्तु को स्थिर गति से निर्दिष्ट दिशा में ले जाने के लिए किया जाता है। सामान्य प्रयोजन के कार्य 'Update' फ़ंक्शन के अंतर्गत भी किए जा सकते हैं।

'FixedUpdate'

फ़ंक्शन 'FixedUpdate' को निश्चित समय अंतराल पर कॉल किया जाता है, जो इसे भौतिकी-संबंधित गणनाओं को संभालने के लिए उपयुक्त बनाता है। यह फ्रेम-दर स्वतंत्र है, विभिन्न उपकरणों और फ्रेम दर पर लगातार व्यवहार सुनिश्चित करता है।

void FixedUpdate()
{
    // Physics calculations
    rb.AddForce(transform.forward * forceMagnitude);
    
    // Other physics-related tasks
    // ...
}

उपरोक्त उदाहरण में, हम वस्तु की आगे की दिशा में एक रिगिडबॉडी घटक पर एक निरंतर बल लागू करते हैं। 'FixedUpdate' का उपयोग यह सुनिश्चित करता है कि फ्रेम दर की परवाह किए बिना, भौतिकी गणना एक निश्चित दर पर होती है। स्थिर भौतिकी सिमुलेशन बनाए रखने के लिए यह महत्वपूर्ण है।

'Update' बनाम 'FixedUpdate'

फ़ंक्शन 'Update' और 'FixedUpdate' के बीच मुख्य अंतर:

  • 'Update' प्रति फ्रेम एक बार कॉल किया जाता है, जबकि FixedUpdate को निश्चित समय अंतराल पर कॉल किया जाता है।
  • 'Update' फ्रेम-दर पर निर्भर है, जबकि FixedUpdate फ्रेम-रेट स्वतंत्र है।
  • 'Update' इनपुट हैंडलिंग, ऑब्जेक्ट मूवमेंट और गैर-भौतिकी-संबंधी संचालन सहित अधिकांश सामान्य-उद्देश्य वाले कार्यों के लिए उपयुक्त है।
  • FixedUpdate विशेष रूप से भौतिकी-संबंधित गणनाओं के लिए डिज़ाइन किया गया है, जैसे बल लगाना, रिगिडबॉडी गुणों को समायोजित करना और अन्य भौतिकी-आधारित संचालन करना।

निष्कर्ष

यह ध्यान रखना महत्वपूर्ण है कि 'Update' और 'FixedUpdate' एक ही स्क्रिप्ट में सह-अस्तित्व में हो सकते हैं, जिससे भौतिकी-संबंधित कोड को अन्य सामान्य-उद्देश्य कोड से अलग किया जा सकता है। अंतरों को समझने और प्रत्येक संदर्भ में उचित फ़ंक्शन का उपयोग करने से Unity परियोजनाओं में सुचारू और सुसंगत व्यवहार सुनिश्चित करने में मदद मिलती है।

सुझाए गए लेख
एकता में मोनोबिहेवियर के लिए गाइड
जागो बनाम प्रारंभ करो
यूनिटी में रनटाइम एनिमेटर नियंत्रक का उपयोग करना
C# में उपयोगी कीवर्ड की एकता सूची
यूनिटी में कीबोर्ड और माउस इनपुट लागू करना
फ़ंक्शंस और मेथड कॉल को समझना
यूनिटी कोड में सशर्त विवरण (यदि-अन्यथा) बनाना