มีคณิตศาสตร์อีกหลายรูปแบบที่มีประโยชน์ แต่อย่างน้อยที่สุดคุณต้องรู้สิ่งเหล่านี้:
สิ่งเหล่านี้เป็นสิ่งพื้นฐาน แต่ถ้าคุณไม่รู้สิ่งเหล่านี้คุณจะไม่มีโอกาสได้เป็นโปรแกรมเมอร์แม้แต่นักพัฒนาเกม
วัตถุในเกมโลกจะแสดงด้วยเวกเตอร์ เวกเตอร์หมายถึงสิ่งต่าง ๆ เช่นตำแหน่งของวัตถุทิศทางการมองและความเร็ว การคำนวณทางคณิตศาสตร์ของเวกเตอร์เช่นผลิตภัณฑ์ Dot , Cross Productและการทำให้เป็นมาตรฐานของ Vector เป็นสิ่งจำเป็น
ฉันจะย้ายวัตถุเกมของฉันได้อย่างไร สามเณรอาจพูดว่า:
object.position.x++
"ฉันรู้ว่าฉันก็จะทำ"
ไม่ไม่ไม่. คุณต้องใช้การคำนวณแบบเวคเตอร์ วัตถุต้องการเวกเตอร์ตำแหน่งทิศทางและความเร่งซึ่งคุณสามารถใช้เพื่อย้ายวัตถุ หากคุณทำสิ่งที่เป็นสามเณรคุณจะติดอยู่ในความยุ่งเหยิงที่ไม่สามารถเคลื่อนไหวได้และคุณจะทำให้มันเคลื่อนที่ไปในทิศทางที่ไม่สอดคล้องกับแกน XYZ ของโลกได้อย่างไร
เหตุผลหลักที่ใช้เกม quaternions เป็นเพราะพวกเขาเป็นตัวแทนผลัดเกือบจะเป็นพื้นที่ที่มีประสิทธิภาพเป็นสมการได้โดยไม่ต้องทุกข์ทรมานจากGimbal ล็อค Gimbal Lock เริ่มต้นเมื่อมุมออยเลอร์หมุนได้รอบ 90 องศารอบแกนใด ๆ : คุณสูญเสียอิสรภาพในทันที Quaternions แก้ไขปัญหานี้โดยเพิ่มมิติที่สี่ หากคุณติดอยู่กับมุมออยเลอร์คุณจะต้อง จำกัด หนึ่งแกนเพื่อไม่ให้หมุนเกิน ~ 89 องศา
หากคุณกำลังจะเขียนโปรแกรมคณิตศาสตร์สำหรับการตอบสนองทางฟิสิกส์ในเกมการเรียนวิชาฟิสิกส์จะไม่เป็นความคิดที่ไม่ดี
เหตุผลที่คุณจะต้องรู้สมการฟิสิกส์:
- ทำให้ลูกบอลเด้ง (ดู: co-efficient ของการชดใช้ความเสียหาย)
- ทำให้ลูกบอลเคลื่อนที่ไปในทิศทางที่มีแรง 'x' นิวตัน
- ทำให้บางสิ่งมีแรงเสียดทานไม่มากก็น้อยดังนั้นมันจะเลื่อนด้วยความเร็วที่แตกต่างกัน
- การตอบสนองการชน: วัตถุจะหมุนไปทางใดเมื่อฉันกด 'ที่นี่'?
ถ้าคุณใช้เอนจิ้นฟิสิกส์ (หรือเอนจิ้นเกมที่มีเอ็นจิ้นฟิสิกส์ติดตั้งอยู่ภายใน) คุณก็สามารถหนีไปได้ด้วยการรู้น้อยมากเกี่ยวกับฟิสิกส์ ถึงกระนั้นมันก็ค่อนข้างดีที่จะรู้ว่าเมื่อคุณต้องการทำให้มือสกปรกเพราะเครื่องมือฟิสิกส์ทำงานได้ไม่ดี