ฉันต้องการสร้างเอฟเฟกต์ "สปอตไลท์" แบบ 2D ที่อนุญาตสปอตไลท์ให้กับเอนทิตีหลาย ๆ แห่ง คือราวกับว่าผีสางหลายตัวถือไฟฉายอยู่ สำหรับเอนทิตีเดียว (หนึ่งสปอตไลท์) ฉันใช้เทคนิคที่ฉันซ้อนทับสไปรต์ไล่ระดับสีและมีการไล่ล่าเซ็นเตอร์พอยท์นั้น เทคนิคนี้ใช้งานได้ดีสำหรับสปอตไลต์เดียว นี่เป็นภาพหน้าจอเพื่ออธิบายสิ่งที่ฉันพูดถึง:
Spotlight เดียว - งาน
ปัญหาที่ฉันพบคือเทคนิคนี้ไม่ขยายไปถึงหลายเอนทิตี หากฉันซ้อนทับภาพสปอตไลท์อื่นฉันพบปัญหาหลายอย่าง นี่เป็นภาพหน้าจอจำลอง:
สปอตไลหลายตัว = ปัญหา
ปัญหาที่ชัดเจนที่สุดคือมุมที่มองเห็นได้ สิ่งนี้สามารถแก้ไขได้ด้วยการทำให้ภาพสปอตไลต์มโหฬารครอบคลุมทั้งระดับ แต่ไม่รู้สึกว่าถูกต้อง ปัญหาที่สองและยากยิ่งขึ้นคือการที่ฉันเพิ่มความมืดด้วยเทคนิคนี้ได้อย่างมีประสิทธิภาพ ดังนั้นสไปรต์แต่ละอันที่เพิ่มเข้ามาจะมีผลทำให้คนอื่นมืด เห็นได้ชัดว่าฉันเข้าใกล้ปัญหานี้อย่างไม่ถูกต้อง
ความคิดใด ๆ
ความพยายามอย่างต่อเนื่อง
มีการพูดคุยเกี่ยวกับตัวเลือกการผสมในความคิดเห็น นี่คือความคิดปัจจุบันของฉัน ในตัวอย่างสปอตไลต์เดียวของฉันด้านบนฉันใช้ไฟล์รูปภาพที่มีลักษณะดังนี้: (ฉันได้แทนที่ความโปร่งใสด้วยสีเขียวเพื่อให้ง่ายต่อการอธิบาย)
ดังที่ได้อธิบายไว้ข้างต้นปัญหาคืออัลฟ่าผสมภาพนี้กับภาพอื่นจะไม่สร้างเอฟเฟกต์ที่ต้องการ แต่มันจะผลิตสิ่งนี้:
แต่นั่นไม่ได้ทำให้ฉันเป็นปัญหาตัวเลือกการผสม ปัญหาที่เห็นได้ชัดสำหรับฉันก็คือภาพประเภทนั้นมีหน้ากากโปร่งใสและภาพ (สี่เหลี่ยมสีดำ) ติดตั้งอยู่ภายในเมื่อควรแยกออกจากกัน
ดังนั้นแทนที่จะเป็นภาพสีดำที่มีความโปร่งใสแบบตัดออกในตัวฉันควรจะใช้มาสก์แบบโปร่งใสที่ใช้ในเวลาทำงานกับสี่เหลี่ยมสีดำ เมื่อทำเช่นนั้นฉันยังคงไม่สามารถใช้มาส์กแบบโปร่งใสสีขาวและสีดำแบบดั้งเดิมได้หรือจะพบปัญหาเดียวกัน นี่คือตัวอย่างในเวลานี้สีขาวและสีดำแสดงสีขาวและสีดำ:
ดูเหมือนว่าโซลูชันจะใช้หน้ากากโปร่งใสที่ใช้ประโยชน์จากความโปร่งใส บางสิ่งเช่นนี้: (สีเขียว = โปร่งใส)
ด้วยวิธีนี้มาสก์ที่โปร่งใสหลายตัวสามารถผสมกันได้ตั้งแต่อัลฟาและจากนั้นใช้เป็นมาสก์โปร่งใสกับสี่เหลี่ยมสีดำ นี่คือตัวอย่างหนึ่งของมาสก์โปร่งใสสองตัวที่ผสมกัน:
อย่างไรก็ตามนั่นคือวิธีที่ฉันกำลังดำเนินการ ฉันจะโพสต์ผลลัพธ์หากใช้งานได้ สิ่งที่ฉันไม่รู้ (ปัจจุบัน) คือถ้าฉันสามารถใช้หน้ากากโปร่งใสที่ตัวเองมีความโปร่งใส