スクリプトを書いてみました。

またまた更新が滞っていました。。
ロボハンドも少しづつ更新はしているんですが、なかなかBlogにアップする気力が
でなかったりとか。。ダメですね。

今回は、久しぶりの記事なので、すこし内容のあるもの(?)を目指してみました。

以前からBlenderを使っていて思っていたことがありました。
それは、スクリプトの実行方法です。

いろいろなスクリプトが用意されているんですが、実行させるときにメニューから
選ばないといけませんよね。。スクリプトのメニューは項目もたくさんあるし、
3階層くらいあるから余計に面倒に感じてしまいます。

モデリングの操作などは、ショートカットのおかげでサクサク操作できるだけに
ちょっと残念に思っていました。

今回作ったのは、単純なスクリプトなので、それほど効果はないかもしれませんが、
使ってみると、そこそこ快適でした。

スクリプトの機能は、

「お気に入りのスクリプトを登録しておいて、ボタンクリックで実行!」

というものです。

スクリプトを起動させると、こんな感じになります。

恥ずかしいくらい何もないです。。。

例にスクリプトを追加します。
ADDボタンをクリックすると、Blenderで標準のファイル選択画面になり、
そこで登録したいスクリプトを選択します。

登録するとこんな感じになります。

ラベルがスクリプトファイル名(.pyを除いたファイル名)のボタンが表示されます。
登録されているスクリプトを実行するには、ボタンをクリックするだけです。

ためしに、実行してみます。
上の画面でobj_switch_drawtypeというスクリプト(自作)のボタンを
押してみます。このスクリプトは、現在選択されている複数のオブジェクトの
描画タイプ(BOUNDBOX, WIRE, SOLID, SHADED)を変換する単純な
スクリプトです。

ボタンを押すとこんな感じになります。


登録したスクリプトを削除するには、
削除したいスクリプトボタンの左側にある"X"と書かれているトグルボタンを
ONにしておいてDELボタンを押します。
"Tx"と書かれたトグルボタンは、Toggle Xの略(略しすぎだし、意味も伝わらないかも。。)
で、全てのToggleボタンの状態を一気に変更したいときに使います。

登録できるスクリプトの数は50個なのですが、
なるべく場所をとらないようにしたかったので、
一度に表示できるスクリプトボタンの数は5個にしてあります。

5個以上のスクリプトを登録すると、UP, DOWNと書かれたボタンが出現し、
5個づつ次々と表示を切り替えていくようになっています。
(このあたりは、もう少し工夫できそうです)

いったん登録したスクリプトが、Blenderを終了させるたびに
消えてしまったのでは悲しすぎるので、BlenderのRegistryと呼ばれる
場所に書き込むようにしました。(Windowsレジストリとは無関係です)

登録スクリプト数を50個にしたのも、レジストリに保持させておく辞書の
素数が60までという制約のためです。

上記のスクリプトは、後ほど「ポケット倉庫@Wiki」に置いておきます。

●PS.
わたしの環境はLinuxなので、Windowsではまだ動作が確認できていません。
たぶん問題はないと思いますが。。もしWindowsで使っていただけた方がいらっしゃいましたら
動いたかどうか教えていただけるとうれしいです。

●補足
LinuxBlenderの場合、登録したはずのスクリプトBlenderを終了させてしまうと
忘れられてしまう場合があります。
その場合には、Registryディレクトリのパーミッション
書き込み禁止になっていないかどうか確認してみてください。
Registryディレクトリの場所は、Blenderのscripts/bpydata/config/です。

わたしの環境では
/usr/share/blender/scripts/bpydata/config/kn_script_palette.cfg
となっています