564 lines
12 KiB
Python
564 lines
12 KiB
Python
import tinyobjloader as tol
|
|
import json
|
|
|
|
model = tol.LoadObj("cube.obj")
|
|
|
|
#print(model["shapes"], model["materials"])
|
|
print( json.dumps(model, indent=4) )
|
|
|
|
#EXAMPLE OUTPUT
|
|
|
|
##{
|
|
## "shapes": {
|
|
## "left": [
|
|
## [
|
|
## 2.0,
|
|
## 2.0,
|
|
## 2.0,
|
|
## 2.0,
|
|
## 2.0,
|
|
## 2.0,
|
|
## 2.0,
|
|
## 2.0,
|
|
## 2.0,
|
|
## 2.0
|
|
## ],
|
|
## [
|
|
## 2.0,
|
|
## 2.0,
|
|
## 2.0,
|
|
## 2.0,
|
|
## 2.0,
|
|
## 2.0,
|
|
## 2.0,
|
|
## 2.0,
|
|
## 2.0,
|
|
## 2.0
|
|
## ],
|
|
## [
|
|
## 2.0,
|
|
## 2.0,
|
|
## 2.0,
|
|
## 2.0,
|
|
## 2.0,
|
|
## 2.0,
|
|
## 2.0,
|
|
## 2.0,
|
|
## 2.0,
|
|
## 2.0
|
|
## ],
|
|
## [
|
|
## 2.0,
|
|
## 2.0,
|
|
## 2.0,
|
|
## 2.0,
|
|
## 2.0,
|
|
## 2.0,
|
|
## 2.0,
|
|
## 2.0,
|
|
## 2.0,
|
|
## 2.0
|
|
## ],
|
|
## [
|
|
## 2.0,
|
|
## 2.0,
|
|
## 2.0,
|
|
## 2.0,
|
|
## 2.0,
|
|
## 2.0,
|
|
## 2.0,
|
|
## 2.0,
|
|
## 2.0,
|
|
## 2.0
|
|
## ]
|
|
## ],
|
|
## "bottom": [
|
|
## [
|
|
## 0.0,
|
|
## 0.0,
|
|
## 0.0,
|
|
## 0.0,
|
|
## 0.0,
|
|
## 0.0,
|
|
## 0.0,
|
|
## 0.0,
|
|
## 0.0,
|
|
## 0.0
|
|
## ],
|
|
## [
|
|
## 0.0,
|
|
## 0.0,
|
|
## 0.0,
|
|
## 0.0,
|
|
## 0.0,
|
|
## 0.0,
|
|
## 0.0,
|
|
## 0.0,
|
|
## 0.0,
|
|
## 0.0
|
|
## ],
|
|
## [
|
|
## 0.0,
|
|
## 0.0,
|
|
## 0.0,
|
|
## 0.0,
|
|
## 0.0,
|
|
## 0.0,
|
|
## 0.0,
|
|
## 0.0,
|
|
## 0.0,
|
|
## 0.0
|
|
## ],
|
|
## [
|
|
## 0.0,
|
|
## 0.0,
|
|
## 0.0,
|
|
## 0.0,
|
|
## 0.0,
|
|
## 0.0,
|
|
## 0.0,
|
|
## 0.0,
|
|
## 0.0,
|
|
## 0.0
|
|
## ],
|
|
## [
|
|
## 0.0,
|
|
## 0.0,
|
|
## 0.0,
|
|
## 0.0,
|
|
## 0.0,
|
|
## 0.0,
|
|
## 0.0,
|
|
## 0.0,
|
|
## 0.0,
|
|
## 0.0
|
|
## ]
|
|
## ],
|
|
## "right": [
|
|
## [
|
|
## 1.0,
|
|
## 1.0,
|
|
## 1.0,
|
|
## 1.0,
|
|
## 1.0,
|
|
## 1.0,
|
|
## 1.0,
|
|
## 1.0,
|
|
## 1.0,
|
|
## 1.0
|
|
## ],
|
|
## [
|
|
## 1.0,
|
|
## 1.0,
|
|
## 1.0,
|
|
## 1.0,
|
|
## 1.0,
|
|
## 1.0,
|
|
## 1.0,
|
|
## 1.0,
|
|
## 1.0,
|
|
## 1.0
|
|
## ],
|
|
## [
|
|
## 1.0,
|
|
## 1.0,
|
|
## 1.0,
|
|
## 1.0,
|
|
## 1.0,
|
|
## 1.0,
|
|
## 1.0,
|
|
## 1.0,
|
|
## 1.0,
|
|
## 1.0
|
|
## ],
|
|
## [
|
|
## 1.0,
|
|
## 1.0,
|
|
## 1.0,
|
|
## 1.0,
|
|
## 1.0,
|
|
## 1.0,
|
|
## 1.0,
|
|
## 1.0,
|
|
## 1.0,
|
|
## 1.0
|
|
## ],
|
|
## [
|
|
## 1.0,
|
|
## 1.0,
|
|
## 1.0,
|
|
## 1.0,
|
|
## 1.0,
|
|
## 1.0,
|
|
## 1.0,
|
|
## 1.0,
|
|
## 1.0,
|
|
## 1.0
|
|
## ]
|
|
## ],
|
|
## "front": [
|
|
## [
|
|
## 0.0,
|
|
## 0.0,
|
|
## 0.0,
|
|
## 0.0,
|
|
## 0.0,
|
|
## 0.0,
|
|
## 0.0,
|
|
## 0.0,
|
|
## 0.0,
|
|
## 0.0
|
|
## ],
|
|
## [
|
|
## 0.0,
|
|
## 0.0,
|
|
## 0.0,
|
|
## 0.0,
|
|
## 0.0,
|
|
## 0.0,
|
|
## 0.0,
|
|
## 0.0,
|
|
## 0.0,
|
|
## 0.0
|
|
## ],
|
|
## [
|
|
## 0.0,
|
|
## 0.0,
|
|
## 0.0,
|
|
## 0.0,
|
|
## 0.0,
|
|
## 0.0,
|
|
## 0.0,
|
|
## 0.0,
|
|
## 0.0,
|
|
## 0.0
|
|
## ],
|
|
## [
|
|
## 0.0,
|
|
## 0.0,
|
|
## 0.0,
|
|
## 0.0,
|
|
## 0.0,
|
|
## 0.0,
|
|
## 0.0,
|
|
## 0.0,
|
|
## 0.0,
|
|
## 0.0
|
|
## ],
|
|
## [
|
|
## 0.0,
|
|
## 0.0,
|
|
## 0.0,
|
|
## 0.0,
|
|
## 0.0,
|
|
## 0.0,
|
|
## 0.0,
|
|
## 0.0,
|
|
## 0.0,
|
|
## 0.0
|
|
## ]
|
|
## ],
|
|
## "top": [
|
|
## [
|
|
## 0.0,
|
|
## 0.0,
|
|
## 0.0,
|
|
## 0.0,
|
|
## 0.0,
|
|
## 0.0,
|
|
## 0.0,
|
|
## 0.0,
|
|
## 0.0,
|
|
## 0.0
|
|
## ],
|
|
## [
|
|
## 0.0,
|
|
## 0.0,
|
|
## 0.0,
|
|
## 0.0,
|
|
## 0.0,
|
|
## 0.0,
|
|
## 0.0,
|
|
## 0.0,
|
|
## 0.0,
|
|
## 0.0
|
|
## ],
|
|
## [
|
|
## 0.0,
|
|
## 0.0,
|
|
## 0.0,
|
|
## 0.0,
|
|
## 0.0,
|
|
## 0.0,
|
|
## 0.0,
|
|
## 0.0,
|
|
## 0.0,
|
|
## 0.0
|
|
## ],
|
|
## [
|
|
## 0.0,
|
|
## 0.0,
|
|
## 0.0,
|
|
## 0.0,
|
|
## 0.0,
|
|
## 0.0,
|
|
## 0.0,
|
|
## 0.0,
|
|
## 0.0,
|
|
## 0.0
|
|
## ],
|
|
## [
|
|
## 0.0,
|
|
## 0.0,
|
|
## 0.0,
|
|
## 0.0,
|
|
## 0.0,
|
|
## 0.0,
|
|
## 0.0,
|
|
## 0.0,
|
|
## 0.0,
|
|
## 0.0
|
|
## ]
|
|
## ],
|
|
## "back": [
|
|
## [
|
|
## 0.0,
|
|
## 0.0,
|
|
## 0.0,
|
|
## 0.0,
|
|
## 0.0,
|
|
## 0.0,
|
|
## 0.0,
|
|
## 0.0,
|
|
## 0.0,
|
|
## 0.0
|
|
## ],
|
|
## [
|
|
## 0.0,
|
|
## 0.0,
|
|
## 0.0,
|
|
## 0.0,
|
|
## 0.0,
|
|
## 0.0,
|
|
## 0.0,
|
|
## 0.0,
|
|
## 0.0,
|
|
## 0.0
|
|
## ],
|
|
## [
|
|
## 0.0,
|
|
## 0.0,
|
|
## 0.0,
|
|
## 0.0,
|
|
## 0.0,
|
|
## 0.0,
|
|
## 0.0,
|
|
## 0.0,
|
|
## 0.0,
|
|
## 0.0
|
|
## ],
|
|
## [
|
|
## 0.0,
|
|
## 0.0,
|
|
## 0.0,
|
|
## 0.0,
|
|
## 0.0,
|
|
## 0.0,
|
|
## 0.0,
|
|
## 0.0,
|
|
## 0.0,
|
|
## 0.0
|
|
## ],
|
|
## [
|
|
## 0.0,
|
|
## 0.0,
|
|
## 0.0,
|
|
## 0.0,
|
|
## 0.0,
|
|
## 0.0,
|
|
## 0.0,
|
|
## 0.0,
|
|
## 0.0,
|
|
## 0.0
|
|
## ]
|
|
## ]
|
|
## },
|
|
## "materials": {
|
|
## "green": {
|
|
## "emission": [
|
|
## 0.0,
|
|
## 0.0,
|
|
## 0.0
|
|
## ],
|
|
## "specular": [
|
|
## 0.0,
|
|
## 0.0,
|
|
## 0.0
|
|
## ],
|
|
## "illum": 0,
|
|
## "ior": 1.0,
|
|
## "shininess": 1.0,
|
|
## "normal_texname": "",
|
|
## "specular_texname": "",
|
|
## "transmittance": [
|
|
## 0.0,
|
|
## 0.0,
|
|
## 0.0
|
|
## ],
|
|
## "dissolve": 1.0,
|
|
## "ambient": [
|
|
## 0.0,
|
|
## 0.0,
|
|
## 0.0
|
|
## ],
|
|
## "diffuse": [
|
|
## 0.0,
|
|
## 1.0,
|
|
## 0.0
|
|
## ],
|
|
## "diffuse_texname": "",
|
|
## "ambient_texname": ""
|
|
## },
|
|
## "blue": {
|
|
## "emission": [
|
|
## 0.0,
|
|
## 0.0,
|
|
## 0.0
|
|
## ],
|
|
## "specular": [
|
|
## 0.0,
|
|
## 0.0,
|
|
## 0.0
|
|
## ],
|
|
## "illum": 0,
|
|
## "ior": 1.0,
|
|
## "shininess": 1.0,
|
|
## "normal_texname": "",
|
|
## "specular_texname": "",
|
|
## "transmittance": [
|
|
## 0.0,
|
|
## 0.0,
|
|
## 0.0
|
|
## ],
|
|
## "dissolve": 1.0,
|
|
## "ambient": [
|
|
## 0.0,
|
|
## 0.0,
|
|
## 0.0
|
|
## ],
|
|
## "diffuse": [
|
|
## 0.0,
|
|
## 0.0,
|
|
## 1.0
|
|
## ],
|
|
## "diffuse_texname": "",
|
|
## "ambient_texname": ""
|
|
## },
|
|
## "red": {
|
|
## "emission": [
|
|
## 0.0,
|
|
## 0.0,
|
|
## 0.0
|
|
## ],
|
|
## "specular": [
|
|
## 0.0,
|
|
## 0.0,
|
|
## 0.0
|
|
## ],
|
|
## "illum": 0,
|
|
## "ior": 1.0,
|
|
## "shininess": 1.0,
|
|
## "normal_texname": "",
|
|
## "specular_texname": "",
|
|
## "transmittance": [
|
|
## 0.0,
|
|
## 0.0,
|
|
## 0.0
|
|
## ],
|
|
## "dissolve": 1.0,
|
|
## "ambient": [
|
|
## 0.0,
|
|
## 0.0,
|
|
## 0.0
|
|
## ],
|
|
## "diffuse": [
|
|
## 1.0,
|
|
## 0.0,
|
|
## 0.0
|
|
## ],
|
|
## "diffuse_texname": "",
|
|
## "ambient_texname": ""
|
|
## },
|
|
## "white": {
|
|
## "emission": [
|
|
## 0.0,
|
|
## 0.0,
|
|
## 0.0
|
|
## ],
|
|
## "specular": [
|
|
## 0.0,
|
|
## 0.0,
|
|
## 0.0
|
|
## ],
|
|
## "illum": 0,
|
|
## "ior": 1.0,
|
|
## "shininess": 1.0,
|
|
## "normal_texname": "",
|
|
## "specular_texname": "",
|
|
## "transmittance": [
|
|
## 0.0,
|
|
## 0.0,
|
|
## 0.0
|
|
## ],
|
|
## "dissolve": 1.0,
|
|
## "ambient": [
|
|
## 0.0,
|
|
## 0.0,
|
|
## 0.0
|
|
## ],
|
|
## "diffuse": [
|
|
## 1.0,
|
|
## 1.0,
|
|
## 1.0
|
|
## ],
|
|
## "diffuse_texname": "",
|
|
## "ambient_texname": ""
|
|
## },
|
|
## "light": {
|
|
## "emission": [
|
|
## 0.0,
|
|
## 0.0,
|
|
## 0.0
|
|
## ],
|
|
## "specular": [
|
|
## 0.0,
|
|
## 0.0,
|
|
## 0.0
|
|
## ],
|
|
## "illum": 0,
|
|
## "ior": 1.0,
|
|
## "shininess": 1.0,
|
|
## "normal_texname": "",
|
|
## "specular_texname": "",
|
|
## "transmittance": [
|
|
## 0.0,
|
|
## 0.0,
|
|
## 0.0
|
|
## ],
|
|
## "dissolve": 1.0,
|
|
## "ambient": [
|
|
## 20.0,
|
|
## 20.0,
|
|
## 20.0
|
|
## ],
|
|
## "diffuse": [
|
|
## 1.0,
|
|
## 1.0,
|
|
## 1.0
|
|
## ],
|
|
## "diffuse_texname": "",
|
|
## "ambient_texname": ""
|
|
## }
|
|
## }
|
|
##}
|