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

เกี่ยวข้องกับการเคลื่อนที่ของวัตถุผ่านอวกาศและเวลา รวมถึงแนวคิดต่าง ๆ เช่นการเร่งความเร็ว (แรงขับและแรงโน้มถ่วง) มวลการตอบสนองการชนแรงเสียดทานและอื่น ๆ

1
การเพิ่มการลากอากาศไปยังสมการวิถีลูกกอล์ฟ
ฉันกำลังพัฒนาเกมกอล์ฟ 2 มิติใน VB.NET 2005 แต่ฉันติดอยู่กับวิธีการนำอากาศหรือแรงลมที่น่าจะกระทบลูก ฉันมีสมการเหล่านี้สำหรับกระสุนแล้ว: v0v0v_0สำหรับความเร็วเริ่มต้นของลูกกอล์ฟเมื่อถูกยิงหรือยิง ส่วนประกอบแนวตั้งและแนวนอนความเร็วของลูกกอล์ฟ: vxvy=v0cos(θ)=v0sin(θ)−gt∗vx=v0cos(θ)vy=v0sin(θ)−gt∗ \begin{align} v_x &= v_0 cos(\theta) \\ v_y &= v_0 sin(\theta) - gt* \end{align} ระยะทางแนวตั้งและแนวนอนของลูกกอล์ฟ: xy=v0cos(θ)t=v0sin(θ)t−(0.5)gt2x=v0cos(θ)ty=v0sin(θ)t−(0.5)gt2 \begin{align} x &= v_0cos(\theta)t \\ y &= v_0sin(\theta) t - (0.5)gt^2 \end{align} ฉันจะเพิ่มการลากอากาศในสมการนี้เพื่อส่งผลกระทบต่อความเร็วของลูกกอล์ฟได้อย่างไร ฉันไม่รู้ว่าจะทำยังไงมีใครเคยทำงานกับสมการที่คล้ายกันไหม

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

2
มันคุ้มค่าไหมถ้าใช้ Bullet สำหรับฟิสิกส์ 2D แทนที่จะเป็น Box2D เพื่อการเรียนรู้ Bullet?
ไม่มีคำถามอีกมาก ฉันไม่ได้กังวลเกี่ยวกับค่าใช้จ่ายเนื่องจากฉันแน่ใจว่าพวกเขาทั้งคู่ดีสำหรับวัตถุประสงค์ของฉัน โดยพื้นฐานแล้วฉันคุ้นเคยกับแนวคิด Box2D เนื่องจาก Farseer Physics Engine แต่ฉันต้องการใช้ Bullet เมื่อฉันข้ามไปยังเนื้อหา 3 มิติ Bullet อาจมีค่าการศึกษาสำหรับฉันแม้แต่ในขอบเขต 2D หรือไม่? คำถามรุ่นทั่วไปคือฉันควรใช้เครื่องมือฟิสิกส์ 3 มิติสำหรับเกม 2 มิติถ้าฉันวางแผนที่จะใช้เครื่องมือฟิสิกส์ 3 มิติในอนาคต หรือเป็นการเสียเวลาซึ่งจะไม่ให้ค่าการศึกษา?

1
อัลกอริทึมหิมะที่ตกลงมาช้าเหมือนจริงหรือไม่?
มีอัลกอริทึมที่ดีที่จำลองหิมะตกหรือไม่ ฉันสนใจหิมะโดยเฉพาะอย่างยิ่งที่ตกช้าดังนั้นมันจึงไม่ตกลงกันเป็นเส้นตรง แต่เบี่ยงเบนไปเล็กน้อย อาจรวมถึงการจำลองของละออง (ลมลม) ขนาดตัวแปร ฯลฯ มีเอกสารหรือบทความเกี่ยวกับอัลกอริทึมที่เลียนแบบการเคลื่อนไหวของหิมะในชีวิตจริงหรือจำลองมันในบริบทของเกมหรือไม่? ฉันสนใจอัลกอริทึม 2D เป็นพิเศษ แต่ฉันคิดว่าอัลกอริทึมใด ๆ ที่สามารถใช้กับ 3D ได้อย่างง่ายดาย

1
เทคนิคการเคลื่อนไหวตัวละครทั่วไปที่ใช้ในการแฮ็ค & สแลชเกมที่ใช้ตัวต่อคืออะไร
ผมสงสัยว่าสิ่งที่ชนิดของเทคนิคการเคลื่อนไหวที่ใช้สำหรับสิ่งมีชีวิตและภาพเคลื่อนไหวของตัวละครในปัจจุบันสับและเฉือนกระเบื้องประเภทตามเกม? Keyframing สำหรับการกระทำที่แตกต่างกันอาจเป็นตัวเลือกหนึ่ง การทำโครงกระดูกอาจเป็นอีกเรื่องหนึ่ง แต่ฟิสิกส์ล่ะ หรือพวกเขาใช้ระบบไฮบริดจลนศาสตร์แบบผกผันทั้งหมดที่สนับสนุนด้วยโครงกระดูกฟิสิกส์และผสมกับการแก้ไขคีย์เฟรมเพื่อภาพเคลื่อนไหวที่สมจริงยิ่งขึ้น? ถ้าเป็นเช่นนั้นอย่างไรและด้วยเหตุผลอะไรบ้าง ฉันสามารถคิดถึงวิธีแก้ปัญหาที่แตกต่างกันมากมายสำหรับปัญหาด้านล่าง แต่ฉันสงสัยว่ามีอะไรที่ใช้แล้วและเหมาะสมที่สุดสำหรับปัญหาเช่น: การเดินหรือการเคลื่อนที่บนภูมิประเทศที่ไม่เรียบ ปฏิสัมพันธ์การต่อสู้ฟิสิกส์การต่อสู้และการชน การแนบไอเท็มที่เข้มงวดเข้ากับตัวละครและการวนซ้ำของพวกมันในโลกแห่งฟิสิกส์ การเคลื่อนไหวของร่างกายที่อ่อนนุ่มเช่นผมพืชผักเสื้อผ้าและผ้าสอดคล้องกับภาพเคลื่อนไหวและการทำซ้ำ

4
Box2D ตรวจสอบว่าจุดตัดร่างกายหรือไม่
มีวิธีตรวจสอบหรือไม่ว่ามีจุดใดจุดหนึ่งตัดกันร่างกายหรือไม่? ตัวอย่างเช่นสมมติว่ามีร่างกายในโลกที่ตำแหน่ง (100,100) มีวิธีตรวจสอบว่ามีจุดที่ (100,100) ตัดกันร่างกายนั้นหรือไม่? อีกตัวอย่างหนึ่งเกี่ยวข้องกับเกมที่ชื่อว่า "PHUN" ใน PHUN คุณสามารถคลิกและลากไปมาได้ คุณจะตรวจสอบได้อย่างไรว่าจุดเมาส์กำลังตัดกันร่างกายหรือไม่?
10 2d  physics  box2d 

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

1
ในเอนจินฟิสิกส์ 2 มิติฉันจะหลีกเลี่ยงการชนที่ไร้ประโยชน์ได้อย่างไรเมื่อวัตถุเข้ามาพัก
ในเครื่องมือฟิสิกส์ที่ฉันกำลังพัฒนา (เพื่อการเรียนรู้) โดยใช้ความรัก -2dฉันใช้ความละเอียดการชนในลักษณะนี้: FixedUpdate(dt) // I use fixed timestep foreach collide c1 in allNotStaticColliders c1.integartePhysic // i.e. apply gravitational force.. foreach collider c2 "near" c1 // "near"= I use spatial hashing if collide(c1,c2) resolve collision (c1,c2) // the heavy operation collison callbacks c1 collison callbacks c2 ... อย่างที่คุณเห็นในตอนท้ายของอนิเมชั่น gif …

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

3
วิธีการจำลองทางฟิสิกส์สำหรับเดลต้าครั้งใหญ่?
วิธีการจำลองทางฟิสิกส์แบบใดที่เหมาะสมที่สุดสำหรับเวลาเดลต้าขนาดใหญ่ (ชั่วโมงต่อสัปดาห์) นอกจากนี้ฉันจะประสบปัญหาใด ๆ ที่รวมวิธีการต่าง ๆ สำหรับเดลต้าใหญ่และเล็กหรือไม่
9 physics 

3
วิธีการพิจารณาแรงโน้มถ่วงเมื่อย้าย AI
ฉันกำลังสร้างเกม 2D ขณะนี้มีเฮลิคอปเตอร์ที่บินอยู่รอบ ๆ ซึ่งควบคุมโดยผู้เล่น มันถูกควบคุมโดยใช้ปุ่มลูกศร: ขึ้นซ้ายและขวา มันความเร็วตามแกน Y คือdyและความเร็วพร้อมแกน x dxคือ ฟิสิกส์เป็นดังนี้: เมื่อใดก็ตามที่ขึ้นไม่ได้กด , dyเร่งในการเร่งความเร็วอย่างต่อเนื่องไปเรื่อย ๆต่อลง (แรงโน้มถ่วง) dxยังคงอยู่ในค่าปัจจุบัน เมื่อUP กด , dyเร่งในการเร่งความเร็วคงที่จากสิ่งที่มันเป็นอยู่ในปัจจุบัน, ถึง 4 (ขึ้นจนกว่าจะถึงความเร็ว 4) dxยังคงอยู่ในค่าปัจจุบัน เมื่อซ้ายกด , dxเร่งในการเร่งความเร็วคงที่จากสิ่งที่มันเป็นอยู่ในปัจจุบัน, ถึง -4 เมื่อขวากด , DX เร่งในการเร่งความเร็วคงที่จากสิ่งที่มันเป็นอยู่ในปัจจุบัน, ถึง 4 (เมื่อกดซ้ายหรือขวาและไม่กดขึ้นพร้อมกันดังที่ฉันพูด: dyยิ่งเล็กลงเรื่อย ๆ เพราะแรงโน้มถ่วงส่งผลต่อเฮลิคอปเตอร์) ทั้งหมดนี้ทำให้เฮลิคอปเตอร์มักตามโค้งในอากาศมากกว่าเป็นเส้นตรง นี่สร้างฟิสิกส์ที่ดูเหมือนจริงมาก คำถามของฉันคือ: เฮลิคอปเตอร์ฝ่ายตรงข้าม, AI ควรย้ายโดยใช้ระบบฟิสิกส์เดียวกัน ให้บอกว่า …
9 2d  physics  ai 

3
ทำให้สิ่งที่ดูรวดเร็วช้า (Box2D)
ฉันกำลังทำงานกับเกมที่คุณควบคุม Trebuchet เพื่อขว้างลูกบอลให้ฝ่ายตรงข้าม มันเหมือนเกมที่เรียกว่า 'Medieval Siege' เมื่อ Trebuchet กำลังแกว่งแขนผู้เล่นต้องยึดช่วงเวลาที่ดีที่สุดเพื่อกดปุ่มและปล่อยลูกบอล จากนั้นลูกบอลจะลอยไปที่มุมสัมผัส ปัญหาของฉันในตอนนี้คือแขน trebuchet แกว่งเร็วเกินไปสำหรับผู้เล่นที่จะคว้าช่วงเวลาที่เหมาะสม ในขณะเดียวกันก็ต้องมีความเร็วอย่างนี้ไม่อย่างนั้นมันก็ไม่สามารถโยนได้ไกลพอ และมีสายเล็ก ๆ ที่เชื่อมต่อลูกบอลและแขน trebuchet ถ้าแขนแกว่งช้าเกินไปลูกบอลก็จะลอยอยู่บนเชือกเมื่อแขนขยับ ฉันแก้ปัญหาด้วยการสลับขนาดก้าวเมื่อใดก็ตามที่แขนแกว่งไปมาฉันเปลี่ยนขนาดก้าวจาก 1/60 เป็น 1/200 และเมื่อผู้เล่นปล่อยลูกบอลมันกลับไปที่ 1/60 วิธีนี้ใช้งานได้ดียกเว้นเกมของฉันมีไว้สำหรับผู้เล่นหลายคนที่มีเครือข่าย ดังนั้นขั้นตอนการเปลี่ยนอาจทำให้เกิดปัญหา อีกวิธีที่ฉันคิดได้คืออนุญาตให้มันแกว่งช้า แต่เมื่อผู้เล่นปล่อยลูกบอลฉันจะเพิ่มความเร็วลงบนลูกบอลในขณะที่ยังคงทิศทางไว้ ฉันไม่ชอบวิธีแก้ปัญหานี้เพราะมันดูปลอมและฉันยังคงมีปัญหาว่าลูกบอลกำลังลอยอยู่บนสายเว้นแต่ว่าฉันจะทำให้สายสั้นมาก .. กรุณาส่องไฟนี้ออกมาขอบคุณ! แก้ไข ขอบคุณสำหรับการป้อนข้อมูลของทุกคนฉันแก้ปัญหาด้วยการแกว่งแขนช้าและเมื่อผู้เล่นปล่อยลูกบอลคว้าความเร็วของบอลและสองครั้ง ดูเหมือนว่าเหมือนกับการเปลี่ยนขนาดขั้นตอน มีอีกสิ่งหนึ่งที่ฉันต้องทำ เนื่องจากแขนแกว่งช้ามากลูกบอลจึงแขวนอยู่ที่ปลายแขนแทนที่จะแกว่ง ฉันแก้ปัญหานี้โดยใช้แรงเท่ากับแรงโน้มถ่วงบนลูกบอลในระหว่างและเฉพาะในช่วงสวิง จากนั้นมันจะไม่แขวนที่นั่นอีกต่อไป แต่จะแกว่งแขนพร้อมกัน คำตอบของ @MrCranky มีรายละเอียดและดูเป็นไปได้ดังนั้นฉันจึงยอมรับ :)

2
การกำหนดเป้าหมายเสียงหึ่งๆ
ลองจินตนาการถึง "โดรน" และจุดเป้าหมายบนระนาบ 2d มีพารามิเตอร์ที่แปด: P = my position Q = target position V = my velocity I = my moment of inertia w = my angular velocity s = my angular position T = max thrust U = max torque (เราจะบอกว่าเป้าหมายคงที่) งานของโดรนคือการไปถึงเป้าหมายให้เร็วที่สุดเท่าที่จะทำได้โดยเชื่อฟังแรงบิดสูงสุดและแรงขับสูงสุด มีเพียงสองวิธีในการใช้แรงบิดเนื่องจากเป็นเพียงในระนาบ 2d แรงขับถูก จำกัด ให้ไปในทิศทางเดียวเท่านั้นเมื่อเทียบกับทิศทางของยานและไม่สามารถเล็งได้หากไม่มีการหมุนเสียงพึมพำ ละเลยความต้านทานใด ๆ …

2
รับรายละเอียดการชนจาก Rectangle.Intersects ()
ฉันมีเกมฝ่าวงล้อมที่บางจุดฉันตรวจพบการชนกันระหว่างลูกบอลและไม้พายด้วยสิ่งนี้: // Ball class rectangle.Intersects(paddle.Rectangle); มีวิธีที่ฉันจะได้รับพิกัดที่แน่นอนของการปะทะกันหรือรายละเอียดใด ๆ เกี่ยวกับเรื่องนี้ด้วยการใด ๆ ในปัจจุบันXNA API? ฉันคิดถึงการคำนวณพื้นฐานบางอย่างเช่นการเปรียบเทียบพิกัดที่แน่นอนของแต่ละวัตถุในช่วงเวลาของการชน มันจะมีลักษณะเช่นนี้: // Ball class if((rectangle.X - paddle.Rectangle.X) < (paddle.Rectangle.Width / 2)) // Collision happened on the left side else // Collision happened on the right side แต่ฉันไม่แน่ใจว่านี่เป็นวิธีที่ถูกต้องที่จะทำ พวกคุณมีเคล็ดลับเกี่ยวกับเครื่องยนต์ที่ฉันอาจต้องใช้เพื่อให้บรรลุหรือไม่? หรือแม้แต่การเขียนโค้ดที่ดีโดยใช้วิธีนี้?

4
ฉันควรแชร์ข้อมูลระหว่างกราฟิกและเอนจิ้นฟิสิกส์ในเกมหรือไม่
ฉันกำลังเขียนเอ็นจิ้นเกมที่ประกอบด้วยโมดูลไม่กี่ตัว สองของพวกเขาเป็นกราฟิกเครื่องยนต์และเครื่องยนต์ฟิสิกส์ ฉันสงสัยว่ามันเป็นทางออกที่ดีในการแบ่งปันข้อมูลระหว่างกันหรือไม่ สองวิธี (การแชร์หรือไม่) ดูเหมือนว่า: โดยไม่ต้องแชร์ข้อมูล GraphicsModel{ //some common for graphics and physics data like position //some only graphic data //like textures and detailed model's verticles that physics doesn't need }; PhysicsModel{ //some common for graphics and physics data like position //some only physics data //usually my physics data …

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