myara CG blog

CG Design Blog. Thoughts, experiments and experiences.

SI | Script Editor の Syntax Help をカスタマイズしよう!

スクリプトを書く時に

for ( var i=0; i< selection.count ; i++){

とか書くのは面倒臭いよね!

スクリプトエディターに右クリックするとメニューが出てきます。
そこに Syntax Help にカソルを置くと色々な便利なショートカットが出てきます。
for loop とかここから楽に出せます。

しかし、右クリックして、Syntax Helpを探して、更にfor loop を探すのも面倒臭い。

それにデフォルトのfor loop syntax は

for ( var i = 0 /*firstnumber*/ ; i < 10 /*lastnum + 1*/ ; i++ )"
{
//Use i
}



となるから /*firstnumber*/ と /*lastnum + 1*/ を消すのも面倒臭い。

もう面倒くさいことばっかで普通に打ったほうが速いかもしれない。


先日書いたスクリプトでキーボード入力記事の作り方で自分のfor loopを作ってみようと思っていました。

でも作る前に、何かないか調べてみることにしました。

ググっても何も見つからんかった。

ん~書くのもダルいし・・・

あのSyntax Helpのカスタマイズが出来ないのかな・・・

もしかしてこのSyntax Helpはスクリプト系になってるんじゃないかと思って、

Softimageのフォルダを開いて色々探してみました。

すると・・・

なんと!

あったぜ!

JScript だ!

File:
ScriptEditorActions.js

Path :
C:\Program Files\Autodesk\Softimage 2011 SP2\Addons\sdkui\Application\Plugins

scripteditor1.jpg


読み取り専用ファイルなので、解除してから好きなエディターで開いてみましょう。

これを開いて読んでみるとすぐ分かると思います:

上のメニュー(Comment Removeまで) は : function TopLevelTools_Init(ctxt)

SyntaxHelpのメニューは : function SyntaxHelp_Init( ctxt )

そして、そこからスクリプト言語で分けられています。
         function JScriptSyntaxHelper()
         function VBScriptSyntaxHelper()
         function PythonSyntaxHelper()

などなど

なんか、これ以上説明するのも面倒だし、あなたが何をやりたいのかも分からないから、
自分でやってみてください。

Script 基本レベルの知識があれば十分分かると思います。

俺は JScript の for loop と Collection と LogMessage を修正して、

上のメニューにも出るようにしました(これはVBS, Pythonにも出ます)
一番使うやつだからな。
if と for ぐらいしか分からないし。


参考になるかもしれないのでここからダウンロードが出来ます。

scripteditor2.jpg

For Loop J というファンクションも追加しました。これは:

JScript  : for (var j=0 ・・・ のループ(i の変わりに j )
VBScript : for each item in Coll のループ
Python : For Loop と同じです。

いじった所に //--- myara 等というコメントを入れたのでどこいじったか調べたいときにファイルの中に  myara で検索すれば良い。

これはSoftimage 2011 SP2を基にしたファイルになります。

2012にも対応してるかどうかは分かりません。

一応、ファイルの中に:

// Copyright 2008 Autodesk, Inc. All rights reserved.


と書いてあるので全く更新されてないと思われるので2010とかにも使える可能性大。

そしてSoftimageだから多分2012も更新されていないでしょう。
実際にSI 2012まだ触っていないけど。


追記:
Workgroupを使うと、Workgroupの方が優先されるので、Workgroup のPluginフォルダにこのJSファイルを入れておけばSoftimageの元のファイルを編集せずにカスタマイズが出来ます。