इस प्रभाव को प्राप्त करने के लिए:
दो छँटाई परतें बनाएँ : ग्राउंड और ऑब्जेक्ट्स ।
ग्राउंड लेयर का उपयोग करने के लिए अपनी सड़क, घास और पथ स्प्राइट्स का उपयोग करें।
अपने चरित्र, दीवारों, और घर स्प्राइट्स का उपयोग करें।
अपने ऑब्जेक्ट्स लेयर पर स्प्राइट्स चाहते हैं कि उनका स्प्राइट मोड पिवोट पॉइंट बॉटम लेफ्ट, बॉटम या बॉटम राइट हो। आप अपने प्रोजेक्ट टैब के भीतर स्प्राइट का चयन करके इसे चुन सकते हैं, और स्प्राइट की आयात सेटिंग्स को समायोजित करने के लिए इंस्पेक्टर टैब में पिवट पॉइंट चुन सकते हैं ।
ग्राउंड स्प्राइट्स के लिए, आपको उनका ऑर्डर बदलने की चिंता नहीं करनी होगी।
वस्तुओं के लिए, हालाँकि, आप या तो उनके स्प्राइट रेंडरर के क्रम को बदल सकते हैं, या उनके transform.position.z
मूल्य को बदल सकते हैं । मैं परिवर्तन को बदलने की सलाह दूंगा, क्योंकि झांकियों को देखने और समायोजित करने में आसानी होगी क्योंकि आप अपने चरित्र को चारों ओर ले जाते हैं, जबकि छँटाई क्रम को बदलने से कुछ स्थितियों में सटीक नहीं लग सकता है, यह आपकी वस्तुओं के माप और आकार पर निर्भर करता है। दृश्य में।
किसी भी स्थिति में, कुछ कोड की आवश्यकता होगी।
public class SpritePositionSetter : MonoBehaviour {
void Awake () {
SetPosition();
}
void Update () {
SetPosition();
}
void SetPosition () {
// If you want to change the transform, use this
Vector3 newPosition = transform.position;
newPosition.z = transform.position.y;
transform.position = newPosition;
// Or if you want to change the SpriteRenderer's sorting order, use this
GetComponent<SpriteRenderer>().sortingOrder = (int)transform.position.y;
}
}
ऐसा करने के किसी भी तरीके के लिए, आप मूल रूप से स्प्राइट को अपने जेड इंडेक्स से अपनी वाई स्थिति से मेल खाते हुए बता रहे हैं।
यदि आप इस स्क्रिप्ट को एक स्थिर ऑब्जेक्ट (जैसे एक दीवार) से जोड़ते हैं, तो आप घटक को इंस्पेक्टर में अनचेक करना चाहेंगे ताकि इसकी Update
विधि को हर फ्रेम न कहा जाए; इसका Awake
तरीका SetPosition
एक बार आएगा और आपको इसकी आवश्यकता होगी।
लेकिन अपने चरित्र के लिए, घटक को टिक कर छोड़ दें, ताकि हर फ्रेम पर Update
कॉल SetPosition
आए, जिससे चरित्र का Z क्रम बदल जाएगा क्योंकि आप चारों ओर घूमते हैं। और जब तक आप आगे बढ़ते हैं, तब तक जब तक कि ऑब्जेक्ट की परत पर प्रत्येक स्प्राइट एक बॉटम पिवट पॉइंट का उपयोग कर रहा हो, Z इंडेक्स को बदलते समय आप अपने चरित्र को अन्य वस्तुओं के सामने या पीछे उचित रूप से प्रकट करना सुनिश्चित करेंगे।
अपने कैमरे के सेटअप के आधार पर, -1
यदि चीजें पीछे की ओर लगती हैं , तो आपको नई Z स्थिति को गुणा करना पड़ सकता है ।
यदि आप अपने दृश्य को संपादित करते समय Z इंडेक्स को समायोजित करना चाहते हैं, तो ExecuteInEditMode देखें ।