アーマチュア

参考:

Armature | Blender Python API [Official]

ボーンを編集する (edit_bones)

スクリプトを使用してボーンの構造を編集する場合は、アーマチュアデータが持つ編集ボーンコレクションを用いる。

bpy.ops.object.mode_set(mode='EDIT')
bones = bpy.data.objects["Armature"].data.edit_bones

edit_bones のアクセスはアーマチュア編集モードでのみ可能である。

参考:

bpy.types.Armature.edit_bones | Blender Python API [Official]

EditBone | Blender Python API [Official]

ArmatureEditBones | Blender Python API [Official]

How can I select a bone by name using python in blender 2.8 – Blender Stack Exchange

ボーンを追加する

dest = bpy.data.objects["Armature"]
bpy.ops.object.mode_set(mode='EDIT')
new_bone = dest.data.edit_bones.new("New Bone")
new_bone.head = (0, 0, 0)
new_bone.tail = (0, 0, 1)

参考:

ボーンアクセスチートシート | dskjal

既存ボーンにスクリプトで補助ボーンを生やしてみる – Qiita

bpy.types.Armature.edit_bones | Blender Python API [Official]

bpy.types.ArmatureEditBones.new | Blender Python API [Official]

bpy.types.ArmatureEditBones.remove | Blender Python API [Official]

Add new bones to armature? – Blender Developer Talk

アーマチュアボーン (ArmatureBones)

アーマチュアがデータとして持つボーンを扱う。

参考:

bpy.types.Armature.bones | Blender Python API [Official]

ArmatureBones | Blender Python API [Official]

Bone | Blender Python API [Official]

bpy.types.ArmatureBones.active | Blender Python API [Official]

Python Script to Rename Bones in Armature – Blender Stack Exchange

Set active bone in pose mode from Python script – Blender Stack Exchange

ポーズボーン (PoseBone)

アーマチュアのポーズを設定・編集するために、ボーズモードでボーンを扱う。

ポーズボーンにアクセスするには、アーマチュアオブジェクトのポーズデータが持つボーンコレクションを使用する。

pose_bones = bpy.data.objects["Armature"].pose.bones

参考:

PoseBone | Blender Python API [Official]

bpy.types.Pose.bones | Blender Python API [Official]

bpy.types.Object.pose | Blender Python API [Official]

How to get an armature by name in Python and get access to its bones? – Blender Stack Exchange

ポーズを操作する

クリア

参考:

Pose Operators | Blender Python API [Official]

アーマチュアデータ

オブジェクト名でアクセスする。

arma = bpy.data.objects["Armature"].data

データ名でアクセスする。

arma = bpy.data.armatures["Armature_Data"]

参考:

bpy.types.Object.data | Blender Python API [Official]

bpy.types.BlendData.armatures | Blender Python API [Official]

Data Access (bpy.data) | Blender Python API [Official]

Armature | Blender Python API [Official]

How to get an armature by name in Python and get access to its bones? – Blender Stack Exchange

アーマチュアデータの名前を変更する

参考:

How to synch armature name with object name? – Blender Artists Community

コンストレイントを追加する

参考:

bpy.ops.pose.constraint_add | Blender Python API [Official]

bpy.ops.pose.constraint_add_with_targets | Blender Python API [Official]

bpy.types.PoseBoneConstraints.new | Blender Python API [Official]

bpy.types.PoseBone.constraints | Blender Python API [Official]

Constraint | Blender Python API [Official]

PoseBoneConstraints | Blender Python API [Official]

every pose bone add a constraint not working – Stack Overflow

loop to attach empty to each bone in Armature – Blender Stack Exchange

コンストレイントを操作する

参考:

Pose Operators | Blender Python API [Official]

ペアレントを設定/変更/解消する

参考:

bpy.types.EditBone.parent | Blender Python API [Official]

ボーングループ (BoneGroup)

参考:

BoneGroup | Blender Python API [Official]

BoneGroups | Blender Python API [Official]

bpy.types.PoseBone.bone_group | Blender Python API [Official]

bpy.types.Pose.bone_groups | Blender Python API [Official]

ボーンをツリー形式で表示する

参考:

ボーンを階層表示するサンプルスクリプト | 忘却まとめ

データ構造

参考:

ボーンのデータ構造 (nikogoli.github.io)

ボーンからメッシュを生成する

参考:

ボーンからメッシュ形状を作成するアドオン | Blender とかとか

アーマチュアのスケールを変更する

参考:

Modifying FCurve values on armature bones via python – Blender Stack Exchange

How do I resize an armature without ruining its poses? – Blender Stack Exchange

update_from_editmode

編集モードに入る時にメッシュのスナップショットが取られ、編集モードを抜ける時に編集の結果が書き戻される。編集モード内で編集の状態をメッシュデータに反映させたい場合には、update_from_editmode を実行する。

参考:

bpy.types.Object.update_from_editmode | Blender Python API [Official]

選択物のリストを取る方法 – Blender.jp フォーラム

.data.vertices returns an empty collection in Edit Mode – Blender Stack Exchange

ポーズ (Pose)

オブジェクトが持つポーズデータにアクセスする。

参考:

Pose | Blender Python API [Official]

bpy.types.Object.pose | Blender Python API [Official]

ポーズオペレーター

参考:

Pose Operators | Blender Python API [Official]

コンテキストアクセス (bpy.context)

  • bpy.context.active_bone
  • bpy.context.active_pose_bone
  • bpy.context.armature
  • bpy.context.bone
  • bpy.context.editable_bones
  • bpy.context.edit_bone
  • bpy.context.pose_bone
  • bpy.context.selected_bones
  • bpy.context.selected_editable_bones
  • bpy.context.selected_pose_bones
  • bpy.context.selected_pose_bones_from_active_object
  • bpy.context.visible_bones
  • bpy.context.visible_pose_bones

参考:

Context Access (bpy.context) | Blender Python API [Official]

blender-connect-bones

参考:

usagi/blender-connect-bones: Blender add-on: Connect bones if it find a bone pair that has a same position of a head and a tail – GitHub

head と tail の座標と適当なフィルター条件でボーンの親子関係を自動構築する connect-bones の作り方と Add-on 化の方法 | C++ ときどきごはん、わりとてぃーぶれいく

BoneToMesh_Blender

参考:

kurotori4423/BoneToMesh_Blender: ボーンから動作検証用のメッシュを作成する Blender 2.79 アドオン – GitHub

Generate Bone Tail Mesh

参考:

generateBoneTailMesh.py – 選択ボーンの位置にちょうど頂点を持つメッシュを生成するコマンド (green224) – GitHub Gist

記事をシェアする:
タグ:

コメントを残す

メールアドレスが公開されることはありません。

Protected by reCAPTCHA