คำถามติดแท็ก particles

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

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

5
ฉันจะสร้างเอฟเฟกต์ไฟที่ดีด้วยการผสมอัลฟ่าและอนุภาคได้อย่างไร
การใช้การตั้งค่าต่อไปนี้สำหรับเอฟเฟกต์อนุภาค OpenGL: SRC: GL_SRC_ALPHA DST: GL_ONE สร้างการผสมผสานเพิ่มเติมซึ่งมีลักษณะที่งดงามบนพื้นหลังสีดำ แต่น่ากลัวในสีที่สว่างกว่าเพราะมันเริ่มจางลงเป็นสีขาว จากนั้นฉันก็ใช้การผสมอัลฟา: SRC: GL_SRC_ALPHA DST: GL_ONE_MINUS_SRC_ALPHA สิ่งนี้ทำให้พื้นหลังอื่น ๆ สามารถใช้งานได้โดยไม่ส่งผลกระทบต่อสีของอนุภาค แต่อนุภาคเหล่านั้นดูหมองคล้ำเมื่อเปรียบเทียบกับการผสมผสานแบบเติมแต่ง ฉันจะสร้างเอฟเฟกต์ไฟที่ดีด้วยการผสมอัลฟ่าและอนุภาคได้อย่างไร สารเติมแต่ง: อัลฟา: UPDATE: ตามคำแนะนำของเดวิดด้านล่างฉันสร้างพื้นผิวแยกต่างหากจากนั้นใช้การผสมผสานแบบเติมต่อเอฟเฟกต์ของอนุภาคก่อนที่จะวาดลงบนพื้นผิว ปัญหาที่เกิดขึ้นก็คือการวาดภาพบนพื้นผิว alpha = 0 ส่งผลให้ชิ้นส่วนที่เป็นสีของอนุภาคปรากฏขึ้นด้านหน้าแผนที่โลกของฉันเนื่องจากโดยปกติคุณมีพื้นหลังสีดำแทน เคล็ดลับคือใช้พื้นผิวสองแบบ ฉันสร้างพื้นผิวสีดำแล้วดึงอนุภาคบนมัน จากนั้นฉันก็ลบชั้นอัลฟ่าของอนุภาคออกจากพื้นผิวนี้ทำการลบสิ่งที่เป็นของแข็งสีดำรอบ ๆ และลบล้างอนุภาคที่มองเห็นได้บางส่วนในขณะที่ปล่อยให้สีดำพื้นฐานที่คุณคาดหวัง ในระยะสั้นเป็นกระบวนการที่ทรหด แต่ในที่สุดก็มาถึง: นี่คือกระทู้ที่ฉันโพสต์กระบวนการของฉัน: http://www.cocos2d-iphone.org/forum/topic/28707?replies=8#post-141528 วิดีโอ: http://www.youtube.com/watch?v=JptGbEO3b5E

1
ฉันจะสร้างอนุภาคที่ตอบสนองต่อผู้เล่นและศัตรูได้อย่างไร
ขณะนี้ฉันกำลังสร้างเกมด้วยเอ็นจิ้นเกมของฉันซึ่งฉันเขียนด้วย C ++ และฉันใช้ directx SDK ล่าสุด เกมดังกล่าวเป็นเกมยิงอวกาศจากบนลงล่าง (ด้วยการหมุนที่น่าสนใจมาก) และฉันกำลังมองหาเนบิวลาเอฟเฟกต์ที่ผู้เล่นจะต้องบินผ่าน ฉันอยากลองทำเล็บที่สัมผัสได้ดีกับอนุภาคหลายร้อยชิ้นที่เคลื่อนตัวออกจากทางของผู้เล่นขณะที่มันแล่นเข้าหาพวกมัน ค่อนข้างคล้ายกับว่าอนุภาคเคลื่อนที่ผ่านวิถีของผู้เล่นใน Geomtry Wars บน XBLA อย่างไร ฉันเป็นโปรแกรมเมอร์ที่มีประสบการณ์เมื่อพูดถึง C ++ อย่างไรก็ตามฉันไม่รู้ว่าจะเริ่มใช้เอฟเฟกต์นี้ได้อย่างไร ใครบ้างมีความคิดเจ๋ง ๆ หรือตัวเลือกการออกแบบที่ฉันอาจต้องการดู? อย่าลังเลที่จะตอบระดับความลึกที่คุณต้องการ
38 c++  directx  particles 

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

2
ฉันจะใช้เอฟเฟกต์หญ้าตัดสั้นได้อย่างไร
ฉันได้ดูภาพหน้าจอจากเกมเช่น Rocket League และ FIFA: และฉันเริ่มสงสัยว่าใครจะได้รับเอฟเฟกต์หญ้าสั้น มันเป็น shader หรือไม่? มันเป็นรูปทรงเรขาคณิตที่เกิดขึ้นจริงเหรอ? หรือเพียงแค่คณะสี่คน หากใครสามารถชี้นำฉันในทิศทางที่จะชื่นชมอย่างมาก

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

4
วิธีการใช้พื้นที่ขอบนุ่มกับอนุภาค
เกมของฉันสร้างขึ้นโดยใช้ Phaser แต่คำถามตัวเองนั้นไม่เชื่อเรื่องพระเจ้า ในเกมของฉันฉันมีสภาพแวดล้อมหลายอย่างโดยทั่วไปพื้นที่รูปหลายเหลี่ยมที่ตัวละครผู้เล่นสามารถย้ายเข้ามาและได้รับผลกระทบจาก ตัวอย่างเช่นน้ำแข็งไฟพิษ ฯลฯ องค์ประกอบกราฟิกของพื้นที่เหล่านี้คือพื้นที่รูปหลายเหลี่ยมที่เติมสีนั้นและอนุภาคของประเภทที่เหมาะสม (ในตัวอย่างเศษน้ำแข็ง) นี่คือวิธีที่ฉันใช้งานในปัจจุบัน - ด้วยหน้ากากรูปหลายเหลี่ยมที่ครอบคลุมกระเบื้องที่มีรูปแบบอนุภาค: ขอบแข็งดูไม่ดี ฉันต้องการปรับปรุงโดยการทำสองสิ่ง: 1. ทำให้พื้นที่เติมรูปหลายเหลี่ยมมีขอบที่อ่อนนุ่มและผสมผสานเป็นพื้นหลัง 2. ให้เศษบางส่วนออกจากพื้นที่รูปหลายเหลี่ยมเพื่อไม่ให้ถูกตัดตรงกลางและพื้นที่ไม่มีเส้นตรง ตัวอย่าง (mockup): ฉันคิดว่า 1 สามารถทำได้โดยการทำให้รูปหลายเหลี่ยมเบลอ แต่ฉันไม่แน่ใจว่าจะทำอย่างไรกับ 2 คุณจะดำเนินการเกี่ยวกับเรื่องนี้อย่างไร?

2
ฉันจะได้รับเอฟเฟกต์เรืองแสงคล้ายกับที่อยู่ใน WoW ได้อย่างไร
ฉันเพิ่งใช้เอฟเฟกต์เรืองแสงโดยใช้ตัวกรองแบบเกาส์และไม่สามารถรับเอฟเฟ็กต์แบบเต็มที่ฉันต้องการได้ ฉันอยากรู้ว่าจะทำเอฟเฟกต์เรืองแสงใน WoW ได้อย่างไร ชอบรูปนี้: รอบ ๆ ดาบนั้นเป็นเอฟเฟกต์เรืองแสงที่ดีจริงๆ สิ่งนี้จะเกิดขึ้นได้อย่างไร? นอกจากนี้บางครั้งใน WoW คุณจะเห็นเอฟเฟกต์เรืองแสงเหล่านี้ใช้ชีวิตของมันเอง ชอบแสงสีม่วงในรูปนี้: สิ่งเหล่านี้สำเร็จได้ด้วยผลกระทบของอนุภาคหรือไม่? มีแหล่งข้อมูล / บทแนะนำที่ดีที่จะช่วยให้ใครบางคนเรียนรู้วิธีการใช้เอฟเฟกต์เหล่านี้หรือไม่?
13 particles  glow 

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

3
วิธีการทำ Geometry Wars แรงโน้มถ่วงมีผลดี
ฉันไม่ได้พูดเกี่ยวกับตารางพื้นหลังที่นี่ฉันกำลังพูดถึงอนุภาคที่หมุนวนรอบ Gravity Wells! ฉันชอบเอฟเฟกต์มาตลอดและตัดสินใจว่าจะเป็นการทดลองที่สนุกที่จะทำซ้ำฉันรู้ว่า GW ใช้กฎของฮุคไปทั่วทุกที่ แต่ฉันไม่คิดว่าเอฟเฟ็กต์อนุภาคต่อดีทำโดยใช้สปริง ดูเหมือนว่าฟังก์ชั่นระยะทางกำลังสอง นี่คือวิดีโอสาธิตผล: http://www.youtube.com/watch?v=YgJe0YI18Fg ฉันสามารถใช้เอฟเฟกต์สปริงหรือแรงโน้มถ่วงกับอนุภาคบางชนิดได้ดีนั่นเป็นเรื่องง่าย แต่ฉันดูเหมือนจะไม่ได้รับผลกระทบที่ดูเหมือนกับผลของ GWs เมื่อฉันดูเอฟเฟกต์ในเกมดูเหมือนว่าอนุภาคจะถูกปล่อยออกมาเป็นจำนวนมากจากหลุมของตัวเองพวกมันจะหมุนวนรอบจุดศูนย์กลางของหลุมและในที่สุดก็ถูกเหวี่ยงออกไปด้านนอกถอยกลับไปยังบ่อน้ำ ฉันจะทำให้อนุภาคเกลียวออกมาด้านนอกได้อย่างไรเมื่อวางไข่? ฉันจะเก็บชิ้นส่วนของอนุภาคไว้ด้วยกันได้อย่างไรเมื่ออยู่ใกล้กับบ่อน้ำ แต่กระจายตัวออกจากกันเมื่อมันถูกเหวี่ยงออกไปด้านนอก ฉันจะเก็บอนุภาคเหล่านี้ไว้บนบ่อน้ำได้อย่างไร แก้ไข: http://www.youtube.com/watch?v=1eEPl8kOXN8 <- วิดีโอ https://dl.dropbox.com/u/49283213/gw.gif <- GIF ของเส้นทางอนุภาค ฉันปิดการสุ่มภายใน GW เพื่อทำให้เอฟเฟกต์ของอนุภาคดูได้ง่ายขึ้นนี่คือวิดีโอนาทีที่คุณสามารถเห็นท่อระบายน้ำสีฟ้า - เขียวส่งอนุภาคออกมา อนุภาคสีแดงมาจากการระเบิดที่ปกติจะปรากฏทั่วสถานที่ ข้อสังเกตบางอย่างที่ฉันทำจากวิดีโอ: อนุภาคจะถูกปล่อยออกมาจากศูนย์กลาง (หรือใกล้ศูนย์กลาง) ของท่อระบายน้ำ อนุภาคทั้งหมดถูกบังคับให้เคลื่อนที่เป็นทวนเข็มนาฬิการอบ ๆ ศูนย์กลางดังนั้นการเคลื่อนที่ของวงสัมผัสบางประเภทจะถูกนำไปใช้คุณสามารถเห็นสิ่งนี้ได้ง่ายเมื่ออนุภาคระเบิดสีแดงเข้าใกล้ท่อระบายน้ำ

2
มันคุ้มค่าหรือไม่ที่จะใช้สระอนุภาคในภาษาที่มีการจัดการ?
ฉันจะใช้พูลวัตถุสำหรับระบบอนุภาคของฉันใน Java จากนั้นฉันพบสิ่งนี้ใน Wikipedia ในการใช้ถ้อยคำใหม่กล่าวว่ากลุ่มวัตถุไม่คุ้มค่าที่จะใช้ในภาษาที่ได้รับการจัดการเช่น Java และ C # เนื่องจากการจัดสรรใช้เวลาเพียงสิบการดำเนินการเมื่อเทียบกับหลายร้อยในภาษาที่ไม่มีการจัดการเช่น C ++ แต่อย่างที่เรารู้กันดีว่าทุกคำสั่งอาจทำให้ประสิทธิภาพของเกมแย่ลง ตัวอย่างเช่นพูลของไคลเอ็นต์ใน MMO: ไคลเอ็นต์จะไม่เข้าและออกจากพูลเร็วเกินไป แต่อนุภาคอาจได้รับการต่ออายุหลายสิบครั้งในหนึ่งวินาที คำถามคือ: มันคุ้มค่าหรือไม่ที่จะใช้กลุ่มวัตถุสำหรับอนุภาค (โดยเฉพาะกลุ่มที่ตายและสร้างใหม่อย่างรวดเร็ว) ในภาษาที่มีการจัดการหรือไม่?


3
สั่งความโปร่งใสอิสระในระบบอนุภาค
ฉันกำลังเขียนระบบอนุภาคและต้องการหาเคล็ดลับในการผสมอัลฟาที่เหมาะสมโดยไม่ต้องคัดแยกอนุภาคเพราะ: แต่ละอนุภาคเป็นจุดสไปรต์ในตาข่ายเดียวและฉันไม่สามารถใช้ความสามารถกราฟฉากเพื่อจัดเรียงโหนดโปร่งใส แม้ว่าโหนดระบบควรจะถูกจัดเรียงอย่างเหมาะสม ตำแหน่งของอนุภาคถูกคำนวณบน shader จากความเร็วเริ่มต้นการเร่งความเร็วและเวลา ในการจัดเรียงระบบฉันจะต้องทำการคำนวณทั้งหมดนี้บน CPU ซึ่งเป็นสิ่งที่ฉันต้องการหลีกเลี่ยง จัดเรียงอนุภาคหลายร้อยกับตำแหน่งกล้องและอัปโหลดลงบน GPU แต่ละตะเข็บเพื่อให้การทำงานหนักเงียบสงบ การทดสอบอัลฟ่าดูเหมือนว่าจะเร็วพอสำหรับ GLES 2.0 และทำงานได้ดีสำหรับพื้นผิวที่ไม่โปร่งใส แต่มีการ "ปกปิด" ถึงกระนั้นก็ยังไม่เพียงพอสำหรับอนุภาคกึ่งโปร่งใส คุณจะจัดการกับสิ่งนี้อย่างไร
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.