ฉันจะสร้างเอฟเฟกต์ 'เพลิงไหม้' ได้อย่างไรในหน้าจอชื่อเรื่องของ Ocarina of Time?


102

ฉันต้องการสร้างเอฟเฟกต์เพลิงแบบใหม่จากโลโก้บนหน้าจอชื่อของเกม N64 'The Legend of Zelda: Ocarina of Time' ดังที่แสดงด้านล่าง:

ป้อนคำอธิบายรูปภาพที่นี่

การมองพื้นผิวอย่างรวดเร็วที่ใช้ใน ROM ให้พื้นผิว 32x32 เดียวที่มีลักษณะคล้ายกับเอฟเฟกต์ แต่ฉันไม่รู้ว่าภาพนั้น (สมมติว่าเป็นภาพที่ถูกต้อง) เปลี่ยนเป็นเอฟเฟกต์ที่เห็นบนโลโก้

ฉันจะใช้บางสิ่งที่คล้ายกันได้อย่างไร


2
ฉันปรับคำถามของคุณเล็กน้อยเพื่อถามวิธีทำให้เกิดผลที่คล้ายกันเนื่องจากเราไม่พิจารณาคำถามที่ถามว่าเกมอื่น ๆ นำผลการค้นหาเฉพาะเรื่องไปใช้ในหัวข้อใด
Josh

คุณกำลังขอเทคนิคขั้นตอนหรือเอฟเฟ็กต์ที่สร้างไว้ล่วงหน้าอย่างง่ายดายหรือไม่?
Bálint

ผมไม่ได้มีเวลาและความรู้ในการเขียนคำตอบที่สมบูรณ์ แต่บางทีมันอาจจะทำผ่านการขี่จักรยานสี
Alexandre Vaillancourt

@JoshPetrie ขอบคุณนั่นคือสิ่งที่ฉันเป็นจริงหลังจากนั้น
นาธานเบิร์น

1
จากสิ่งที่ฉันจำได้ของเทคนิคส่วนที่ยากมาจากการสร้างภาพด้วยพิกเซลโดยใช้จานสีที่เหมาะสมไม่ใช่สีต่อภาพ การปั่นจักรยานจะทำในรหัสเหนือชุดย่อยของสี
Alexandre Vaillancourt

คำตอบ:


248

ก่อนอื่นให้ทำหน้ากากขาว / ดำบนโลโก้ / ข้อความของคุณและเบลอ

โลโก้เบลอ

จากนั้นสร้างพื้นผิวที่เป็นเสียงรบกวนซ้ำ ๆ (แบบต่อกัน) (GIMP ที่นี่)

เสียงรบกวน

ใช้ตัวกรอง Map-> Tile ... เพื่อสร้างรูปแบบกระเบื้อง 3x3 (ในตัวอย่างนี้ 128x128 x 3 = 384x384) สำหรับขั้นตอนถัดไปเพื่อให้แน่ใจว่าพื้นผิวของเรายังคงทำซ้ำได้ - เราจะเก็บเฉพาะส่วนกึ่งกลาง

ภาพก่อนหน้าปูกระเบื้อง 3 คูณ 3

ใช้ Blur-> Motion Blur ... เพื่อเบลอพื้นผิวขึ้นด้านบนและเก็บเฉพาะกึ่งกลาง 1 / 3rd (กลับไปที่ 128x128)

เสียงรบกวนพร้อมการเคลื่อนไหวเบลอ

ทวีคูณทั้งพื้นผิวด้วยกันบน GPU และใช้สิ่งนี้เพื่อความทึบ

หน้ากากรวมกับเสียงรบกวน

จากนั้นทำให้เคลื่อนไหวโดยขยับลวดลายพื้นผิวขึ้นเหนือเนื้อหน้ากาก:

หน้ากากรวมกับเสียงรบกวน

ทำเพื่อส่วนของภาพเคลื่อนไหว

จากนั้นคุณสามารถใช้แผนที่การไล่ระดับสี (สีดำ -> สีแดง -> สีเหลือง -> สีขาว) เพื่อให้สีของไฟ:

รูปร่างโลโก้ที่มีสีไฟ

สีอื่น ๆ สามารถนำมาใช้สร้างไฟสีน้ำเงินอย่างน่ากลัว, รัศมีออร่าสีเหลืองอ่อน, เอฟเฟกต์ควันมากขึ้น ฯลฯ

ตอนนี้ถ้าคุณรวมนี้เป็นสารเติมแต่งกว่าโลโก้ของคุณและ 3D ทำให้คุณได้รับผลกระทบที่ต้องการ:

พื้นหลัง+ เครื่องหมาย+ ไฟ=โลโก้ไฟเหนือพื้นหลัง

เอฟเฟกต์สามารถทำให้มืดลงได้โดยการปรับหน้ากากและ / หรือความสว่างของลวดลายและ / หรือสีจุดสุดยอดและ / หรือแผนที่ไล่ระดับสีให้เป็นระดับที่ออกแบบไว้

คุณสามารถใช้ลวดลายพื้นผิวสองแบบด้วยกัน (รูปแบบการพอก * รูปแบบไฟ) ที่ความเร็วและทิศทางต่างกันเพื่อสร้างเอฟเฟกต์ไฟที่ซับซ้อนยิ่งขึ้น


ในทางเทคนิคบน N64 พวกเขาอาจสร้างการประมาณของหน้ากากโดยใช้ตาข่ายสามเหลี่ยมและสีจุดยอดแทนที่จะเป็นรูปแบบพื้นผิวเนื่องจากข้อ จำกัด ด้านฮาร์ดแวร์ของ N64 เกี่ยวกับพื้นผิว แต่ผลลัพธ์ที่ได้จะเหมือนกัน ((สีจุดสุดยอด Mask texture * ลวดลายพื้นผิว))

เวอร์เท็กซ์สีจำลอง

เรายังคงสามารถใช้สีจุดสุดยอดได้ แต่ 20 ปีต่อมาเราสามารถทำให้ชีวิตของเราง่ายขึ้นและใช้เพียง 2 พื้นผิวหรือมากกว่านั้นแม้แต่ GPU บนมือถือในปัจจุบันก็สามารถจัดการกับพื้นผิวสีเทาพิเศษ 256x128 ได้โดยไม่มีปัญหา


3
ฉันคิดว่าเรามีผู้ชนะ - ขอบคุณ @StephaneHockenhull นี่เป็นเทคนิคแบบเดียวกับที่ฉันกำลังมองหา
nathanburns

7
วัวศักดิ์สิทธิ์นี่เป็นคำตอบที่ดี!
John Gordon

1
"น่ากลัว" หรือ "ผี"?
CJ Dennis

1
นอกจากนี้ยังมีความหมาย "น่ากลัวในรูปลักษณ์" "อย่าสวมเน็คไทนั่นมันช่างน่ากลัว" ฉันตีความประโยคของคุณว่า "สีอื่นสามารถให้ผลที่ไม่ดีหรือควัน" "Ghostly" นั้นไม่คลุมเครือแม้ว่าจะไม่แข็งแรงเท่าที่คุณต้องการก็ตาม
CJ Dennis

1
ฉันหวังว่าฉันจะให้คุณ upvote ที่สองสำหรับการวาดม้าอย่างจริงจัง
recognizer

2

มีสองสามวิธีที่คุณสามารถทำได้ แต่อยู่ด้านบนของหัวฉัน

1) มีเปลวไฟ + โลโก้ทั้งหมดในภาพเดียว

2) แสดงโลโก้ในเลเยอร์ UI และวางเอฟเฟกต์อนุภาคเลเยอร์ UI บางส่วนไว้รอบ ๆ

จากลักษณะของภาพนั้นดูเหมือนว่ามีโล่และดาบ 3ish เลเยอร์ 3 ชั้นเปลวไฟข้อความ (เรียงลำดับจากด้านหน้าไปด้านหลัง)

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


0

ถ้า ROM นั้นมีพื้นผิวเปลวไฟเล็ก ๆ ฉันก็จะเดาได้ว่าสิ่งนี้กำลังเกิดขึ้นกับเอฟเฟกต์ของอนุภาค

สิ่งนี้จะทำได้โดยการวางสไปรต์บนหน้าจอสำหรับชื่อและโลโก้ จากนั้นวางจำนวนตัวปล่อยอนุภาคที่สร้างเอฟเฟกต์เปลวไฟไว้ด้านหลังสไปรต์ชื่อเรื่อง นั่นคือความลึก Z / หน้าจอของพวกเขาเป็นสิ่งที่พวกเขาแสดงผลหลังชื่อ

นี่คือตัวอย่างของการใช้เอฟเฟกต์อนุภาค GameMaker เพื่อสร้างเปลวไฟที่อาจทำให้คุณนึกถึงศักยภาพของวิธีนี้ ...

http://martincrownover.com/gamemaker-examples-tutorials/particles-fire/


ขอบคุณสำหรับคำแนะนำ - สมมติว่าพื้นผิวไม่เหมือนที่อยู่ในบทช่วยสอนที่คุณเชื่อมโยง แต่แทนที่จะเติมพื้นที่ 32x32 โดยไม่มีความโปร่งใสมีวิธีที่ชัดเจนในการทำสิ่งนี้กับอนุภาคหรือไม่
nathanburns

ฉันแค่สร้างเนื้อเปลวไฟของตัวเองสำหรับอนุภาคถ้าต้นฉบับไม่มีความโปร่งใส ข้อสันนิษฐานของฉันที่นี่คือยกเว้นว่าชื่อดั้งเดิมนั้นถูกทำด้วยสไปรต์เคลื่อนไหวที่สมบูรณ์ (ซึ่งรวมถึงเอฟเฟกต์เปลวไฟ) ก็อาจเป็นผลของอนุภาคแทน
Tim Holt

@ TimHolt คุณอาจประเมินความสามารถด้านฮาร์ดแวร์ของ Nintendo 64 มากเกินไปการสร้างเอฟเฟกต์เปลวไฟที่ "แข็ง" - วิธีนี้น่าจะต้องใช้อนุภาคจำนวนมากเกินกว่าที่ฮาร์ดแวร์จะสามารถแสดงผลได้
duskwuff

1
@duskwuff - จริง แต่ฉันไม่คิดว่าผู้ใช้จะใช้สิ่งนี้กับฮาร์ดแวร์เก่า คำตอบนี้ยังคงเป็นระบบที่ใช้ได้สำหรับระบบที่ทันสมัย
Tim Holt

@duskwuff คำถามคือวิธีการใช้ตอนนี้ คำถาม (และคำตอบ) เกี่ยวกับวิธีที่เกมอื่นทำอะไรบางอย่างนอกหัวข้อที่นี่ ความสามารถด้านฮาร์ดแวร์ของ N64 ไม่เกี่ยวข้องที่นี่ (ดู Josh Petries แสดงความคิดเห็นกับคำถาม)
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.