ไฟล์ 3DS คืออะไร?
ไฟล์ที่มีนามสกุล .3ds แสดงถึงรูปแบบไฟล์ตาข่าย 3D Sudio (DOS) ที่ใช้โดย Autodesk 3D Studio Autodesk 3D Studio อยู่ในตลาดรูปแบบไฟล์ 3 มิติมาตั้งแต่ปี 1990 และตอนนี้ได้พัฒนาเป็น 3D Studio MAX สำหรับการทำงานกับการสร้างแบบจำลอง 3 มิติ แอนิเมชัน และการเรนเดอร์ ไฟล์ 3DS มีข้อมูลสำหรับการแสดงฉากและรูปภาพแบบ 3 มิติ และเป็นหนึ่งในรูปแบบไฟล์ยอดนิยมสำหรับการนำเข้าและส่งออกข้อมูล 3 มิติ โดยจะพิจารณาข้อมูลต่างๆ เช่น ตำแหน่งของกล้อง ข้อมูลตาข่าย ข้อมูลการจัดแสง การกำหนดค่าวิวพอร์ต การปรับข้อมูลกลุ่มให้เรียบ การอ้างอิงบิตแมปและแอตทริบิวต์เพื่อสร้างจุดยอดและรูปหลายเหลี่ยมสำหรับการแสดงฉาก
รูปแบบไฟล์ 3DS - ข้อมูลเพิ่มเติม
โดยพื้นฐานแล้ว 3DS เป็นรูปแบบไฟล์ไบนารีและเป็นไปตามโครงสร้างที่กำหนดไว้ล่วงหน้าสำหรับการจัดเก็บและดึงข้อมูล รูปแบบไฟล์ไบนารีช่วยให้รูปแบบไฟล์ 3DS มีขนาดเล็กลงเร็วขึ้นเมื่อเทียบกับรูปแบบไฟล์แบบข้อความ ข้อมูลภายในไฟล์ 3DS ถูกจัดเก็บในรูปแบบของก้อน
ก้อน 3DS
แต่ละก้อนในไฟล์ 3DS เป็นบล็อกของข้อมูลที่ประกอบด้วย ID ความยาวของบล็อกสำหรับตำแหน่งของบล็อกถัดไป และข้อมูลเอง รหัสกลุ่มช่วยให้โปรแกรมอ่านรูปแบบไฟล์ 3DS สามารถข้ามบล็อกที่พวกเขาไม่รู้จักได้ นอกจากนี้ยังช่วยในการขยายรูปแบบ แต่ละก้อนจะเก็บข้อมูลที่เกี่ยวข้องกับรูปร่าง แสง และข้อมูลการดูที่ร่วมกันแสดงฉาก ส่วนย่อยถูกจัดเรียงในโครงสร้างแบบลำดับชั้นในไฟล์ 3DS และมีลักษณะคล้ายกับต้นไม้ XML Document Object ในการแสดง
รหัสกลุ่ม: สองไบต์แรกของกลุ่มแสดงถึงตัวระบุกลุ่มที่ช่วยให้โปรแกรมอ่านไฟล์ตัดสินใจว่าจะพิจารณาในระหว่างการอ่านหรือข้ามไป
ความยาวของก้อน: รหัสก้อนตามด้วยจำนวนเต็ม 4 ไบต์ (ใน little-endian) ซึ่งหมายถึงความยาวของก้อน ความยาวนี้ยังรวมถึงความยาวของข้อมูล ความยาวของบล็อกย่อย และส่วนหัว 6 ไบต์
เพย์โหลด: ความยาวของก้อนตามด้วยไบต์จริงของข้อมูลสำหรับก้อน ตามด้วยก้อนย่อยในโครงสร้างแบบลำดับชั้นเดียวกันที่ขยายได้หลายระดับ
โครงสร้างของก้อน
โครงสร้างลำดับชั้นของก้อนอย่างง่ายมีดังต่อไปนี้:
ก้อน
| เริ่มต้น | สิ้นสุด | ขนาด | ชื่อ | 
|---|---|---|---|
| 0 | 1 | 2 | รหัสกลุ่ม | 
| 2 | 5 | 4 | ก้อนถัดไป | 
ก้อนมีลำดับชั้นที่กำหนดโดย ID ของมัน ไฟล์ 3ds มีรหัสกลุ่มหลัก 4D4Dh นี่เป็นส่วนแรกของไฟล์เสมอ ในก้อนหลักคือก้อนหลัก
ชิ้นหลัก
| id | คำอธิบาย | 
|---|---|
| 3D3D | การเริ่มต้นของข้อมูลตาข่ายวัตถุ | 
| B000 | จุดเริ่มต้นของข้อมูลคีย์เฟรม | 
ตัวชี้ชิ้นถัดไปหลังจากบล็อก ID ชี้ไปที่ชิ้นหลักถัดไป โดยตรงหลังจากชิ้นหลักคืออีกชิ้นหนึ่ง นี่อาจเป็นก้อนประเภทอื่นที่อนุญาตภายในขอบเขตของชิ้นหลัก สำหรับคำอธิบายแบบตาข่าย (3D3D) อาจเป็นทวีคูณของ
ส่วนย่อยของ 3D3D - บล็อกตาข่าย
| id | คำอธิบาย | 
|---|---|
| 1100 | ไม่ทราบ | 
| 1200 | สีพื้นหลัง | 
| 1201 | ไม่ทราบ | 
| 1300 | ไม่ทราบ | 
| 1400 | ไม่ทราบ | 
| 1420 | ไม่ทราบ | 
| 1450 | ไม่ทราบ | 
| 1500 | ไม่ทราบ | 
| 2100 | บล็อกสีโดยรอบ | 
| 2200 | หมอก? | 
| 2201 | หมอก? | 
| 2210 | หมอก? | 
| 2300 | ไม่ทราบ | 
| 3000 | ไม่ทราบ | 
| 4000 | วัตถุบล็อก | 
| 7001 | ไม่ทราบ | 
| AFFF | ไม่ทราบ | 
ส่วนย่อยของ 4000 - บล็อกคำอธิบายวัตถุ รายการแรกของ Subchunk 4000 คือสตริง ASCIIZ ของชื่อวัตถุ จำไว้ว่าวัตถุอาจเป็นตาข่าย แสง หรือกล้องก็ได้
| id | คำอธิบาย | 
|---|---|
| 4010 | ไม่ทราบ | 
| 4012 | เงา? | 
| 4100 | วัตถุรูปหลายเหลี่ยมสามเหลี่ยม | 
| 4600 | เบา | 
| 4700 | กล้อง |