提交 38653855 编写于 作者: Z Zelimir Fedoran

moved ctm, obj, and utf8 converters out of exporters directory

上级 c0fb64de
此差异已折叠。
Autodesk FBX SDK Python bindings
http://usa.autodesk.com/adsk/servlet/pc/index?siteID=123112&id=6837478
\ No newline at end of file
from fbx import *
import sys
def InitializeSdkObjects():
# The first thing to do is to create the FBX SDK manager which is the
# object allocator for almost all the classes in the SDK.
lSdkManager = KFbxSdkManager.Create()
if not lSdkManager:
sys.exit(0)
# Create an IOSettings object
ios = KFbxIOSettings.Create(lSdkManager, IOSROOT)
lSdkManager.SetIOSettings(ios)
# Create the entity that will hold the scene.
lScene = KFbxScene.Create(lSdkManager, "")
return (lSdkManager, lScene)
def SaveScene(pSdkManager, pScene, pFilename, pFileFormat = -1, pEmbedMedia = False):
lExporter = KFbxExporter.Create(pSdkManager, "")
if pFileFormat < 0 or pFileFormat >= pSdkManager.GetIOPluginRegistry().GetWriteFormatCount():
pFileFormat = pSdkManager.GetIOPluginRegistry().GetNativeWriterFormat()
if not pEmbedMedia:
lFormatCount = pSdkManager.GetIOPluginRegistry().GetWriterFormatCount()
for lFormatIndex in range(lFormatCount):
if pSdkManager.GetIOPluginRegistry().WriterIsFBX(lFormatIndex):
lDesc = KString(pSdkManager.GetIOPluginRegistry().GetWriterFormatDescription(lFormatIndex))
if lDesc.Find("ascii") >= 0:
pFileFormat = lFormatIndex
break
if not pSdkManager.GetIOSettings():
ios = KFbxIOSettings.Create(pSdkManager, IOSROOT)
pSdkManager.SetIOSettings(ios)
pSdkManager.GetIOSettings().SetBoolProp(EXP_FBX_MATERIAL, True)
pSdkManager.GetIOSettings().SetBoolProp(EXP_FBX_TEXTURE, True)
pSdkManager.GetIOSettings().SetBoolProp(EXP_FBX_EMBEDDED, pEmbedMedia)
pSdkManager.GetIOSettings().SetBoolProp(EXP_FBX_SHAPE, True)
pSdkManager.GetIOSettings().SetBoolProp(EXP_FBX_GOBO, True)
pSdkManager.GetIOSettings().SetBoolProp(EXP_FBX_ANIMATION, True)
pSdkManager.GetIOSettings().SetBoolProp(EXP_FBX_GLOBAL_SETTINGS, True)
if lExporter.Initialize(pFilename, pFileFormat, pSdkManager.GetIOSettings()):
lExporter.Export(pScene)
lExporter.Destroy()
def LoadScene(pSdkManager, pScene, pFileName):
lImporter = KFbxImporter.Create(pSdkManager, "")
result = lImporter.Initialize(pFileName, -1, pSdkManager.GetIOSettings())
if not result:
return False
if lImporter.IsFBX():
pSdkManager.GetIOSettings().SetBoolProp(EXP_FBX_MATERIAL, True)
pSdkManager.GetIOSettings().SetBoolProp(EXP_FBX_TEXTURE, True)
pSdkManager.GetIOSettings().SetBoolProp(EXP_FBX_EMBEDDED, True)
pSdkManager.GetIOSettings().SetBoolProp(EXP_FBX_SHAPE, True)
pSdkManager.GetIOSettings().SetBoolProp(EXP_FBX_GOBO, True)
pSdkManager.GetIOSettings().SetBoolProp(EXP_FBX_ANIMATION, True)
pSdkManager.GetIOSettings().SetBoolProp(EXP_FBX_GLOBAL_SETTINGS, True)
result = lImporter.Import(pScene)
lImporter.Destroy()
return result
\ No newline at end of file
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册