Mayaシリーズの続きを書こうと思っていたけど、何を書こうとしたっけ?・・・。
久々の記事だけど、ただのスクリプトメモになってしまいます。
スクリプトを書かない人にはどうでも良い情報ですけど、
スクリプトを書く人にはちょっと便利かもしれない:
◆TEMPフォルダの取得
XSIUtils.Environment("TEMP")
これでWindowsのTEMPフォルダではなく、SoftimageのTEMPフォルダを取得が出来ます。
Softimageを閉じる時にこのフォルダが自動的に消えます。
スクリプト内で一時的に何かを吐き出すには便利ですよ。
マニュアルには「システム環境変数に読み取り」しか載っていません。
SDK マニュアル: XSIUtils.Environment
◆Token の使い方
PPGにフォルダパスを入れて、プロジェクトフォルダにPicturesフォルダとか入れると
めちゃくちゃ長いパスになってしまい、PPGには入りきれないですね。
こういう時にトークンを使うと便利です。
[Project Path]
とかですね。
D:\\myara\\Projects\\TopSecret\\The_Project\\SI\\Pictures
なんかより
[Project Path]\\Pictures
の方がスッキリしますね。
同じく、[User]、[Scene] などのトークンもあるので、ユーザー名とか取得する時にも使えますね。
例えば:
// JScript
String_Path = "[project path]" + "\\Pictures"
New_Path = XSIUtils.ResolveTokenString( String_Path , 0, false)
LogMessage ( New_Path )
要するに、この ResolveTokenString は [project path] の部分をプロジェクトパスに変換してくれます。
そして、自分のTokenを作ることも出来ます。
やり方は簡単です。配列を2つ用意して、最後に配列を入れればOKです。
例:
// JScript
var tokenNames = ["c","test"]
var tokenValues = ["C:", "\\THIS IS A TEST"]
NewString = XSIUtils.ResolveTokenString( "[c]" + "[test]", 0, 0, tokenNames, tokenValues)
LogMessage (NewString)
//結果: // INFO : C:\THIS IS A TEST
SDK マニュアル:XSIUtils.ResolveTokenString
※ SDKマニュアルに [Project] は [プロジェクト] とか日本語に翻訳されているけど、Softimage様は日本語が分からないのでこのまま使うと何もでてきません。
ユーザーガイドのトークンとテンプレートにトークンリストが書いてあります。
スポンサーサイト