Wings3DでPythonとSchemeのスクリプティングが可能に!
開発者のメリット:Erlangを未学習のプログラマーでも、自分の知識を活かしてWings3Dの機能を拡張できる。使い勝手の向上に協力できる。
ユーザーのメリット:スクリプトやプログラムを書けない人でも、スクリプトパックでこの拡張機能の恩恵を受けられる。(但し、パス設定やスクリプト環境のインストールなどは必要)
Wings3D はErlangという関数型言語で書かれているため、プラグインはErlangを使って開発する必要があります。
そのため、新しい機能を追加したりするにも、開発環境の準備や言語の習得というハードルがあり、なかなか敷居が高いです。←実際燃え尽きた
そのような状況の中、なんとedb氏がスクリプト対応プラグインを公開してくださいました(2023/04/05)。
Scripting with Scheme and Python
導入するとWings3Dの機能をPythonやScheme言語で拡張できるようになります。Window,Mac,Linuxで動くようです。
実際に動作し役立つスクリプトパックも公開されています。
スクリプトパックに収録されている内容:
- ppm/pgm形式の(例えば32px*32pxのアイコン)カラー画像を頂点カラー付きボクセルとして読込み(この画像形式はKritaが保存できる)
- Sine波による3Dオブジェクトの変形コマンド
- POVrayの三角ポリのRawデータ(.raw)はインポートのみ
- 3DゲームエンジンPanda3D(.egg),IrrlichetのMesh(.irrmesh),GodotのMeshLibray(.tres)のエクスポート
- ハイトマップ画像(.pgm)のエクスポート
- モデリングソフトMilkshape3DとOFF形式はインポート・エクスポート両対応
至れり尽くせりです。
スクリプティングリファレンスのドキュメントも用意されてます。
PythonやSchemeを書ける人口は多いので希望が持てそう。
- GUIの記述も別ファイルになってるため簡単。スクリプトなので、コンパイルしなくてもいい。
- Pythonは手続き型言語なので、変数の代入や関数、条件分岐や繰り返しなど既存の知識を活かした書き方ができる。
- Schemeは関数型言語なので、Erlangに近い処理を期待できる
導入方法
導入するために必要なこと、
- プラグイン本体のインストール(これはWings3Dへ行う)
- OSに、Python,Schemeそれぞれのインタプリタのインストール。(パッケージマネージャでのインストールがおすすめ)
- スクリプトパックのダウンロード(これはHDDに保存)
- Wings3Dでスクリプト対応プラグインの設定画面から、各インタプリタの実行ファイルのパス、スクリプトのあるフォルダのパスを通しておく。
「〜メニューにコマンドを表示させる」を有効にしておいて下さい。
メニューからスクリプトコマンドを選んだ後、インストールされてるコマンド一覧が出るのでそこから実行できます。
インポート・エクスポート、カスタム3Dオブジェクトの新規作成、3D関連のコマンドなどに対応してます
【疑問】Python,Scheme必ず両方入れないといけないのか? → スクリプトパックを利用するなら、両方入れたほうがいいです。
(拡張子見ればわかるけど、どの言語で書かれてるかいちいち確認するのが面倒なため)
【もっと詳しい情報を知りたい】
Windows環境の場合は、edb氏が書かれたこちらを→Scripting with Scheme and Python
Mac環境の場合は、スクリプト対応環境の構築や、設定の仕方を調べたの情報をフォーラムに上げました。
[MacOS] How to get ready Wings3D Scripting Plug-ins
設定と準備
このプラグインをWings3Dにインストールすると、メニューのEdit>Prlug-in Preferences 以下にScript Preferenceという項目が追加されます。
ここで行う設定のポイントは2つ
- 各スクリプトが入っているフォルダパスを指定する
- PythonとSchemeスクリプト環境の実行ファイルのパスを指定する
スクリプトパックを任意の場所に解凍してフォルダのパスを指定して下さい。
注意すべきポイントは以下の通り
- 設定ダイアログで、Shape,Command,Import/Exprotそれぞれのプラグインがあるフォルダを正しく指定する。
- 複数行テキストで書いたファイルパスをテキスト欄にコピーペーストすることで、一括指定ができる。
- あと、EnableScript〜のチェックボックスのチェックも忘れずにしておく。
- インタープリターのパスは、シンボリックリンクファイルの指定が効きません。フルパスでお願いします。
使い方
設定ダイアログで、プラグインがあるフォルダを正しく指定していればSelectScriptのダイアログにも表示される
ここではWavyTranslateという効果を指定
うまく効果がかかった。
書いた人:tkbd