元記事:blender.org - Python Scripts and API



Python スクリプトと API



大量のスクリプトの追加と更新がされました。また、API も前回のリリースから改良されています。


新スクリプト(一部リスト)


以下は追加されたスクリプトの抜粋です。

Autodesk FBX (Export メニュー)
Mesh Object とその Texface Texture、マルチ UV レイヤ、VertexColor レイヤ、Material、Lamp、Camera のエクスポート。(アニメーション関連の機能はまだ未対応です)。

Cal3D (Export メニュー)
このスクリプトはメンテナンスされていたので復活しました。


Torus (Add → Mesh メニュー)
Radius と Segment オプションを持つ Torus を追加。

Solid Wireframe (Mesh → Scripts メニュー)
このスクリプトは Mesh の Edge を、モデルのコピーのワイヤフレームを作成するのに使用しています。

Unfolder (Mesh → Scripts)
Matthew Chadwick氏による素晴らしい Mesh 展開スクリプト。
詳細はceleriac.net/unfolder/をご覧下さい。

Drop Onto Ground (Object → Scripts メニュー)
Object を地形の上に落とします。落とす Object には Group またはアクティブ Object が選べます。Z 軸もしくはビューの軸のどちらかを使用します。

Find By Data Use (Object → Scripts メニュー)
そのデータにリンクしている Object を見つけます。

Quake 3 (.map) (Export メニュー)
Quake マップエクスポータ。Cube を 'Brushes' として、'Brush'毎の複雑な Mesh の Face と、NURBS Surface を Quake の 'Patch' として、そして Lamp を対応してます。(訳注:あまり自信ありません)

Seams From Islands (UVs → Scripts メニュー)
Seam を現存する UV の島の境界線から作成します。これは既にあるモデルの UV を修正するときに便利です。

Lightmap UVPack (UVs → Scripts メニュー メニュー)
UV 座標をテクスチャスペース内に、空間を無駄に消費することなく詰め込みます。また、新しい Image とUV レイヤを、選択されたモデルごとに作成するオプションもあります。ライトマップをベイクするときに便利です。

Selection to DupliGroup (Object → Scripts メニュー)
選択された一組の Object 群から DupliGroup を作成します。その後、その Group の Object を移動・回転・リサイズすると、グループ全体がそれに従い、移動・回転・リサイズされます。


更新されたスクリプト


このリリースに伴い、多くのスクリプトが更新・改良されました。

Unwrap (smart Projections) (UVCalculation メニュー([U]キー))


xfig export (.fig) (Export メニュー)


Unweld (Mesh → Scripts メニュー)


Motion Capture (.bvh) (Import メニュー)
Bone のオフセットで、Parent の Bone との相対位置が間違って計算されていました。

3D Studio (.3ds) (Export メニュー)
他のアプリケーションでエクスポートした3ds ファイルが開けない問題に関連するエラーを修正。3ds ファイルには名前とファイル名が12バイトだからです。あと、最適化しました。

Lightwave (.lwo) (Import メニュー)


SVG (Import → Paths メニュー)


AC3D (Export メニュー)
AC3D エクスポータを更新、他とは繋がっていない Edge (ライン)の色に、その Mesh に見つかった最初の Material を使用するように。

AC3D (Import メニュー)


Cleanup Meshes (Mesh → Scripts メニュー)
完全に白な VertexColor のレイヤをすべて削除するオプションを追加。これは古い Blend ファイルを読み込んだ時、UV マッピングされたすべての Mesh の持つ VertexColor がたとえ真っ白(以前は Texface が VertexColor のレイヤより先に格納されていたため)であっても、簡単に削除できます。

Object と Mesh スクリプトのテンプレート
(TextWindow の File メニューの "Script Templates")

移動
Mesh → Bridge/Loft/Skin を、[F]キーメニューに移動し、すばやくアクセスできるように。現在は二つの Edge Loop を選択し、[F]を押して "Skin Face/Edge Loop" から実行できます。


API の変更


様々な API に関連する変更。



モジュール毎の変更
[wiki]
''Object''
-ob.action が設定可能に(以前は読み込み専用でした)。
-ob.insertIpoKey(keytype)へ渡す定数の辞書、"Blender.Object.IpoKeyTypes" を追加。以前はこれらの定数はちゃんとドキュメント化されていませんでした。

''Mesh''
-新しいデータ(faces、edges、verts)がすべて選択されるように。
-mesh.transform()の引数のキーワード、"selected_only" を追加。

''Camera''
-Camera.c - Camera に変数 .angle を追加。.lens と同じですが、('D' ボタンのように)Camera の角度を度数で調整できます。

''Mathutils''
-PointInTriangle2D を追加。

''Registry''
-SetKey() に一度に保持し続けていられる数が60までという制限がありました。常に60までしか使用できず、それ以上は保存されていませんでした。

''Library''
-リンクの後の Append で、もう現存するすべてのデータブロックをローカルにしてしまうことがなくなりました。

''Draw''
-Draw.Label を使用し、ユーザの Theme フォントで描画できるように。
-新しいポップアップユーザインタフェイスを追加する方法、 UIBlock。自分でボタンを追加できます。
-ボタンが自身のコールバック関数を持つことができるように。

''PyDrivers''
"self" を Pydriver の辞書に追加、Object を簡単に自身の式内で参照できるようになりました。例えば、ある Object の LocY チャネルに、"self.LocX" と設定することにより、この Object の Y座標の位置をその X軸の位置と強制的に同じにすることができます。(訳注:原文はミスと思われます)
[/wiki]




元記事:blender.org - Python Scripts and API