ฉันเรียนที่โรงเรียนว่าแกน z หมดแล้ว มันเหมือนกันในซอฟต์แวร์การสร้างแบบจำลองเช่น Blender อย่างไรก็ตามในหลาย ๆ เกมแกน y นั้นเพิ่มขึ้น
เหตุผลคืออะไร
ฉันเรียนที่โรงเรียนว่าแกน z หมดแล้ว มันเหมือนกันในซอฟต์แวร์การสร้างแบบจำลองเช่น Blender อย่างไรก็ตามในหลาย ๆ เกมแกน y นั้นเพิ่มขึ้น
เหตุผลคืออะไร
คำตอบ:
ฉันคิดว่าทิศทางของแกนพิกัดนั้นถูกยึดไว้จากโดเมนที่ต่างกันซึ่งระนาบที่สำคัญแตกต่างกันและ X / Y นั้นสอดคล้องกับระนาบที่สำคัญนั้น ในการใช้งานบางอย่างระนาบกราวด์เป็นสิ่งที่สำคัญที่สุดดังนั้น X / Y จึงเป็นพื้นดินและ Z ก็ตั้งฉากกับฉากนั้น สำหรับเกมอย่างไรก็ตามเครื่องบินสำคัญมักจะเป็นหน้าจอ (โดยเฉพาะอย่างยิ่งเมื่อพวกเขาเป็น 2D และเพิ่งเริ่มเปลี่ยนเป็น 3D) ดังนั้น X / Y จึงเป็นหน้าจอและเมื่อเกมไป 3D Z ก็ตั้งฉากกับฉากนั้น
คุณสามารถเห็นความแตกต่างดังกล่าวระหว่างเครื่องมือศิลปะ 3 มิติที่ใหญ่ที่สุด: 3ds max และ Maya แกน Z เพิ่มขึ้นใน 3ds max เพราะมันงอกออกมาจากเครื่องมือสถาปัตยกรรมในขณะที่แกน Y นั้นเพิ่มขึ้นใน Maya เพราะมันเติบโตจากเครื่องมือสร้างภาพยนตร์
สิ่งสำคัญที่ต้องตระหนักเมื่อเปรียบเทียบเครื่องมือเฉพาะกับสิ่งที่คุณได้เรียนรู้ในโรงเรียนก็คือทุกสิ่งโดยพลการ ไม่สำคัญว่าแกนจะชี้ไปที่ใดตราบเท่าที่คุณรักษาทุกอย่างให้สอดคล้องและแปลอย่างถูกต้องระหว่างระบบพิกัดที่แตกต่างกัน
ส่วนใหญ่เป็นมรดกตกทอดมาจากยุคที่สิ่งต่าง ๆ ที่เกิดขึ้นกับ 3D คือพื้นที่หน้าจอหมุนลูกบาศก์หรือการเลื่อนแบบพารัลแลกซ์หรือสิ่งที่คล้ายกัน ในแอปพลิเคชันดังกล่าว Z คือ "ความลึก" เนื่องจาก X และ Y เป็นแกนสำหรับระนาบหน้าจอ เนื่องจากการสาธิตกำลังเพิ่มสูงขึ้นอนุสัญญาดั้งเดิมยังคงอยู่เพราะง่ายกว่าที่จะไม่เปลี่ยนแปลงสิ่งใดที่ใช้งานได้
ด้วยเหตุนี้เกมของวันนี้จึงมีแกน Y เป็นแกนตั้ง - มีบทเรียนที่เขียนไม่ดีมากมายที่ไม่สามารถอธิบายความแตกต่างได้ โดยปกติแล้วจะมีประโยชน์มากที่สุดในการมีระนาบการเคลื่อนที่หลักบนแกน X และ Y (เพื่อให้การคำนวณ 2D ส่วนใหญ่ไม่ต้องการการสลับแกนในรหัส) สำหรับนักกรีดด้านข้างส่วนใหญ่มันค่อนข้างบังเอิญกับระนาบหน้าจอ (X / Y) สำหรับเกมผจญภัยและเช่น X / Y ใช้งานได้ดีในแนวระนาบแนวตั้ง (ตั้งฉากกับทิศทางของแรงโน้มถ่วง) เพราะมันแมปเข้ากับแผนที่ในเกมได้อย่างสมบูรณ์แบบการควบคุมของแป้นควบคุมเกม
เท่าที่ผมได้เคยรวบรวมวาย = ขึ้น / ลงและ Z = ความลึกจะตามออกของฟิสิกส์ที่แรงโน้มถ่วงเป็นเสมอใน (-Y) ทิศทางและจากนั้นเพิ่ม 3D หมายความว่าคุณไม่ต้องการที่จะเปลี่ยนพื้นฐาน , ดังนั้นมันจึงทำให้ความลึก
บน Z = วิธีขึ้น / ลงแม้ว่าจะเป็นการโยนกลับไปยังนักคณิตศาสตร์ เนื่องจาก X / Y ถูกวาดลงบนกระดาษที่วางราบบนโต๊ะเมื่อแกน Z ขยายออกมาจากกระดาษดังนั้นจึงเพิ่มขึ้น แม้ว่าวิศวกรของคุณหลายคนจะใช้ระเบียบนี้เช่นกัน
ในส่วนที่เกี่ยวกับการประชุมที่ใช้โดยเครื่องมือที่กำหนด: Maya และ Unity มี Y-up (อาจได้รับการออกแบบโดยบุคคลที่มีพื้นหลังด้านฟิสิกส์) ในขณะที่ 3DsMax และ Unreal มี Z-up (อาจได้รับการออกแบบโดยนักคณิตศาสตร์ / วิศวกร) แม้ว่าอาจกล่าวได้ว่าสิ่งเหล่านี้อาจเป็นเพียงการตัดสินใจแยกกันในวันเดียวเพราะต้องใช้ระบบที่สอดคล้องกัน
เนื่องจากคำถามนี้มุ่งเน้นไปที่เครื่องมือสร้างแบบจำลองและวางอยู่บนเว็บไซต์ถามตอบเกี่ยวกับการพัฒนา คุณอาจต้องการตรวจสอบว่าระบบพิกัดใดที่คุณจะส่งออกไปและตรวจสอบให้แน่ใจว่าคุณทำตามนั้น
ยังตระหนักว่าบางระบบที่ระบบแกนตั้งยากและถาวรและอื่น ๆ ก็สามารถแก้ไขได้ (คิดว่ามันสามารถเปลี่ยนแปลงได้ใน Blender และ Unreal แต่อาจผิดพลาดได้)
เนื่องจากระบบพิกัดที่ใช้ในเกมขึ้นอยู่กับมิติของจอภาพ เมื่อคอมพิวเตอร์แสดงผลใด ๆ คอมพิวเตอร์จะเริ่มต้นที่มุมซ้ายบนซึ่งให้ค่า x และพิกัด y ของ [0, 0] ในขณะที่การเรนเดอร์ไปทางด้านขวาของหน้าจอค่า x จะเพิ่มขึ้นตามลำดับเมื่อเรนเดอร์ขยับลงค่า y จะเพิ่มขึ้น ระบบพิกัดนั้นโดยทั่วไปคือพื้นที่ 2 มิติยกเว้นส่วนที่เหลือเริ่มต้นที่มุมซ้ายบนและไม่ใช่กึ่งกลางของหน้าจอของคุณ
ในแพ็คเกจ 3 มิติเช่น 3DsMax และ Maya พวกเขามีคำจำกัดความของพิกัด x และ y ตามสิ่งที่สำคัญสำหรับพวกเขา 3DsMax มีพื้นฐานมาจากการออกแบบสถาปัตยกรรมถ้าคุณวาดแผนผังบนระนาบ 2 มิติ y จะขึ้น ในมายาซึ่งส่วนใหญ่ใช้สำหรับการเคลื่อนไหวดังนั้นพื้นดินคือ x, y และความสูงคือ z