64 lines
2.0 KiB
Python
64 lines
2.0 KiB
Python
#-*- coding: UTF-8 -*-
|
|
|
|
"""
|
|
This module demonstrates the functionality of PyAssimp.
|
|
"""
|
|
|
|
|
|
from pyassimp import pyassimp
|
|
import os
|
|
|
|
#get a model out of assimp's test-data
|
|
MODEL = os.path.join(os.path.dirname(__file__),
|
|
"..", "..",
|
|
"test", "MDLFiles", "MDL3 (3DGS A4)", "minigun.MDL")
|
|
|
|
def main():
|
|
scene = pyassimp.load(MODEL)
|
|
|
|
#the model we load
|
|
print "MODEL:", MODEL
|
|
print
|
|
|
|
#write some statistics
|
|
print "SCENE:"
|
|
print " flags:", ", ".join(scene.list_flags())
|
|
print " meshes:", len(scene.meshes)
|
|
print " materials:", len(scene.materials)
|
|
print " textures:", len(scene.textures)
|
|
print
|
|
|
|
print "MESHES:"
|
|
for index, mesh in enumerate(scene.meshes):
|
|
print " MESH", index+1
|
|
print " vertices:", len(mesh.vertices)
|
|
print " first:", mesh.vertices[:3]
|
|
print " colors:", len(mesh.colors)
|
|
tc = mesh.texcoords
|
|
print " texture-coords 1:", len(tc[0]), "first:", tc[0][:3]
|
|
print " texture-coords 2:", len(tc[1]), "first:", tc[1][:3]
|
|
print " texture-coords 3:", len(tc[2]), "first:", tc[2][:3]
|
|
print " texture-coords 4:", len(tc[3]), "first:", tc[3][:3]
|
|
print " uv-counts:", mesh.uvsize
|
|
print " faces:", len(mesh.faces), "first:", mesh.faces[:3]
|
|
print " bones:", len(mesh.bones), "first:", mesh.bones[:3]
|
|
print
|
|
|
|
print "MATERIALS:"
|
|
for index, material in enumerate(scene.materials):
|
|
print " MATERIAL", index+1
|
|
for key, value in material.properties.iteritems():
|
|
print " %s: %s" % (key, value)
|
|
print
|
|
|
|
print "TEXTURES:"
|
|
for index, texture in enumerate(scene.textures):
|
|
print " TEXTURE", index+1
|
|
print " width:", texture.width
|
|
print " height:", texture.height
|
|
print " hint:", texture.hint
|
|
print " data (size):", len(texture.data)
|
|
|
|
|
|
if __name__ == "__main__":
|
|
main() |