トップ  >  2. Blender翻訳文書(リリースノート以外)  >  Blender2.34にバンドルされているスクリプト
元記事(メンテナンス: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の関数の使用法は、インタフェイスへの更なる統合のためです。


重要な注意

よくテストされたコードでさえ、まだ皆さんの期待通りに動作しないことがあります。バグの可能性がありますが、また、そのスクリプトの使用において知っておく必要があることをあなたが知らなかった、もしくは機能に制限がある、まだ早期・不完全バージョンだった、ということが原因で起こることもあります。それがなんであれ、お勧めする手順はこれです。
  • メニューの項目のtooltipを読み、もし可能なら、スクリプトのグラフィカルユーザインタフェイス(GUI)の情報を参照して下さい。

  • スクリプトファイル自身をテキストエディタ(例えばBlenderのTextWindow)で開くと、多くの場合、そこに作者が重要なコメントを調整できるオプションと共に書いています。

  • オンライン検索やBlender.orgもしくはElysiun.comのScript forumを検索してみて下さい。

  • そのスクリプトファイルに、作者のemailアドレスもしくはサイトへのリンクがサポートのためにあるかもしれません。

  • すべてだめだったら、上記にあげたフォーラムの一つへ質問を投稿して下さい。


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

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


2.34のスクリプト

- ImportとExport

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

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

更新と追加:
  • LightWave、Nendo、Off、Radiosity、Raw Triangle、TrueSpace、Wings 3dのインポータとエクスポータ、そしてVideoScapeの書き出し、vertex colorのエクスポートとPro Engineerのインポート、すべてAnthony D'Agostino(Scorpius)氏作。

  • Cal3Dエクスポータ、Jean-Baptiste Lamy(Jiba)氏がオリジナルの作者で、後の改良を Chris Montijin氏、現在はDamien McGinnes氏が行っています。

  • DirectXとDirectX8エクスポータ、Arben(Ben)Omari氏作。

  • Motion CaptureとWavefront OBJインポートとエクスポート、Campbell Barton(Ideasman)作―Jiri Hnidek氏がOBJに寄与しました。

  • 実験的なパスのインポート:.ai、.eps、.ps、.svg(パスのみ)、Gimp 1.0―1.2.5/2.0をJean-Michel Soler(jms)氏が作成。

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を使用)。
  • AI (.ai):
    Photoshopファイルでは動作しています(PS4.0で確認)。Illustratorではまだ少しエラーがあるものの、コンパクトでない"PDF互換ファイル"(これらはexportオプションで設定可能)で動作可能です。基本的なコマンドのみ実装されています。最後に、MACの Illustratorからのファイルは現在は動作しませんが、これは将来のリリースで解決される予定です。

  • PS (.eps/.ps):
    Inkscapeがエクスポートしたファイルに対する動作は良好ですが、Illustrator 10のものはまだ動作しません。基本的なコマンドは実装済ですが、バインディングなどはまだです。

  • SVG (.svg とすべての拡張子もしくは拡張子なしのGimp 2.0のパス):
    Gimp2.0とInkscapeのエクスポート(パスオブジェクトのみサポート)については完璧でしょう。Illustrator 10についてはまだ不十分ながら、ファイルの読み込みとパスオブジェクトのフォーマットの一部はすでに理解できます。svgマニアの人のために:M、Z、L、C、l、cコマンドはすでにパース済ですが、A、S、V、H、Q、T、a、s、m、v、h、q、tコマンドについては後日追加する予定です。

  • Gimp 1.0 - 1.2.5:
    完全にインポートします。ただしこれはパスインポータであることに注意して下さい。Gimpではパスをレイヤ、チャネル、パスウィンドウ、パスタブから、例えば選択されたパスの上で右クリックし、"エクスポート"を選択することでエクスポートできます。


- Help、Websites、System、Misc

最初の3つはHelpメニューから利用できます。
  • Jean-Michel Soler氏は"Hotkeys Reference"スクリプトを寄稿して下さいました。

  • MiscはDaniel Dunbar(Zr)氏の古き良き"Doc Browser"があります。スクリプトプログラマ達に便利なリファレンスです。

  • Systemには現在、シンプルなスクリプト "System Information"がひとつあります。これは問題の診断、特にPythonに関するものを分析するのに役立ついくつかのテストを行います。

  • Matt Ebb(broken)氏はPythonモジュールwebbrowser.pyを使用し、ユーザのデフォルトのWebブラウザで選択された目的のサイトを開くスクリプトを追加されました。
    提案:もし他の好きなリンクを追加したい場合、単にこれらのスクリプト(訳注:help_〜.pyのもの)の一つをコピーし、ファイルネームとその内容、NameフィールドとURLを変更(訳注:最後の行の、webbrowser.open('〜')の〜の部分に完全なURLを記述)を変更して下さい。unixベースのシステムではシステム変数のBROWSER(bashでのサンプル:export BROWSER="browser %s"、browserの部分は選んだプログラム)の設定により、どのブラウザで開くかをコントロールできます。


- Mesh

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

  • "Bevel Center": Loic Berthe氏作。選択されたVertexのベベル ― ベベルのThickness(厚み)をベベル確定後、さらにスライダで変更できることに注意して下さい。

  • "Knife Tool": Stefano Selleri(S68)氏とWim Van Hoydonck氏作。選択されたMeshをアクティブ(明るいピンク)のPlane Meshでカットします。

  • 以下二つはCampbell Barton氏作です。

    • "Cleanup Meshes": Meshを単純・クリーンにするオプションを持ちます。

    • "Skin Two Vert-loops / Loft Multiple": 選んだ方法に従い、二つ以上の選択されたVertexループを繋げるためFaceを作成します ― Tips: もし最初の結果が予想と違っていた場合、Undo後、違う方法で試して下さい。

  • 以下二つはJean-Michel Soler氏作です。

    • "Dispaint": MeshのVertex Colorを元に、Normalの方向にVertexを隆起(ディスプレイスメント)します。

    • "Fix From Armature": Armatureで変形されたMeshの変形確定後のコピーを作成します。

    • "Rvk1 To Rvk2": アクティブなMeshの変形データ(SubSurf以外)を二つ目に選択したMeshのRelative Vertex Keyにコピーします。

    • "Unweld": 選択されたVertex(またはまっすぐなVertex1つのベベル)に繋がっているFaceを分離するオプションを開きます。



- Object

また、3DViewのObjectメニューにもScriptsサブメニューがあり、現在は繰り返しの多い作業を自動的に行うためのツールがあります。スクリプトによりもたらされる恩恵の一つです。
  • "Axis Orientation Copy": A Vanpoucke(xand)氏作。アクティブなObjectの回転を他の選択されたObjectすべてにコピーします。例として、ObjectやArmatureの整列に便利です。

  • "Batch Object Name Edit": Campbell Barton氏作。一度にすべての選択されたObjectの名前を、先頭もしくは後尾の切り詰め、接頭辞や接尾辞の追加、変更するテキストでのリネームをします。

  • 以下二つはJean-Michel Soler氏作です。

    • "Data Copier": 可能なら、アクティブObjectのデータを他の選択されたObjectへコピーします。

    • "Object Name Editor": リネームオプションのGUIを開きます。


- UV

このグループのスクリプトはUV/Image EditorのUVsメニューから直接呼び出せます。ここにもいいツールがあります。
  • "Select Same Faces": Campbell Barton氏作。アクティブなFaceを元に、多くの選択オプションをサブメニューとして開きます ― これは2.35でより適当なメニュー、おそらくFace Selectionに移動することになるでしょう。

  • "Save UV Face Layout": Martin Poirier氏作。アクティブなObjectのUV Faceのレイアウトを.tga画像ファイルでエクスポートします(tga関数はjms氏より、更新はZaz氏)。

  • 以下二つはJean-Michel Soler氏作です。

    • "UVpainter": Vertex Colorを使用し、UVマップを塗りつぶします。

    • "Texture Baker": (これも非常に最近です)プロシージャルテクスチャを.pngのUVマップ画像としてエクスポートします。Martin Poirier氏のアイデアを元にしています。


- 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を非常にいいリリースにしました。



もし間違いやクレジット、情報の記載忘れなどありましたら、教えていただければ嬉しいです。
プリンタ用画面
友達に伝える
投票数:18 平均点:10.00
カテゴリートップ
2. Blender翻訳文書(リリースノート以外)
次
Blenderレイトレーサについて

ログイン

ユーザ名:

パスワード:



パスワード紛失

クイックリンク

2021/07/01版
●Blender.org
BlenderFoundation
- Blenderのダウンロード
- 公式チュート等
- 公式マニュアル(和訳)

●ニュース(英文)
BlenderNation

●Blenderコミュニティ
blenderartists.org

●Blender Q&A
- Blender Stack Exchange

●テストビルド
Buildbot(自動生成)


●開発関連
公式開発サイト
Blender開発blog
Blender Wiki