元記事:Release Notes/Notes243/Python API



Python API


[wiki]
***いろいろ
-UV Image メニューに Python スクリプトを追加できるように("Image")。
-UV の "UVCalculate" メニューに Python スクリプトを追加できるように。
-Blender.Get('icondir') - アイコンディレクトリを返します。


***Blender.Mathutils
-(vectors)- 3D Vector と 4x4 Matrix の積を Translation 要素に適用できるように(もう Vector を4Dにリサイズする必要がなくなりました)。
-(vectors) 再び Vector を float 値で割ることができるように。
-(vectors) - vector.negate() メソッドの廃止撤回。"-vector" が、元々の Vector を変更しないように。
-(vectors) - vector.length がセット可能に - Vector を好きな長さにできます。
-(matrix,vector,euler,quat) - 現存の RotationMatrix()にとって代わる copy() メソッドを追加。360度より上の値も使用可能に。


***Blender.Mesh
-Mesh から追加された Face の色のデフォルトが白に(以前は黒)。
-Mesh データが texMesh アトリビュートを持つように。
-getFromObject に オプションの引数、'render' を追加。取得する Mesh を、3DView 内に表示されている物か、レンダリング設定により生成される物かを選択できます。
-Mesh の verts、faces、face.verts のネストしてるループが予想どおりに動作するように(以前はお互いに衝突していました)。
-メソッド .key、.removeAllKeys()、.insertKey()を追加。
-Face の色へのアクセスと似たリストを追加。col[0]は col.r と同じです。
-mesh.getFromObject() が Object 名だけでなく、Python オブジェクトも受け取れるように。
-Sharp Edge フラグへのアクセスを追加。
-edge.key と face.edge_keys を Edge と Face データに追加。Mesh の UV Face の画像を、"del f.image" もしくは "f.image = None" で、削除・クリアできるように。
-Mesh.faces.extend()用の新しいキーワードパラメータ:
--ignoreDups: 入力されたリスト内の Face や、存在する Mesh の Face の複製時のチェックをしないようにします。新しい Mesh を作成する際、Face がユニークであることが判っている時用です。
--indexList: このメソッドが、新しい Face のインデックスのリストを返すようにします。Color など他のアトリビュートを追加するため、新しい Face のインデックスを使用できます。もし、複製された Face が作成された場合、None がリストスロットに入ります。
--二つの Verts もしくは複製された Verts による Face を、入力リストの中に入れることができるように(ただし、まだ Mesh には追加されません)。indexList オプションでは、これらの場合、None を返します。破棄されたすべての Face について、無視をしても None を返すのが目的です。
-multires の変数を Mesh データに追加。multires、multiresLevelCount、multiresDrawLevel、multiresEdgeLevel、multiresPinLevel、multiresRenderLevel(まだ multires データの追加や削除はできません)。
-UV と VCol レイヤへのインタフェイスを追加:getColorLayerNames()、getUVLayerNames()、addColorLayer(name)、addUVLayer(name)、removeColorLayer(name)、removeUVLayer(name)、renameColorLayer(name, newname)、renameUVLayer(name, newname)、そしてアトリビュートの activeColorLayer と activeUVLayer です。


***Blender.Text3d
-Text3d.Font.New() を Text3d.Font.Load() にリネーム。New が Load のような動作をしていたからです。
-Blender.Text3d.Font.Get() が、単に Text3d.Font.New()を呼び出していただけだったため、名前から取得もしくはすべてのフォントのリストを返すようにしました。
-(font data) - 'name' から 'filename' にリネーム、フォント名へのアクセスを追加。


***Blender.Sound
-(sound data) setName()と setFilename() を追加、filename アトリビュートを書き込み可能に。


***Blender.Object
-(object data) - "passIndex" と "game_properties"、"getType()" の代わりに使用可能な "type" アトリビュートを追加。
-(object data) - added a "passIndex", "game_properties" and "type" attribute, can be used instead of "getType()"
-(object data) - Collada エクスポータ用の読み込み専用 Object プロパティ、ob.parentType と、定数辞書の Blender.Object.ParentTypes を追加。
-(object data) - Outliner 内で設定される restrictDraw/Select/Render アトリビュートを追加。
-(object data) - rbHalfExtents をうっかり間違え rbShapeBoundType という名前にしていました。
-(object data) - PythonAPI から DupFaces を ON/OFF できるように。
-(object data) - ob_arm.makeParentBone([ob1, ob2...], bonename) を追加、ob.parentbonename もすでに Bone に Parent されていれば設定可能になりました。
-(object data) - ob.activeMaterial を追加、ある Object のアクティブな Material を get/set できます。


***Blender.Effect
-(particle の取得) - Strand を Vector のリストとして取得できるように。他にも改良されています。詳細は[[ドキュメント:http://www.blender.org/documentation/244PythonDoc/Effect.Effect-class.html#getParticlesLoc]]をご覧ください。(訳注:不明なのでとりあえずリファレンスへのリンクにしておきます)
-(effect attribute) - データアクセス用の "disp" と "staticStep" を追加。


***Blender Data アトリビュート
''(Data Browser で library データとして表示される物)''
-__copy__()メソッドを次のデータタイプに追加。Armature、Object、Mesh、Material、Metaball、Lattice、Lamp、Curve、Group、Camera、World (Texture、NLA、IPOs はまだ)。データのコピーが返ります。
-"fakeUser" アトリビュートを次のデータタイプに追加。Armature、Object、Mesh、Material、Metaball、Group、Camera。
-いろんな Python タイプに比較関数を追加、== と =! を使用できます。Armature, Constraint, Curve, Font, Group, Image, Ipo, IpoCurve, Key, Lamp, Lattice, Material, Mesh, NLA, Object, Pose, Scene, Sound, Text and World.
-IDproperties をほとんどの libdata に追加。Blender の libdata に 自由にプロパティデータを適用できます。


***Blender.Material
-(material data) - Material の "lightGroup" と "shadAlpha" アトリビュートにアクセスできるように。
-(material data) - tangent_v と、tangent space モードを Python Material モードに追加。
-(material data) - group_exclusive フラグを追加。


***Blender.Curve
-(curve point) - Curve に "radius" アトリビュートへのアクセスと、.materials へのアクセスを追加。
-(curve Nurb) - curNurb.switchDirection()メソッドを追加。
-Surface データ(SurbNurb タイプ)へのアクセス用の新しい API。


***Blender.Constraint
-(新しい Constraint) - 新しい loc/rot/size limit、6DOF、rigidbody Constraint 用の Python アクセスを追加。(訳注:[[Pose モジュールが混じっているような:http://www.blender.org/documentation/244PythonDoc/Pose.PoseBone-class.html]])


***Blender.Camera
-camera.dofDist アトリビュートを追加。


***Blender.Modifiers
-Modifiers に忘れられていた設定(Render/Cage/Editmode)を追加。
-Python API から モディファイアのコピーを可能に。ob1.modifiers = ob2.modifiers
-EdgeSplit モディファイアの追加と調整をサポートするように。
-Modifier.Type から Modifier.Types に名前を変更(旧名は互換性保持用)。


***Blender.Armature
-bone のアトリビュートに tipRadius と headRadius を追加。


***Blender.Scene
-Scene データ用の新しいイテレータタイプ、"objects"。メソッドとして .new()、.link()、.unlink()を、アトリビュートとして .active、.context、.selected を持ちます。詳しくは [[Scene のドキュメント:http://www.blender.org/documentation/244PythonDoc/Scene-module.html]]をご覧下さい。


***Blender.Scene (renderdata)
-renderdata.threads が1から8までに。
-boolean 型の get/setter、 'compositor'、'freeImages'、'singleLayer'、'saveBuffers'、'compositeFree' を追加。


***Blender.Window
-Blender.Window.windowTheme - iconTheme と sharp_edge color へアクセスできるように。
-Window.Types 辞書に Node space を追加。


***Blender.NLA
-Object API に NLA アニメーションとアクティブな Action のアニメーションのどちらかを選択できるフラグを追加。Object.enableNLAOverride=True で NLA を使用します。Object.enableNLAOverride=False でアクティブな Action を使用します。
-groupTarget の get/setters を NLA API に追加。Object を一つ引数に取り、Object を一つ返します。groupTarget はアニメーションシステムに、どの Dupligroup を持った Object を NLA に使用するべきかを知らせます。NLA の[N]キーパネルの "target" フィールドを埋めるのに相当します。


***Blender.Pose
-(posebone) - Bone の Pose用の .sel と、リードオンリーの .parent プロパティを追加。
-(posebone) - カスタム Bone の取得・設定用の pose_bone.displayObject を追加。


***Blender.Image
-img.makeCurrent()と img.has_data を追加。Image にピクセル情報がある場合、見る事ができるように。
-img.fields、img.fields_odd、img.antialias を追加。


***Blender.Metaballs
-API リライト - 多くの変更が行われました…。
--getsetattrs に賛同し、get/set を削除。
--イテレータ要素を Metaball データタイプに追加。
--Vector と Quat を位置や回転として受け取れるように。


***Blender.Library
-Blender.Library にデータに 'link' するオプションを追加。
-Blender.Library が相対パスのライブラリの読み込みに対応するように。// で始まるパスが、現存の blend ファイルのパスと相対パスで読み込むことを意味します。


***Blender.Geometry
-Blender.Geometry.LineIntersect2D(v1,v2,v3,v4)関数を追加。


***Blender.Lattice
-lattice.applyDeform()を削除。


***Blender.Group
-(group data) group.layers ビットフィールドを追加。
-(group data) scene.objcts と合わせるため、grp.append() と grp.remove()を廃止し、.link() and .unlink()で置き換え。


***Blender.Draw
-Draw.BeginAlign()、Draw.EndAlign()を追加。Python スクリプトからボタンの並びをコントロールできます。
-Draw.Normal()を追加。Normal を回転する球型ボタン用で、ColorPicker のコードと書式がほぼ同じです。


***Blender.IpoCurve
-ipoCurve.driverExpression を追加。PyDriver の式の文字列を get/set します。
[/wiki]


元記事:Release Notes/Notes243/Python API
このページは 22:49, 2 March 2007版を元にしています。