ไฟล์ 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 | กล้อง |