วิธีการทำให้อนุภาค 2D เป็นของเหลว?


45

สมมติว่าคุณมีวิธีที่ดีในการเคลื่อนย้ายอนุภาค 2 มิติของคุณเพื่อจำลองของเหลว (เช่นน้ำ) มีความคิดเห็นเกี่ยวกับวิธีการแสดงผลหรือไม่

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

คำตอบ:


28

ดูว่าPixelJunk Shooterทำได้อย่างไร (รวมถึงการจำลอง) ในงานนำเสนอนี้(PDF)ที่ GDC2010


ตัวอย่างรูปภาพ PixelJunk Shooter


1
ไม่รู้จัก PixelJunk ... เป็นคนดีจริง ๆ ขอขอบคุณ!
ลูกา

การเชื่อมโยงไปยังรถพ่วง :)
เดวิด Gouveia


SPU, PPU, SPURS คืออะไร
Martijn Courteaux

@MartjinCourteaux: พวกเขาเป็นส่วนหนึ่งของ Cell CPU ของ PS3 ลองนึกถึงพวกเขาเช่น GPU shaders แม้ว่าจะมีความแตกต่างที่สำคัญ
Sean Middleditch เมื่อ

12

คำตอบของ George Duckett นั้นตรงกว่าและนำเสนอได้ดีมากหากคุณต้องการน้ำจำลองในเกมของคุณ สำหรับฟิสิกส์ของน้ำตื้นจำลองที่มีความแม่นยำน้อยที่สุด (ความสมจริงที่น้อยกว่า, ขี้เล่นมากขึ้น) ภาพนี้ทำให้ฉันมีช่วงเวลาที่ชัดเจนอย่างเหลือเชื่อ:

http://www.patrickmatte.com/stuff/physicsLiquid/


เรียบง่ายและดี! ไม่คิดว่าจะใช้ขั้นตอนหลังการประมวลผลอย่างง่าย ๆ ... แค่สงสัยว่าอุปกรณ์อย่าง iPhone จะจัดการกับสิ่งนี้ได้ไหม ดูเหมือนว่าจะเป็นจุดเริ่มต้นที่ดี ขอบคุณ.
ลูกา

ฉันสามารถรับรองวิธีนี้ได้ ฉันใช้มันครั้งเดียวในโครงการและมันทำงานได้อย่างสวยงาม เพิ่มตัวกรองมุมและคุณสามารถมีวงเดือนที่ดีใน blobs ของคุณเช่นกัน
scriptocalypse

เด็ดสุด ๆ ! แต่ฉันไม่แน่ใจว่ามันจะรองรับตัวละครที่เดินผ่านไปได้ดีแค่ไหน มันจะผลักลูกกลมทั้งหมดไปข้างหนึ่งใช่มั้ย
สูงสุด

6

หรือสำหรับวิธีที่ง่ายและรวดเร็ว: ใช้metaballs !

3D metaballs


5

Grant Kotได้วางโค้ดจำลองฟลูอิดของเขาบน Github ด้วยการใช้งานทั้งใน javascript (canvas) และ C ++ ด้วย OpenFrameworks: https://github.com/kotsoft

เขามีการสาธิตบางอย่างในบัญชี youtube ของเขา: http://youtu.be/HqWheJSEiaw

ฉันไม่รู้ว่ามันทำงานอย่างไร แต่ฉันรู้ว่ามันทำงานได้เร็วและมีความหลากหลายของรูปแบบที่จะสร้างมันขึ้นมา คำหลักที่ดีในการค้นหาอาจเป็น "อนุภาคหลายแกน"


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