Blender軟體匯出的obj資料格式檔案內容解讀

2022-08-17 00:42:12 字數 3015 閱讀 8311

【cube.obj】

# blender v2.78 (sub 0) obj file: ''

# www.blender.org

mtllib cube.mtl#這裡是引用了乙個外部材質檔案cube.mtl

o cube#指定了模型名稱

v 1.000000 -1.000000 -1.000000#開始按照如下格式定義頂點座標,v x y z [w], 共計定義了立方體的八個頂點座標

v 1.000000 -1.000000 1.000000

v -1.000000 -1.000000 1.000000

v -1.000000 -1.000000 -1.000000

v 1.000000 1.000000 -0.999999

v 0.999999 1.000000 1.000001

v -1.000000 1.000000 1.000000

v -1.000000 1.000000 -1.000000

vn -0.0000 -0.0000 1.0000

vn 0.0000 0.0000 -1.0000

vn 0.0000 -1.0000 0.0000

vn -1.0000 -0.0000 -0.0000

vn 0.0000 1.0000 0.0000

vn 1.0000 0.0000 0.0000

usemtl 材質.001#指定使用外部材質檔案中某乙個材質, 格式為usemtl 材質名稱

s off

f 2//1 6//1 7//1 3//1#開始定義材質1的表面 f v1//vn1  v2//vn2   v3//vn3   v4//vn4, 這裡是我之前定義的頂點索引值

f 5//2 1//2 4//2 8//2#其中vn1, vn2, vn3, vn4是法線向量的索引值, 這個頂點索引和法線向量的索引值都是從1開始的哈

usemtl 材質.002#定義了材質2的屬性資訊

f 1//3 2//3 3//3 4//3

usemtl 材質.003

f 3//4 7//4 8//4 4//4

usemtl 材質.005

f 5//5 8//5 7//5 6//5

usemtl 材質.006

f 1//6 5//6 6//6 2//6

【cube.mtl】

# blender mtl file: 'none'

# material count: 5

newmtl 材質.001

#使用newmtl定義了乙個新的材質,可以被cube.obj檔案來引用我這裡定義的材質紋理資訊

ns 96.078431#使用ns 來指定高光色的權重

ka 1.000000 1.000000 1.000000

#|

kd 0.007611 0.000000 0.640000#|*****>>>ka,kd,ks分別定義了表面的環境色,漫射色和高光色,使用rgb格式, 每乙個分量的值都是介於[0.0, 1.0]這個區間的

ks 0.500000 0.500000 0.500000

#|ke 0.000000 0.000000 0.000000

ni 1.000000

#ni指定了表面光學密度

d 1.000000#d 指定了透明度

illum 2#illum 指定了光照模型

newmtl 材質.002

#開始定義第二種材質的屬性資訊

ns 96.078431

ka 1.000000 1.000000 1.000000

kd 0.640000 0.053248 0.037551

ks 0.500000 0.500000 0.500000

ke 0.000000 0.000000 0.000000

ni 1.000000

d 1.000000

illum 2

newmtl 材質.003

ns 96.078431

ka 1.000000 1.000000 1.000000

kd 0.640000 0.000000 0.040583

ks 0.500000 0.500000 0.500000

ke 0.000000 0.000000 0.000000

ni 1.000000

d 1.000000

illum 2

newmtl 材質.005

ns 96.078431

ka 1.000000 1.000000 1.000000

kd 0.640000 0.000000 0.376896

ks 0.500000 0.500000 0.500000

ke 0.000000 0.000000 0.000000

ni 1.000000

d 1.000000

illum 2

newmtl 材質.006

blender 批量單獨匯出模型

import bpy import re import os 匯出路徑 只選中模型 bpy.ops.object select by type extend false type mesh 獲取選中的模型 ls bpy.context.selected objects for i in ls pri...

使用Blender批量匯出 轉換模型

2.4版本號的blender api和2.5以上版本號的api有非常大的不同,這裡僅僅是提供了思路和2.4版本號的匯出方案。先提供乙個指令碼,這個是由blender呼叫的。用於轉換ogre的mes 件的指令碼 import blender import bpy import sys import o...

Unity匯出場景地形網格到 obj檔案

當美術同事拼接好場景內容後,需要在指定場景上製作具體的行走麵時,用來提供網格參照。主要 邏輯就是將場景內帶mesh的結點記錄下來,通過對應的.obj資料格式進行儲存。具體 using unityengine using system.collections using system.io using...