ฉันสงสัยว่าวิธีที่ดีที่สุดในการใช้เอฟเฟกต์แสงในเกม 2D คืออะไร ตัวอย่างเช่นถ้าตัวละครหลักของฉันกำลังเรืองแสงฉันสามารถใช้เทคนิคใดเพื่อทำให้เอฟเฟ็กต์ภาพของตัวละครเรืองแสงเมื่อมันอยู่ใกล้กับวัตถุอื่นซึ่งจะได้รับผลกระทบจากแสง
ฉันสงสัยว่าวิธีที่ดีที่สุดในการใช้เอฟเฟกต์แสงในเกม 2D คืออะไร ตัวอย่างเช่นถ้าตัวละครหลักของฉันกำลังเรืองแสงฉันสามารถใช้เทคนิคใดเพื่อทำให้เอฟเฟ็กต์ภาพของตัวละครเรืองแสงเมื่อมันอยู่ใกล้กับวัตถุอื่นซึ่งจะได้รับผลกระทบจากแสง
คำตอบ:
คุณสามารถซ้อนทับเอฟเฟกต์แสงแบบง่ายด้วยขอบโปร่งใสอ่อน หากคุณต้องการแสง / เงาคล้ายกับสิ่งที่คุณอาจพบในโลก 3 มิติคุณสามารถทำสิ่งนี้: http://www.catalinzima.com/2010/07/my-technique-for-the-shader-based-dynamic -2d เงา / อย่างไรก็ตามหากคุณยังใหม่กับ HLSL นั่นอาจจะมากเกินไป
มีโครงการ XNA เปิดแหล่งที่มาซึ่งเป็นห้องสมุดที่ดีเยี่ยมและการดำเนินงานของแสง 2D ที่เกิดขึ้นจะเข้ากันได้กับ XNA 4.0 ของรายละเอียดการเข้าถึงคือ - Krypton XNA
คุณจะต้องใช้เอฟเฟ็กต์ตัวกรองหลังการเขียนใน HLSL หรือ GLSL Shader จะได้รับพิกัดของผู้เล่นและปรับความสว่างของพิกเซลทั้งหมดในช่วงที่กำหนด XNA รองรับ 2D shaders ค่อนข้างดี
อีกวิธีคือการจำลองความสว่างโดยใช้พื้นผิวที่มีช่องอัลฟา พื้นผิวส่วนใหญ่จะเป็นสีดำยกเว้นจุดโปร่งใสตรงกลาง พื้นผิวนี้เราเป็นภาพซ้อนทับบนหน้าจอเกมของคุณโดยมีจุดโปร่งใสที่อยู่กึ่งกลางของตัวละครผู้เล่น เกมผจญภัยเก่า ๆ ใช้เทคนิคนี้เพื่อจำลองไฟฉาย
หลังจากการค้นหาบางบล็อกนี้ดูเหมือนเริ่มต้นที่ดี:
http://www.soolstyle.com/2010/02/15/2d-deferred-lightning/
ให้แน่ใจว่าได้อ่านความคิดเห็นเพราะมีการปรับปรุงบางอย่าง แต่โพสต์บล็อกจะช่วยให้คุณเริ่มต้น :)