संक्षिप्त उत्तर है नहीं , आप ऐसा नहीं कर सकते।
दृश्य प्रबंधन के संदर्भ में उपरोक्त दोनों उत्तर सही हैं। दृश्य को लोड करने के लिए आप दृश्य प्रबंधक का उपयोग कर सकते हैं और चूंकि यह async है आप समानांतर में अन्य कोड चला सकते हैं।
को देखो SceneManager.LoadScene अधिक जानकारी के लिए प्रलेखन।
खेल शुरू होने के बाद आप अपने कोड को जितना संभव हो उतना तेज़ी से चला सकते हैं, इसे पहले दृश्य से छोटे पदचिह्न के साथ चला रहे हैं। इसे स्प्लैश सीन कहते हैं । केवल एक चीज इसमें शामिल होगी आपकी छप छवि और नियंत्रक को आवश्यक कोड चलाने और दूसरे दृश्य को लोड करने के लिए।
चूंकि इसमें छोटे पदचिह्न हैं, इसलिए यह बहुत तेज़ी से लोड होगा और इस प्रकार आपके कोड को लगभग तुरंत चला देगा। फिर आप वह कर सकते हैं जो आपको करना है, और बाद में अन्य दृश्य लोड करें ।
एक और चीज़ जो आप आज़मा सकते हैं, वह है "स्प्लैश स्क्रीन" को हटाना जो भी चित्र आप वहां प्रदर्शित करना चाहेंगे। यह शुरू में लोड नहीं किया जाएगा क्योंकि यह बस थोड़ा तेज होगा।
तो प्रवाह कुछ इस तरह होगा:
- स्पलैश स्क्रीन (यहां कोई छवि नहीं है, बस इसे काला करें)
- छप दृश्य (आपके प्रारंभिक कोड और अगले दृश्य लोडर के साथ छोटा पदचिह्न)
- इंट्रो सीन (नियमित इंट्रो सीन)
- .... (हमेशा की तरह अन्य दृश्य)
दृश्य जितना छोटा होगा वह उतना ही तेज होगा। आप लोड किए गए स्प्लैश स्क्रीन में किसी भी ऑब्जेक्ट से जुड़ी स्प्लैश कंट्रोलर जैसी किसी चीज का उपयोग कर सकते हैं ।
using UnityEngine;
using UnityEngine.SceneManagement;
public class SplashController: MonoBehaviour
{
void Start()
{
// RunSomeSyncMethod();
SceneManager.LoadScene("OtherSceneName", LoadSceneMode.Additive);
}
}