MotionBuilderでActorセッティングに必要そうなPythonスクリプト命令。
とりあえず、解ったところから埋めていく感じで。。。
(確認環境:MotionBuilder2014)
##'''------------------------------------------------------------------------
#'''c3dデータのインポート
from pyfbsdk import *
filename = r"D:\rom\tanaka.c3d"
FBApplication().FileImport(filename,True)
#参考サイト
#http://forums.autodesk.com/t5/motionbuilder-python/fbapplication-fileimport-problems-motion-file-import/td-p/4676861
##'''------------------------------------------------------------------------
#'''アクター作成
##'''------------------------------------------------------------------------
#'''アクター位置を合わせる
##'''------------------------------------------------------------------------
#'''アクターサイズを合わせる
##'''------------------------------------------------------------------------
#'''アクターの向きを合わせる
##'''------------------------------------------------------------------------
#'''アクターの向きを合わせる
##'''------------------------------------------------------------------------
#'''マーカーセット登録
##'''------------------------------------------------------------------------
#'''マーカーセットをアクティブ
##'''------------------------------------------------------------------------
#'''選択を保存(セーブセレクション)
from pyfbsdk import *
lOptions = FBFbxOptions(False)
lOptions.SaveSelectedModelsOnly = True
lFilePath = ( r"D:\SaveSelected.fbx" )
FBApplication().FileSave(lFilePath, lOptions)
#参考サイト
#http://docs.autodesk.com/MB/2014/ENU/MotionBuilder-SDK-Documentation/index.html?url=py_ref/_tasks_2_save_selected_8py-example.html,topicNumber=py_ref__tasks_2_save_selected_8py_example_html88e5a654-6667-4a2e-8d66-c7fd6b4f6ca0
##'''------------------------------------------------------------------------
その他・参考サイト
http://nomoreretake.net/2013/05/13/motionbuilder/
from pyfbsdk import *
oActor = FBActor("name") #アクター作成
oMarkerSet = FBMarkerSet("name") #マーカーセット作成
oActor.MarkerSet = oMarkerSet #アクターにマーカーセットを適用
''キーワード検索プログレスバー''''''''''''''''''''''''''''''''''''''''''''''''''
ProgressBar.ProgressBar1.Value = 35 'プログレスバーの進捗率を35%にする
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
If Sheets("Buff").Range("Config_log").Value = "ON" Then 'Config_logがONの場合のみLogを録る処理をします。
Call speed01_method '無駄な表示を止めます
'Set Target = Workbooks.Open(Filename:=ThisWorkbook.Path & "\etc\MDB_accessory\note\log.xls")
Set Target = Workbooks.Open(Sheets("Buff").Range("Config_Pass").Value & "\etc\MDB_accessory\note\log.xlsx")
''キーワード検索プログレスバー''''''''''''''''''''''''''''''''''''''''''''''''''
ProgressBar.ProgressBar1.Value = 38 'プログレスバーの進捗率を38%にする
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
With Target.Sheets("log")
.Range("A2:G2").Insert Shift:=xlDown
.Range("log_file_name").Rows(2).Value = ThisWorkbook.Name
.Range("log_act").Rows(2).Value = value1 'など引数で受け取った内容を記録します。
.Range("log_no").Rows(2).Value = value2 'モーション№など引数で受け取った内容を記録します。
.Range("log_user").Rows(2).Value = CreateObject("WScript.Network").UserName
.Range("log_date").Rows(2).Value = Date
.Range("log_hour").Rows(2).Value = Time
.Range("log_ver").Rows(2).Value = ThisWorkbook.Sheets("image_result").Range("libraryVer").Value
End With
Target.Close SaveChanges:=True
End If