ฉันจะใช้วิธีนี้โดยใช้ shader ที่กำหนดเองบน SpriteRenderers ของฉันซึ่งมีพื้นผิวสองแบบหนึ่งแบบสำหรับแต่ละเวอร์ชันที่คุณต้องการเปลี่ยนระหว่าง
(แม้ว่าการใช้เอฟเฟกต์นี้เพื่อการเปลี่ยนระหว่างรัฐมากกว่าสองรัฐฉันยังคงพยายามจัดโครงสร้างเกมดังนั้นเราจึงต้องการเพียงสองภาพในการแสดงผลในเวลาใดก็ได้: รัฐเก่าและรัฐต่อไปเราจะปล่อยให้เล่นเปลี่ยนช่วงนั้น จะเสร็จสิ้นก่อนที่เราจะให้ผู้เล่นเริ่มต้นการเปลี่ยนไปสู่สถานะที่สาม ณ จุดที่เราสามารถแทนที่สถานะ "เก่า" ก่อนหน้าของเราเนื่องจากไม่เห็นอีกต่อไป)
Shader นี้จะข้ามระหว่างพื้นผิวทั้งสองโดยใช้พื้นผิวช่องเดียวที่สามเป็นหน้ากากสำหรับเอฟเฟกต์ (เช่นสีดำ = สถานะเก่า 100% สีเทา = 50/50 ผสมผสานสีขาว = สถานะใหม่ 100%) ฉันจะจับคู่รูปแบบหน้ากากนี้ในหน้าจอ
จากนั้นฉันจะตั้งค่ากล้องที่สองเพื่อแสดงเป็น RenderTexture เพื่อสร้างมาสก์นี้ กล้องตัวที่สองนี้จะเคลื่อนที่ด้วยกล้องหลักของฉันและตรงกับขนาดของ FoV / orthographic ดังนั้นการเคลื่อนไหวใด ๆ ในมุมมองของฉันจึงมีผลกับทั้งโลกและเปิดเผยหน้ากากอย่างสม่ำเสมอ กล้องนี้จะแสดงต่อหน้ากล้องหลักของฉันและตั้งค่าให้ดูเฉพาะเนื้อหาในเลเยอร์ "เปิดเผย" ที่กำหนดเป็นพิเศษ ในตัวอย่างวิดีโอดูเหมือนว่าพวกเขาใช้ระบบอนุภาคเพื่อแยกส่วนของรูปร่างเมฆขนาดเล็กออกมาในพื้นผิวที่เผยให้เห็นซึ่งขยายออกไปตามกาลเวลา