การใช้แสง 2D เป็นอย่างไร?


58

ฉันสงสัยว่าวิธีที่ดีที่สุดในการใช้เอฟเฟกต์แสงในเกม 2D คืออะไร ตัวอย่างเช่นถ้าตัวละครหลักของฉันกำลังเรืองแสงฉันสามารถใช้เทคนิคใดเพื่อทำให้เอฟเฟ็กต์ภาพของตัวละครเรืองแสงเมื่อมันอยู่ใกล้กับวัตถุอื่นซึ่งจะได้รับผลกระทบจากแสง

คำตอบ:


39

คุณสามารถซ้อนทับเอฟเฟกต์แสงแบบง่ายด้วยขอบโปร่งใสอ่อน หากคุณต้องการแสง / เงาคล้ายกับสิ่งที่คุณอาจพบในโลก 3 มิติคุณสามารถทำสิ่งนี้: http://www.catalinzima.com/2010/07/my-technique-for-the-shader-based-dynamic -2d เงา / อย่างไรก็ตามหากคุณยังใหม่กับ HLSL นั่นอาจจะมากเกินไป

แก้ไข : ฉันสะดุดกับการสอนเบาๆ HTML5 2d


ลิงค์นั้นเป็นสิ่งที่ฉันกำลังมองหา ฉันไม่สามารถขอบคุณได้มากพอ สิ่งนี้มีประโยชน์มาก
Christopher Horenstein

7

มีโครงการ XNA เปิดแหล่งที่มาซึ่งเป็นห้องสมุดที่ดีเยี่ยมและการดำเนินงานของแสง 2D ที่เกิดขึ้นจะเข้ากันได้กับ XNA 4.0 ของรายละเอียดการเข้าถึงคือ - Krypton XNA


4

คุณจะต้องใช้เอฟเฟ็กต์ตัวกรองหลังการเขียนใน HLSL หรือ GLSL Shader จะได้รับพิกัดของผู้เล่นและปรับความสว่างของพิกเซลทั้งหมดในช่วงที่กำหนด XNA รองรับ 2D shaders ค่อนข้างดี

อีกวิธีคือการจำลองความสว่างโดยใช้พื้นผิวที่มีช่องอัลฟา พื้นผิวส่วนใหญ่จะเป็นสีดำยกเว้นจุดโปร่งใสตรงกลาง พื้นผิวนี้เราเป็นภาพซ้อนทับบนหน้าจอเกมของคุณโดยมีจุดโปร่งใสที่อยู่กึ่งกลางของตัวละครผู้เล่น เกมผจญภัยเก่า ๆ ใช้เทคนิคนี้เพื่อจำลองไฟฉาย


4

หลังจากการค้นหาบางบล็อกนี้ดูเหมือนเริ่มต้นที่ดี:

http://www.soolstyle.com/2010/02/15/2d-deferred-lightning/

ให้แน่ใจว่าได้อ่านความคิดเห็นเพราะมีการปรับปรุงบางอย่าง แต่โพสต์บล็อกจะช่วยให้คุณเริ่มต้น :)

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.