元記事(メンテナンス:Compman氏)

Python



Blender2.34にバンドルされているスクリプト



ほとんどの皆さんがすでにご存知のとおり、Blenderには組み込みのPythonインタプリタがあり、この言語で書かれたスクリプトを走らせることができます。これらスクリプトはBlender Python(bpython)APIを使用し、プログラム内部へのアクセスと、Blenderの機能の素晴らしい拡張ができます。

このページで、ユーザは多くのスクリプトについて知り、ダウンロードを行うことができます。その他にも、スクリプト作者は大抵、彼らの作品のアナウンスと議論をblender.orgのScripting Forum(API開発)と、特別にElysiun.com(ユーザ用)で行っています。

スクリプトをBlenderとともに正式に公開する前に、いくつか解決しなければならない、重要な問題がありました。一つはインタフェイスへの統合です。これは最初のテストとして、2.32と2.33ですでにimportとexportスクリプトで実験済みでした。

次の制限は付属するスクリプトが'os'や'math'といった、重要なPythonモジュール(コードライブラリ)を使用できないことでした。なぜなら、モジュールへの依存のため、他に完全なPythonのインストールを、いくつかもしくはすべてのサポートするプラットフォームに要求していたからです。Windows版の新しいリリースではもっとも重要な、内蔵されていないモジュールを別の圧縮パッケージとして用意しています。
他のすべてのプラットフォームではPythonは基本的にはデフォルトのシステムコンポーネントとしてすでにあると考えられているため、現在では完全なPythonのインストールをする必要なく、多くのモジュールが利用可能になっています。

おかげさまで、Blender2.34は多くの拡張スクリプトを搭載することができました。そしてこれは本当のテストの始まりにすぎません。バンドルは新旧、簡単なものも複雑なものも混ざっています。時間とユーザからのフィードバックにより、私たちは更新ができます。下記の基本的なガイドラインと新しいBpythonの関数の使用法は、インタフェイスへの更なる統合のためです。


重要な注意

よくテストされたコードでさえ、まだ皆さんの期待通りに動作しないことがあります。バグの可能性がありますが、また、そのスクリプトの使用において知っておく必要があることをあなたが知らなかった、もしくは機能に制限がある、まだ早期・不完全バージョンだった、ということが原因で起こることもあります。それがなんであれ、お勧めする手順はこれです。


2.34には更新と追加のほとんどの作業をbpythonメーリングリストで受けた要望に費やしています。これは経験の獲得と将来リリースされるバンドルスクリプトのサポートと拡張において、広範囲かつ更に組織化された方法を見つけ出すための、必要なステップなのです。

スクリプトのドキュメントへのアクセス方法の改善は、まもなく実装される予定の追加の一つです。


2.34のスクリプト

- ImportとExport

File→Import と File→Export メニューは、私たちがスクリプトをどれだけ手に入れられるかを示す最初の見本です。

このオプションはBlenderが内部でサポートしている小数の「ハードコード」された物に比べ、簡単に爆発的増加をとげています。もしあなたが求めているものがここになかった場合、他にも多くの物が利用できることを記しておきます。スクリプトダウンロードページ、Forum、オンライン検索で探してみて下さい。

更新と追加:

VRML2エクスポート、Rick Kimball氏(Ken Miller氏とSteve Matthews氏の協力)とAC3Dのような、すでに利用できるオプションもまだあります。Chris Want氏はSTLのインポートと、Cプログラムへの直接のエクスポートを追加しました。新旧のコンバータに加え、ハードコードされたものを加えると、Blender2.34は19のインポータと19のエクスポータを持つようになりました。

パスのインポートは最終段階で追加され、2.34公開後に改良される予定なため、Forumで更新のチェックを忘れないで下さい。これらはすでに便利ですが、早期バージョンについてはここでより多くの情報を得られるでしょう。Jms氏は実装についてのいくつかの注意と現在の下記の制限事項の説明を作成されました。

このスクリプトは最初にそれぞれのパスのフォーマットをGEO/Videoscapeの.objに変換し、その後それをBlenderに直接読み込みます(新しいbpython関数、Blender.Loadを使用)。


- Help、Websites、System、Misc

最初の3つはHelpメニューから利用できます。


- Mesh

MeshメニューはMeshのEditMode中に3DViewのMeshメニューの"Scripts"サブメニューでも素晴らしいツールを利用できるようになりました。PythonプログラマはアクティブなMeshを変形するスクリプトのために必要になったとき、bpythonリファレンスドキュメントのWindow.EditMode()関数についての情報をみて下さい。下記のスクリプトは使用のために(必要な時に)更新されており、恩恵の一つとして、ひとつのアクティブなMeshへの変更をショートカットの[U]キーで内部ツールの操作のように、Undoすることができます。


- Object

また、3DViewのObjectメニューにもScriptsサブメニューがあり、現在は繰り返しの多い作業を自動的に行うためのツールがあります。スクリプトによりもたらされる恩恵の一つです。


- UV

このグループのスクリプトはUV/Image EditorのUVsメニューから直接呼び出せます。ここにもいいツールがあります。


- Wizards

このメニューは現在はScriptsWindowのみにあり、そのGUI用によりスペースが必要だと思われ、他の一つのカテゴリに定義できない、より複雑なbpythonプラグインのための場所です。

2.34でBlenderとともにリリースされたWizardは、Carlos Lopez(klopez)氏のKloputilsのみで、非常に便利なObjectのコピー、整列、操作を行うツールです。Carlos氏はこのスクリプトで何ができるか実演するヘルプドキュメントを英語とスペイン語でかかれており、Elysiun.comのPython and Plugins forumのスレッドもしくはオンライン検索で見つけることができます。

elysiun.com scripting forums:
繰り返しますが、付属のスクリプトは非常にいいのですが、オンライン上で利用できるの小さな断片はまだあります。多くの便利なスクリプトが公開されており、非常に印象的な物もあります。常にスクリプトのダウンロードページとこのForumが、スクリプトを探し出すための場所として推奨されます。


終わりに…

スクリプトで遊んでみたら、さらにオンラインを探索したり、小さなbpythonスクリプトをあなたの手で書いてみて下さい! 新しいリファレンスガイドがDocumentation セクションにあります。しかし最初は…。



すべてのスクリプトの作者の方々の寄与と、ハードワーク、サポートに感謝します。実際、あなた方がBlender2.34を非常にいいリリースにしました。



もし間違いやクレジット、情報の記載忘れなどありましたら、教えていただければ嬉しいです。