hibitekitou
lwo読み込み時に走らせておくスクリプト
xsi |2008-10-15
メモ:lwoを読み込むときに使うもの。
1.あるフォルダ内のLwoファイルを読み込むためのスクリプトを生成するためのもの。コマンドプロンプト上で、
python このスクリプトが書かれたpyファイル lwoの入っているディレクトリパス
を実行。
2.読み込んだオブジェクトはモデルの子供にレイヤー名で作成されるが、そのレイヤーをモデルの名前と同じものに変更の上、モデル名に"_model"を追加(モデルを選択して実行)。
1.あるフォルダ内のLwoファイルを読み込むためのスクリプトを生成するためのもの。コマンドプロンプト上で、
python このスクリプトが書かれたpyファイル lwoの入っているディレクトリパス
を実行。
import os, sys, re exportFilePath = "C:\lwoList.txt" sceneScle = str(100) lwoImportList = [] if len(sys.argv) == 2: dictPath = os.path.abspath(sys.argv[1]) if os.path.exists(dictPath): writeDataString = "" fileList = os.listdir(dictPath ) for fileName in fileList: items = fileName.split(".") if (len(items) > 1) and (items[-1] == "lwo"): filePath = dictPath + "\\" + fileName importCom = "Application.PO_XSI_ImportLWO(\"" + filePath + "\" , 1, 1, 1, 1, 1, " + sceneScle + ")" importCom = re.sub( r'\\', r'\\\\',importCom) writeDataString = writeDataString + "\n" + importCom f = open(exportFilePath,'w') f.write(writeDataString ) f.close()
2.読み込んだオブジェクトはモデルの子供にレイヤー名で作成されるが、そのレイヤーをモデルの名前と同じものに変更の上、モデル名に"_model"を追加(モデルを選択して実行)。
selObj = Application.Selection(0) selObjChildren = selObj.FindChildren() if selObjChildren.Count > 1: for i in range(0,selObjChildren.Count): Application.SetValue(selObjChildren(i).FullName + ".Name", selObj.Name + "_" + str(i + 1), "") else: Application.SetValue(selObjChildren(0).FullName + ".Name", selObj.Name, "") Application.SetValue(selObj.Name + ".Name", selObj.Name + "_model", "")
コメント ( 0 )|Trackback ( )
« Bento 2・新MacBookに関... »
コメント |
コメントはありません。 |
コメントを投稿する |
ブログ作成者から承認されるまでコメントは反映されません |