การพัฒนาเกม

คำถาม & คำตอบสำหรับนักพัฒนาเกมมืออาชีพและเป็นอิสระ

4
คำแนะนำเครื่องยนต์ฟิสิกส์ที่สามารถจำลองเกมพูลได้อย่างถูกต้อง? [ปิด]
ปิด. คำถามนี้เป็นคำถามปิดหัวข้อ ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เป็นไปตามหัวข้อสำหรับ Game Exchange Stack Exchange ปิดให้บริการใน6 ปีที่ผ่านมา ฉันทำเกมเหมือนเกมพูล เกมนี้ต้องการการสะท้อนกลับที่ถูกต้อง (หรือแม่นยำมาก) ฉันลองBox2DและBullet Physicsแต่พวกเขาทั้งคู่มีปัญหานี้ หากมีกำแพงอยู่ด้านบนของภาพนี้คาดว่าเส้นสีแดงจะเป็นลูกบอลจริงในเกมพูล แต่เครื่องยนต์มักจะแสดงเส้นทางสีเขียว โดยเฉพาะอย่างยิ่ง สิ่งนี้เกิดขึ้นหลังจากลูกบอลเคลื่อนที่ช้า ๆ ชนกับกำแพง บางครั้งลูกบอลที่เคลื่อนที่เร็วจะช้าลงในทันที ฉันกำลังค้นหาเอ็นจิ้นฟิสิกส์ซึ่งสามารถจำลองเกมพูลได้อย่างถูกต้องมากที่สุดโดยไม่มีปัญหาเหล่านี้ ฉันขอคำแนะนำได้ไหม? ตอนนี้ฉันกำลังขุดNewton Game Dynamicsแต่ฉันไม่แน่ใจว่าเอ็นจิ้นจะแสดงสิ่งที่ฉันต้องการ ฉันกำลังพิจารณาPhysXเป็นรุ่นทดลองต่อไปและต้องทำด้วยตัวเองถ้าไม่มีอะไรทำงาน แต่เห็นได้ชัดว่ามันใช้เวลานานมากดังนั้นฉันหวังว่าฉันจะไม่ทำอย่างนั้น ฉันจะได้รับการชื่นชมมากถ้าคุณประหยัดเวลาของฉัน และแน่นอนว่าการแก้ปัญหาด้วย Box2D / Bullet Physics ก็ยินดีเช่นกัน ฉันทำงานกับ C / C ++ / Objective + C บน iOS ฉันแนบการกำหนดค่าของฉันกับ Box2D …
13 physics 

3
พยายามที่จะเข้าใจแสงบน OpenGL วิธีการจำลองแสงดวงอาทิตย์ที่เหมือนจริง?
ฉันไม่รู้ว่าฉันกำลังทำอะไรผิดพลาดหรือไม่ทำอะไรเลย แต่ฉันต้องการจำลองแสงของดวงอาทิตย์เช่นในวันแดดจ้า เมื่อวัตถุหันหน้าไปทางแสงไฟส่องสว่างและไม่มีปัญหาเกิดขึ้น ถ้าฉันเดินไปรอบ ๆ วัตถุแล้วมองกลับมันมืด มันไม่มืดมากเพราะฉันใช้GL_AMBIENTแต่มันมืดเกินไปสำหรับวันที่แดดจัด ถ้าฉันเพิ่มมูลค่ามันจะไม่ดูดีไปกว่านี้เพราะด้านของวัตถุที่หันหน้าไปทางแสงจะสว่างเกินไป และยังมีอีกปัญหาที่น่ารำคาญกับแสงโดยรอบเมื่อมองที่ด้านหลังของวัตถุฉันไม่เห็นรูปร่างใด ๆ เพียงสีธรรมดา ยากที่จะอธิบายนี่คือภาพบางส่วน: หน้าวัตถุ: http://i.stack.imgur.com/YW53X.png กลับด้านวัตถุ: http://i.stack.imgur.com/Qufha.png อย่างที่คุณเห็นได้ง่ายด้านหน้าด้านหน้าดูดีคุณสามารถเห็นรูปร่างของสิ่งแดงนั้น ด้านหลังมันธรรมดาคุณไม่สามารถเห็นรูปร่างเดียวกัน ตอนนี้ฉันรู้แล้วว่าฉันกำลังดูที่ด้านหลังของวัตถุและฉันกำลังมองไปในทิศทางของแสงและมันควรจะมืดกว่าด้านหน้า แต่มันก็ไม่ควรดูธรรมดาแบบนี้ นั่นไม่ใช่สิ่งที่เราเห็นเมื่อเปรียบเทียบกับแสงของดวงอาทิตย์ที่มองวัตถุบางอย่างเราเห็นว่าวัตถุนั้นมีรูปร่าง ฉันจะมีผลเหมือนกัน (หรือคล้ายกัน) ใน OpenGL ได้อย่างไร ปัจจุบันแสงของฉันถูกกำหนดเช่นนี้: float posLight0[4] = {-1.0f, 1.0f, 1.0f, 0.0f}; float ambLight0[4] = {0.5f, 0.5f, 0.5f, 0.5f}; glLightfv(GL_LIGHT0, GL_POSITION, posLight0); glLightfv(GL_LIGHT0, GL_AMBIENT, ambLight0);
13 opengl  lighting 

2
การทำนายตำแหน่งของศัตรูเพื่อให้วัตถุนำไปสู่เป้าหมาย
ในเกม 2D ของฉันฉันมีป้อมปืน AI ที่ควรช่วยเหลือผู้เล่นโดยการยิงเข้าหาศัตรูโดยอัตโนมัติ ฉันต้องการทำให้พวกเขายิงอย่างชาญฉลาดและนำเป้าหมายของพวกเขาแทนที่จะเป็นเพียงการกำหนดเป้าหมายตำแหน่งปัจจุบันของศัตรู ดังนั้นด้วยความเร็ว (คงที่เสมอ) และเวกเตอร์ตำแหน่งของทั้งศัตรูและกระสุนปืนของป้อมปืนฉันจะหาเวกเตอร์ที่แสดงตำแหน่งที่แท้จริงได้อย่างไรป้อมปืนต้องกำหนดเป้าหมายเพื่อให้กระสุนปืนแยก (และโดน) ศัตรู? ลิงก์ใด ๆ ไปยังบทความที่อธิบายถึงคณิตศาสตร์อัลกอริทึม ฯลฯ จะได้รับการชื่นชม!
13 algorithm  ai  aiming 



3
วิธีรับไทล์ทั้งหมดจากไทล์แมป
ฉันได้ลองใช้TileMapระบบใหม่ใน Unity นิดหน่อยแล้วและฉันกำลังมองหาวิธีในการเข้าถึงไทล์เป็นรายการหรืออาเรย์สองมิติ แต่ฉันไม่พบสิ่งใดนอกจากGetTile(Vector3Int vector)ที่ส่งคืนไทล์เดียวเท่านั้น ... มีวิธีใดบ้าง เพื่อทำสิ่งนี้ ?
13 unity  tilemap 


2
วิธีใช้ Input.GetAxis (“ Mouse X / Y”) เพื่อหมุนกล้อง
ฉันต้องการสร้างกล้องคนแรกที่หมุนด้วยเมาส์ ฉันดูที่หน้าInput.GetAxis Scripting API และพบรหัสตัวอย่างซึ่งฉันได้รวมไว้ที่ด้านล่างของโพสต์ของฉัน เมื่อลองใช้งานฉันรู้ว่าแม้ว่ามันจะมีฟังก์ชั่นพื้นฐานแบบเดียวกับที่ฉันหวังไว้ แต่ก็ไม่ได้ทำให้กล้องขนานกับระนาบ xz โดยเฉพาะเมื่อเลื่อนเมาส์เป็นวงกลม หลังจากนั้นไม่นานกล้องก็จะทำมุมแปลก ๆ และผู้เล่นจะไม่ถูกรวบรวมอย่างสมบูรณ์! มีการแก้ไขอย่างรวดเร็วของรหัสนี้ที่จะ จำกัด การเคลื่อนไหวของกล้องอย่างใดหรือมีวิธีที่ดีกว่าในการหมุนกล้อง? using UnityEngine; using System.Collections; public class ExampleClass : MonoBehaviour { public float horizontalSpeed = 2.0F; public float verticalSpeed = 2.0F; void Update() { float h = horizontalSpeed * Input.GetAxis("Mouse X"); float v = verticalSpeed * …
13 unity  camera 

1
เฉดสีที่แตกต่างกันสำหรับวัตถุที่แตกต่าง DirectX 11
ฉันกำลังเรียนรู้Direct3D 11และในบทเรียนพื้นฐานทั้งหมดที่ฉันพบในการเขียน Shader, Vertex และ Pixel shaders จึงถูกเขียนขึ้นเพื่อให้พวกเขาเปลี่ยนทั้งฉากในลักษณะเดียวกัน บทแนะนำเช่นเรนเดอร์คิวบ์พร้อมพื้นผิว ... แต่ฉันสงสัยว่าคุณแยกแยะวัตถุอย่างไร ยกตัวอย่างเช่นถ้าคุณต้องการที่จะจำลองพื้นผิวกระจกบนวัตถุบางอย่างและใช้เฉดสีที่แตกต่างกันในการทำให้ส่วนที่เหลือของฉาก ฉันคิดว่าเกมส่วนใหญ่จะต้องใช้จุดสุดยอดและ Pixel Shader เพื่อให้ได้รูปลักษณ์และการเปลี่ยนแปลงที่หลากหลาย ขอขอบคุณ.
13 c++  directx11 

4
ฉันจะสร้างลำแสงเหมือนเดินทางใน Unity ได้อย่างไร
ฉันต้องการสร้างการ์ตูนที่ดูดวงอาทิตย์ / ลำแสงที่ดูใกล้เคียง (หรือเหมือน) กับเกมที่รู้จักกันดีและเป็นที่รักเช่น Journey: และ Ori: ฉันจะทำสิ่งนี้ได้อย่างไร
12 unity  lighting 

4
ความแตกต่างระหว่าง“ บัฟเฟอร์” และ“ อาร์เรย์” ใน OpenGL หรือไม่
เมื่อฉันอ่าน doc บน webGL หรือ OpenGL ฉันสามารถเห็นรูปแบบบางอย่างในวิธีการใช้ชื่อฟังก์ชั่นและวัตถุ แต่ฉันไม่เข้าใจความแตกต่างระหว่างวัตถุบัฟเฟอร์และอาร์เรย์ มี "วัตถุบัฟเฟอร์จุดสุดยอด", "วัตถุอาร์เรย์จุดสุดยอด" และแม้กระทั่ง "บัฟเฟอร์อาร์เรย์" หรือ "arraybuffer" บางชนิด ในบริบท OpenGL บางสิ่งเมื่อเป็น "อาเรย์" และเมื่อมันควรจะเรียกว่า "บัฟเฟอร์" แทน?
12 opengl  webgl 

6
อัลกอริทึมที่มีประสิทธิภาพสำหรับขอบเขตของชุดของกระเบื้อง
ต้องการปรับปรุงโพสต์นี้หรือไม่? ให้คำตอบโดยละเอียดสำหรับคำถามนี้รวมถึงการอ้างอิงและคำอธิบายว่าทำไมคำตอบของคุณถึงถูกต้อง คำตอบที่ไม่มีรายละเอียดเพียงพออาจแก้ไขหรือลบออกได้ ฉันมีตารางเรียงต่อกันของขนาด จำกัด ที่ทราบซึ่งก่อตัวเป็นแผนที่ แผ่นบางแผ่นที่อยู่ในแผนที่จะถูกวางลงในชุดที่รู้จักกันในชื่ออาณาเขต ดินแดนนี้เชื่อมต่อกัน แต่ไม่มีใครรู้เกี่ยวกับรูปร่างของมัน ส่วนใหญ่มันจะเป็นหยดปกติ แต่อาจยืดออกไปได้ในทิศทางเดียวและอาจมีรูได้ ฉันสนใจที่จะค้นหาชายแดน (ด้านนอก) ของอาณาเขต นั่นคือฉันต้องการรายการของกระเบื้องทั้งหมดที่แตะหนึ่งในกระเบื้องในดินแดนโดยที่ตัวเองไม่ได้อยู่ในดินแดน วิธีที่มีประสิทธิภาพในการค้นหาสิ่งนี้คืออะไร? สำหรับความยากเป็นพิเศษมันเกิดขึ้นที่ไทล์ของฉันเป็น hexes แต่ฉันคิดว่ามันไม่ได้สร้างความแตกต่างมากนักแต่ละไทล์ยังคงมีพิกัด x และ y เป็นจำนวนเต็มและถ้ามีไทล์ฉันสามารถหาเพื่อนบ้านได้อย่างง่ายดาย ด้านล่างเป็นตัวอย่างบางส่วน: สีดำคืออาณาเขตและเส้นขอบสีน้ำเงินที่ฉันต้องการค้นหา สิ่งนี้ในตัวของมันเองไม่ใช่ปัญหาที่ยากเลยอัลกอริธึมง่ายๆสำหรับสิ่งนี้ใน pseudo-python คือ: def find_border_of_territory(territory): border = [] for tile in territory: for neighbor in tile.neighbors(): if neighbor not in territory and neighbor not in …

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

4
วิธีการแก้ปัญหาการตรวจสอบพื้นดิน?
ฉันสังเกตเห็นปัญหาในการตรวจสอบภาคสนามบุคคลที่สามของ Unity การตรวจสอบภาคพื้นดินควรตรวจสอบว่าผู้เล่นยืนอยู่บนพื้นดินหรือไม่ มันทำได้โดยการส่งรังสีออกมาด้านล่างของเครื่องเล่น อย่างไรก็ตามหากผู้เล่นยืนอยู่ด้านบนและตรงกลางของสองกล่องและมีช่องว่างระหว่างกล่องเหล่านี้รังสีจะยิงเข้าสู่ช่องว่างและผู้เล่นคิดว่าเขาไม่ได้สัมผัสกับพื้นดินซึ่งมีลักษณะดังนี้: ฉันไม่สามารถเคลื่อนไหวได้ คุณสามารถเห็นได้อย่างชัดเจนว่ารังสีอยู่ในช่องว่างและทำให้ต้นไม้ของผู้ผสมภาพเคลื่อนไหวในอากาศเคลื่อนไหว วิธีที่ดีที่สุดในการแก้ปัญหานี้คืออะไร? ฉันคิดถึงการถ่ายภาพรังสีหลายดวงจากแหล่งกำเนิดเดียวกัน แต่มีมุมต่างกัน และOnGroundควรเป็นจริงถ้า X% ของรังสีเหล่านี้กระทบกับ "พื้นดิน" หรือมีวิธีที่ดีกว่า

3
งบประมาณโมเดล 3 มิติ มีความสำคัญต่อรูปสามเหลี่ยมหรือจุดยอดมากเท่าใด
เมื่อฉันสร้างแบบจำลองสำหรับเกมสามมิติฉันควรทำอย่างไรในการวัดในรูปหลายเหลี่ยมงบประมาณ (สามเหลี่ยม) หรือจุดยอดของฉัน ฉันทำการทดลองกับสองชุด 40000 ลูกบาศก์หนึ่งโดยมี 8 จุดยอดและ 12 รูปสามเหลี่ยมอีกชุดหนึ่งมี 24 จุดยอดและรูปสามเหลี่ยม 12 รูป ทั้งหมดทำด้วยความสามัคคีและทั้งคู่ถูกสร้างขึ้นตามขั้นตอน สำหรับความประหลาดใจของฉันทั้งสองชุดแสดงเกือบเหมือนกันมีความแตกต่างกันเล็กน้อยระหว่างพวกเขา มันหมายความว่าฉันไม่ควรกังวลเกี่ยวกับการนับจุดยอดและมองดูที่รูปสามเหลี่ยมนับเท่านั้น? แก้ไข: ฉันได้ทำการทดลองอีกครั้งฉันได้สร้างเครื่องบินที่มีรูปสามเหลี่ยม 19602 และ 10,000 จุดยอดและอีกอันหนึ่งที่มีจำนวน tirangles เท่ากัน แต่เป็นจุดยอด 39204 ฉันสร้าง 4,000 ทั้งคู่ ตอนนี้จุดยอดน้อยกว่าชนะ 14 fps ถึง 19 fps ดังนั้นฉันเดาว่าโดยทั่วไปจะน้อยกว่าดีกว่า แต่มีความแตกต่างใหญ่เท่านั้น

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