अपडेट बनाम लेटअपडेट
Unity में, अपडेट और LateUpdate फ़ंक्शंस का उपयोग आमतौर पर किसी दृश्य में ऑब्जेक्ट के व्यवहार को अपडेट करने के लिए किया जाता है, और जब वे समान उद्देश्यों को पूरा करते हैं, तो उनके बीच महत्वपूर्ण अंतर होते हैं दो।
'Update'
फ़ंक्शन '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' फ़ंक्शन के अंतर्गत भी किए जा सकते हैं।
'LateUpdate'
'LateUpdate' फ़ंक्शन को प्रति फ्रेम एक बार भी कॉल किया जाता है, लेकिन इसे सभी फ़ंक्शन 'Update' पूरा होने के बाद निष्पादित किया जाता है। इसका उपयोग आमतौर पर यह सुनिश्चित करने के लिए किया जाता है कि अन्य अपडेट, जैसे ऑब्जेक्ट मूवमेंट या एनीमेशन, उन अपडेट पर निर्भर अतिरिक्त क्रियाएं करने से पहले समाप्त हो गए हैं।
void LateUpdate()
{
// Camera follow
Vector3 desiredPosition = target.position + offset;
transform.position = Vector3.Lerp(transform.position, desiredPosition, smoothness);
// Additional actions after other updates
// ...
}
उपरोक्त उदाहरण में, फ़ंक्शन 'LateUpdate' का उपयोग कैमरे के साथ लक्ष्य वस्तु का सुचारू रूप से अनुसरण करने के लिए किया जाता है। यह सुनिश्चित करता है कि 'Update' फ़ंक्शन में लक्ष्य की गतिविधि संसाधित होने के बाद कैमरे की स्थिति अपडेट की जाती है। ऑब्जेक्ट की अद्यतन स्थिति पर निर्भर अतिरिक्त क्रियाएं 'LateUpdate' के भीतर भी की जा सकती हैं।
'Update' बनाम 'LateUpdate'
फ़ंक्शन 'Update' और LateUpdate के बीच मुख्य अंतर:
- 'Update' फ़्रेम में पहले कॉल किया जाता है, उसके बाद LateUpdate।
- 'Update' इनपुट हैंडलिंग, ऑब्जेक्ट मूवमेंट, और गैर-कैमरा-संबंधित संचालन सहित अधिकांश सामान्य-उद्देश्य वाले कार्यों के लिए उपयुक्त है।
- LateUpdate आमतौर पर कैमरे से संबंधित कार्यों के लिए उपयोग किया जाता है, जैसे किसी लक्ष्य वस्तु का सुचारू रूप से फ़ॉलो करना या अन्य अपडेट पर निर्भर क्रियाएं करना।
- LateUpdate का उपयोग यह सुनिश्चित करने में मदद करता है कि अन्य अपडेट पर निर्भर क्रियाएं उन अपडेट के संसाधित होने के बाद होती हैं।
निष्कर्ष
यह ध्यान देने योग्य है कि 'Update' और 'LateUpdate' दोनों एक ही स्क्रिप्ट में सह-अस्तित्व में रह सकते हैं, जिससे विभिन्न प्रकार के अपडेट को अलग किया जा सकता है। अंतरों को समझना और प्रत्येक संदर्भ में उपयुक्त फ़ंक्शन का उपयोग करना Unity परियोजनाओं में वांछित व्यवहार प्राप्त करने में मदद करता है।