อ่าน 3 นาที
เปิดการแลกเปลี่ยนเอนจิ้นเกม
Open Game Engine Exchange ( OpenGEX ) เป็นรูปแบบที่ช่วยในการถ่ายโอนข้อมูลฉากที่ซับซ้อนระหว่าง แอปพลิเคชันกราฟิก 3 มิติ รวมถึงเอนจิ้นเกมและแอปพลิเคชันการสร้างแบบจำลอง 3 มิติ...
เปิดการแลกเปลี่ยนเอนจิ้นเกม
| โอเพ่นจีเอ็กซ์ | |
|---|---|
| นามสกุลไฟล์ | .ogex |
| สื่อประเภทอินเทอร์เน็ต | โมเดล/vnd.opengex |
| พัฒนาโดย | เอริค เลงเยล |
| การเผยแพร่ครั้งแรก | 21 ธันวาคม 2556 |
| รุ่นล่าสุด | 3.0 2 กุมภาพันธ์ 2021 |
| ประเภทของรูปแบบ | กราฟิกคอมพิวเตอร์ 3 มิติ |
| ขยายจาก | โอเพ่นดีดีแอล |
| รูปแบบเปิด ? | ใช่ |
| เว็บไซต์ | opengex.org |
Open Game Engine Exchange ( OpenGEX ) เป็นรูปแบบที่ช่วยในการถ่ายโอนข้อมูลฉากที่ซับซ้อนระหว่างแอปพลิเคชันกราฟิก 3 มิติรวมถึงเอนจิ้นเกมและแอปพลิเคชันการสร้างแบบจำลอง 3 มิติ โดยไม่ขึ้นกับแอปพลิเคชันใดๆ โดยใช้Open Data Description Languageสำหรับการจัดเก็บข้อมูล ซึ่งเป็นวิธีการจัดเก็บข้อมูลแบบใดก็ได้ที่ยังคงความสามารถในการอ่านของมนุษย์ รูปแบบไฟล์ OpenGEX ได้รับการจดทะเบียนกับInternet Assigned Numbers Authority (IANA) ในฐานะmodel/vnd.opengexประเภทสื่อ[ 1 ]
รูปแบบ OpenGEX ได้รับการกำหนดโดยOpen Game Engine Exchange Specification [ 2 ] ซึ่งมีอยู่ในเว็บไซต์อย่างเป็นทางการopengex.org
มีปลั๊กอินส่งออกที่เขียนไฟล์ในรูปแบบ OpenGEX สำหรับAutodesk Mayaและ3D Studio Maxและมีปลั๊กอินที่ไม่เป็นทางการสำหรับBlenderด้วย
รูปแบบ
ในระดับพื้นฐานที่สุด ไฟล์ OpenGEX ประกอบด้วยลำดับชั้นของโหนด ชุดของวัตถุ ชุดของวัสดุ และข้อมูลเพิ่มเติมเกี่ยวกับหน่วยสากลและการวางแนวแกน โครงสร้างโหนด วัตถุ และวัสดุต่างๆ ประกอบด้วยรายละเอียดทั้งหมด เช่น ข้อมูลทางเรขาคณิตและแทร็กแอนิเมชันภายในลำดับชั้นของโครงสร้างประเภทเพิ่มเติมที่กำหนดโดย OpenGEX ข้อมูลประเภทต่อไปนี้สามารถปรากฏในไฟล์ OpenGEX ได้:
- การจัดระเบียบฉากแบบลำดับชั้น (โครงสร้างแบบต้นไม้ของโหนด)
- การแปลงโหนดและวัตถุ (เมทริกซ์ 4×4, การเลื่อน, การหมุน และการปรับขนาด)
- วัตถุทางเรขาคณิต วัตถุแสง และวัตถุกล้อง
- ตาข่ายที่ประกอบด้วยอาร์เรย์คุณลักษณะจุดยอดและอาร์เรย์ดัชนีสำหรับรายละเอียดหลายระดับ
- โมเดล 3 มิติที่มีโครงกระดูก (โครงกระดูก, การแปลงท่าทาง, ข้อมูลการถ่วงน้ำหนักอิทธิพลของกระดูก)
- เป้าหมายการเปลี่ยนแปลงรูปร่างหลายแบบสำหรับโมเดล 3 มิติ และน้ำหนักการเปลี่ยนแปลงรูปร่างแบบเคลื่อนไหว
- การสร้างแอนิเมชั่นด้วยคีย์เฟรม โดยใช้เส้นโค้งแอนิเมชั่นแบบเชิงเส้น เบซิเยร์ และ TCB
- สีและพื้นผิวของวัสดุ (การกระจายแสง, การสะท้อนแสง, ค่าปกติ, การเปล่งแสง, ความทึบแสง, ความโปร่งใส)
ตัวอย่าง
ตัวอย่างง่ายๆ ของไฟล์ OpenGEX ที่สมบูรณ์ซึ่งอธิบายถึงลูกบาศก์สีเขียวแสดงอยู่ในรายการด้านล่าง เริ่มต้นด้วยกลุ่มMetricโครงสร้างที่กำหนดหน่วยวัดและทิศทางขึ้นโดยรวม ตามด้วยGeometryNodeโครงสร้างเดียวที่ให้ชื่อและการแปลงสำหรับลูกบาศก์ ข้อมูลทางเรขาคณิตของลูกบาศก์ถูกจัดเก็บไว้ในGeometryObjectโครงสร้างที่อ้างอิงโดยโหนดเรขาคณิต โครงสร้างวัตถุเรขาคณิตประกอบด้วยตาข่ายสามเหลี่ยมพื้นฐาน เดียว ซึ่งรวมถึงตำแหน่งต่อจุดยอด ค่าปกติ และพิกัดพื้นผิวสุดท้ายMaterialโครงสร้างที่ส่วนท้ายของไฟล์ประกอบด้วยสีสะท้อนแสงแบบกระจายสีเขียว
หน่วยเมตริก (คีย์ = "ระยะทาง") {float {0.01}} เมตริก (คีย์ = "ขึ้น") {สตริง {"z"}} เรขาคณิตโหนด $node1 { ชื่อ {string {"ลูกบาศก์"}} ObjectRef {ref {$geometry1}} MaterialRef {ref {$material1}} แปลง { ลอย[12] { {1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 50.0, 50.0, 0.0} } } } วัตถุเรขาคณิต $geometry1 // ลูกบาศก์ { ตาข่าย (รูปทรงพื้นฐาน = "สามเหลี่ยม") { VertexArray (attrib = "position") { float[3] // 24 { {-50.0, -50.0, 0.0}, {-50.0, 50.0, 0.0}, {50.0, 50.0, 0.0}, {50.0, -50.0, 0.0}, {-50.0, -50.0, 100.0}, {50.0, -50.0, 100.0}, {50.0, 50.0, 100.0}, {-50.0, 50.0, 100.0}, {-50.0, -50.0, 0.0}, {50.0, -50.0, 0.0}, {50.0, -50.0, 100.0}, {-50.0, -50.0, 100.0}, {50.0, -50.0, 0.0}, {50.0, 50.0, 0.0}, {50.0, 50.0, 100.0}, {50.0, -50.0, 100.0}, {50.0, 50.0, 0.0}, {-50.0, 50.0, 0.0}, {-50.0, 50.0, 100.0}, {50.0, 50.0, 100.0}, {-50.0, 50.0, 0.0}, {-50.0, -50.0, 0.0}, {-50.0, -50.0, 100.0}, {-50.0, 50.0, 100.0} } } VertexArray (attrib = "normal") { float[3] // 24 { {0.0, 0.0, -1.0}, {0.0, 0.0, -1.0}, {0.0, 0.0, -1.0}, {0.0, 0.0, -1.0}, {0.0, 0.0, 1.0}, {0.0, 0.0, 1.0}, {0.0, 0.0, 1.0}, {0.0, 0.0, 1.0}, {0.0, -1.0, 0.0}, {0.0, -1.0, 0.0}, {0.0, -1.0, 0.0}, {0.0, -1.0, 0.0}, {1.0, 0.0, 0.0}, {1.0, 0.0, 0.0}, {1.0, 0.0, 0.0}, {1.0, 0.0, 0.0}, {0.0, 1.0, 0.0}, {0.0, 1.0, 0.0}, {0.0, 1.0, 0.0}, {0.0, 1.0, 0.0}, {-1.0, 0.0, 0.0}, {-1.0, 0.0, 0.0}, {-1.0, 0.0, 0.0}, {-1.0, 0.0, 0.0} } } VertexArray (attrib = "texcoord") { float[2] // 24 { {1.0, 0.0}, {1.0, 1.0}, {0.0, 1.0}, {0.0, 0.0}, {0.0, 0.0}, {1.0, 0.0}, {1.0, 1.0}, {0.0, 1.0}, {0.0, 0.0}, {1.0, 0.0}, {1.0, 1.0}, {0.0, 1.0}, {0.0, 0.0}, {1.0, 0.0}, {1.0, 1.0}, {0.0, 1.0}, {0.0, 0.0}, {1.0, 0.0}, {1.0, 1.0}, {0.0, 1.0}, {0.0, 0.0}, {1.0, 0.0}, {1.0, 1.0}, {0.0, 1.0} } } ดัชนีอาร์เรย์ { uint32[3] // 12 { {0, 1, 2}, {2, 3, 0}, {4, 5, 6}, {6, 7, 4}, {8, 9, 10}, {10, 11, 8}, {12, 13, 14}, {14, 15, 12}, {16, 17, 18}, {18, 19, 16}, {20, 21, 22}, {22, 23, 20} } } } } วัสดุ $material1 { ชื่อ {string {"สีเขียว"}} สี (attrib = "diffuse") {float[3] {{0, 1, 0}}} } ประวัติศาสตร์
การพัฒนารูปแบบ OpenGEX ได้รับทุนสนับสนุนจากแคมเปญระดมทุนสาธารณะ[ 3 ]ซึ่งสิ้นสุดลงในวันที่ 8 พฤษภาคม 2556 ในขณะที่กำลังออกแบบรูปแบบดังกล่าวภาษา Open Data Description Languageก็ถูกสร้างขึ้นมาเช่นกันในฐานะภาษาพื้นฐานทั่วไปที่ใช้ในการสร้าง OpenGEX การสนับสนุนรูปแบบ OpenGEX ได้รับการนำไปใช้ครั้งแรกในC4 Engineเวอร์ชัน 3.5
ดูเพิ่มเติม
- glTF - รูปแบบไฟล์ ของ Khronos Groupสำหรับฉากและโมเดล 3 มิติ
ลิงก์ภายนอก
- เว็บไซต์อย่างเป็นทางการ
สรุปเนื้อหา
ข้อมูลสำคัญจากบทความ
ข้อมูลสำคัญเกี่ยวกับ เปิดการแลกเปลี่ยนเอนจิ้นเกม
Open Game Engine Exchange ( OpenGEX ) เป็นรูปแบบที่ช่วยในการถ่ายโอนข้อมูลฉากที่ซับซ้อนระหว่าง แอปพลิเคชันกราฟิก 3 มิติ รวมถึงเอนจิ้นเกมและแอปพลิเคชันการสร้างแบบจำลอง 3 มิติ...
รูปแบบ
ในระดับพื้นฐานที่สุด ไฟล์ OpenGEX ประกอบด้วยลำดับชั้นของโหนด ชุดของวัตถุ ชุดของวัสดุ และข้อมูลเพิ่มเติมเกี่ยวกับหน่วยสากลและการวางแนวแกน โครงสร้างโหนด วัตถุ และวัสดุต่างๆ ประกอบด้วยรายละเอียดทั้งหมด เช่น...
ตัวอย่าง
ตัวอย่างง่ายๆ ของไฟล์ OpenGEX ที่สมบูรณ์ซึ่งอธิบายถึงลูกบาศก์สีเขียวแสดงอยู่ในรายการด้านล่าง เริ่มต้นด้วยกลุ่ม Metric โครงสร้างที่กำหนดหน่วยวัดและทิศทางขึ้นโดยรวม ตามด้วย GeometryNode โครงสร้างเดียวที่ให้ชื่อและการแปลงสำหรับลูกบาศก์...
ประวัติศาสตร์
การพัฒนารูปแบบ OpenGEX ได้รับทุนสนับสนุนจากแคมเปญระดมทุนสาธารณะ [ 3 ] ซึ่งสิ้นสุดลงในวันที่ 8 พฤษภาคม 2556 ในขณะที่กำลังออกแบบรูปแบบดังกล่าว ภาษา Open Data Description Language ก็ถูกสร้างขึ้นมาเช่นกันในฐานะภาษาพื้นฐานทั่วไปที่ใช้ในการสร้าง OpenGEX...