ฉันมีองค์ประกอบ Canvas ที่แตกต่างกันสี่องค์ประกอบในฉาก Unity ของฉัน สิ่งนี้จัดระเบียบตามข้อกังวล แต่ยังปรับปรุงประสิทธิภาพด้วยเนื่องจากฉันไม่จำเป็นต้องสร้างองค์ประกอบทั้งหมดใหม่หากฉันทำองค์ประกอบใดองค์ประกอบหนึ่งสกปรก ฉันต้องการสร้างรูปแบบสำเร็จรูปของแต่ละรายการเพื่อให้สามารถนำมาใช้ซ้ำได้ทั่วทั้งเกม และยังมีองค์ประกอบน้อยลงในไฟล์ฉากของฉัน (ฉันยังไม่รู้ว่าเหตุใด Unity จึงไม่จัดระเบียบ YAML ใหม่เพื่อให้ตรงกับลำดับฉากและลำดับชั้น ขณะนี้ฉันไม่เห็นเหตุผลและทำให้การควบคุมแหล่งที่มาเป็นเรื่องที่ยุ่งยากมาก)
ดังนั้นคำถามของฉัน: ฉันควรรวม Canvas เป็น GameObject หลักในรูปแบบสำเร็จรูปหรือฉันควรทำให้ลูกคนแรกเป็นรูปแบบสำเร็จรูป (ดูภาพ) ฉันเห็นสองมุมมอง:
- ในแง่หนึ่ง การสแกนรายการองค์ประกอบในรากของฉากและมองเห็นวัตถุสีน้ำเงินถือเป็นเรื่องดี และรู้ว่าองค์ประกอบเหล่านั้นจะถูกจำลองข้ามฉากโดยอัตโนมัติ นอกจากนี้ ยิ่งมีออบเจ็กต์ที่เก็บไว้ในรูปแบบสำเร็จรูปมากเท่าไร ก็จะทำให้ไฟล์ YAML ของฉันเสียหายน้อยลง
- ในทางกลับกัน ด้วยสคริปต์ Canvas Scalar บนพาเรนต์ ขนาดภายในรูปแบบสำเร็จรูปจะได้รับการอัปเดตทุกครั้งที่ฉันเปลี่ยนความละเอียด / แพลตฟอร์ม และฉันได้อ่านแล้วว่าไม่ดีเสมอไปในการอัปเดตนอกโหมดรูปแบบสำเร็จรูป ปัญหาอีกประการหนึ่งคือความจริงที่ว่าองค์ประกอบ UI มักจะมีการอ้างอิงภายนอกจำนวนมากเพื่ออัปเดตข้อความและอื่นๆ