Bone, EditBone, PoseBone のプロパティ一覧
このページの内容
- メソッドを除く、各データ構造の保有するプロパティの一覧
- プロパティエディタのボーンタブでの表示を基準に、グループ化を行っている
- csvファイル
:プロパティが存在し、変更が可能
:プロパティが存在するが、変更は不可能 (readonly)
:プロパティが存在しない
:プロパティエディタのボーンタブに、表示される
:プロパティエディタのボーンタブに、表示されない
| タブの表示 | プロパティ名 | Bone | EditBone | PoseBone |
|---|---|---|---|---|
| name | ||||
| basename | ||||
「トランスフォーム」関連 (オブジェクトモード / 編集モード)
| タブの表示 | プロパティ名 | Bone | EditBone | PoseBone |
|---|---|---|---|---|
| head | ||||
| head_local | ||||
| tail | ||||
| tail_local | ||||
| roll | ||||
| lock | ||||
| length | ||||
| center | ||||
| vector | ||||
| x_axis | ||||
| y_axis | ||||
| z_axis | ||||
「トランスフォーム」関連 (ポーズモード)
| タブの表示 | プロパティ名 | Bone | EditBone | PoseBone |
|---|---|---|---|---|
| location | ||||
| rotation_axis_angle | ||||
| rotation_euler | ||||
| rotation_mode | ||||
| rotation_quaternion | ||||
| scale | ||||
| lock_location | ||||
| lock_rotation | ||||
| lock_rotation_w | ||||
| lock_rotations_4d | ||||
| lock_scale | ||||
| matrix | ||||
| matrix_basis | ||||
| matrix_channel | ||||
| matrix_local | ||||
| motion_path | ||||
「関係」関連
| タブの表示 | プロパティ名 | Bone | EditBone | PoseBone |
|---|---|---|---|---|
| layers | ||||
| use_relative_parent | ||||
| bone_group | ||||
| bone_group_index | ||||
| use_connect | ||||
| use_local_location | ||||
| use_inherit_rotation | ||||
| inherit_scale | ||||
| use_inherit_scale | ||||
「ビューポート表示」関連
| タブの表示 | プロパティ名 | Bone | EditBone | PoseBone |
|---|---|---|---|---|
| hide | ||||
| hide_select | ||||
| custom_shape | ||||
| custom_shape_scale | ||||
| custom_shape_transform | ||||
| use_custom_shape_bone_size | ||||
| show_wire | ||||
| select | ||||
| select_head | ||||
| select_tail | ||||
「変形」関連
| タブの表示 | プロパティ名 | Bone | EditBone | PoseBone |
|---|---|---|---|---|
| use_deform | ||||
| envelope_distance | ||||
| envelope_weight | ||||
| use_envelope_multiply | ||||
| head_radius | ||||
| tail_radius | ||||
「ベンディボーン」関連
| タブの表示 | プロパティ名 | Bone | EditBone | PoseBone |
|---|---|---|---|---|
| bbone_curveinx | ||||
| bbone_curveiny | ||||
| bbone_curveoutx | ||||
| bbone_curveouty | ||||
| bbone_custom_handle_end | ||||
| bbone_custom_handle_start | ||||
| bbone_easein | ||||
| bbone_easeout | ||||
| bbone_handle_type_end | ||||
| bbone_handle_type_start | ||||
| bbone_rollin | ||||
| bbone_rollout | ||||
| bbone_scaleinx | ||||
| bbone_scaleiny | ||||
| bbone_scaleoutx | ||||
| bbone_scaleouty | ||||
| bbone_segments | ||||
| bbone_x | ||||
| bbone_z | ||||
| use_endroll_as_inroll | ||||
「IK」関連
| タブの表示 | プロパティ名 | Bone | EditBone | PoseBone |
|---|---|---|---|---|
| ik_stretch | ||||
| lock_ik_x | ||||
| lock_ik_y | ||||
| lock_ik_z | ||||
| ik_stiffness_x | ||||
| ik_stiffness_y | ||||
| ik_stiffness_z | ||||
| use_ik_limit_x | ||||
| use_ik_limit_y | ||||
| use_ik_limit_z | ||||
| ik_max_x | ||||
| ik_max_y | ||||
| ik_max_z | ||||
| ik_min_x | ||||
| ik_min_y | ||||
| ik_min_z | ||||
| ik_linear_weight | ||||
| ik_rotation_weight | ||||
| is_in_ik_chain | ||||
| use_ik_linear_control | ||||
| use_ik_rotation_control | ||||
PoseBoneからのデータアクセス用
| タブの表示 | プロパティ名 | Bone | EditBone | PoseBone |
|---|---|---|---|---|
| bone | ||||
| constraints | ||||
親子関係
| タブの表示 | プロパティ名 | Bone | EditBone | PoseBone |
|---|---|---|---|---|
| child | ||||
| children | ||||
| children_recursive | ||||
| children_recursive_basename | ||||
| parent | ||||
| parent_recursive | ||||
用途不明
| タブの表示 | プロパティ名 | Bone | EditBone | PoseBone |
|---|---|---|---|---|
| use_cyclic_offset | ||||
コメントなど
◇ 3つに共通するプロパティ
どれからでも変更可能なもの
name:ただし、変更は自動的に他の形式にも反映されるので、3つの形式は常に同一の値を持つbbone_系:ただし、プロパティの値は同じではない
bbone_系のプロパティと、プロパティエディタの性質
-
各データ形式のプロパティ保有状況:
- ほとんどのものは3つに共通して存在するが、PoseBone には
_segmentsなどの Bbone の表示状態と_handle_xxなどのハンドル系がない - 共通して存在するプロパティにおいて、Bone と EditBone は値を共有する(ことになる)
- 共通して存在するプロパティにおいて、PoseBone は他の形式と値を共有しない
- 共通して存在しないプロパティは、後述するプロパティエディタの性質によって、3つの形式で値を共有するように見える
- ほとんどのものは3つに共通して存在するが、PoseBone には
-
プロパティエディタの性質その1:
- どんなモードでも、全てのプロパティが表示される
- ポーズモードで PoseBone が持たないプロパティは、リンクする Bone のものが表示され、変更可能で、値が EditBone にも受け継がれる
= オブジェクト/編集/ポーズモードの全てで同一の値が表示・使用される
↓
これらのプロパティ(特にセグメント数)は、Bone / EditBone /PoseBone で値を共有するように見える
-
プロパティエディタの性質その2:
オブジェクトモードとポーズモードでは同じものが使用され、Bone と PoseBone に共通するプロパティは常に PoseBone の値が表示される
↓
プロパティエディタでは、Bbone の表示状態とハンドル系を除けば、Bone のbbone_系は表示されず変更もできない1
スクリプトで PoseBone の Bbone の設定を変更する場合
設定するプロパティに応じて、記述を分けることが必要
- イーズインなど:
PoseBone.bbone_easein = 1.0と PoseBone で設定 - セグメント数:
PoseBone.bone.bbone_segments = 3と Bone を取得して設定
面倒なので PoseBone や Bone だけでまとめて設定した場合
-
PoseBone.bbone_segments = 3とまとめて PoseBone で設定した場合- エラーが出て失敗する:PoseBone には
bbone_segmentsがないので
- エラーが出て失敗する:PoseBone には
-
PoseBone.bone.bbone_easein = 1.0とまとめて Bone で設定した場合- エラーは出ず成功する:Bone にも
bbone_easeinがあるので (+アクセス可能なので) - 3Dビューのボーンは変化する:Bone の変化はポーズに影響するので
- プロパティエディタは変化しない:
Bone.bbone_easeinを表示するパネルは無いので
- エラーは出ず成功する:Bone にも
結果として、3Dビューで変化が起きるが変化の詳細がパネルで確認できない、という状況になって混乱するので注意
特定のものでのみ変更可能、それ以外は readonly なもの
head,tail:EditBone のみ、パネル表示ありlength:EditBone のみ、パネル表示なしparent:EditBone のみ、パネル表示ありmatrix:EditBone / PoseBone のみ、パネル表示なし
どれからも変更不可能 (readonly) なもの
basename:ボーン名の情報vector,x_axis,y_axis,z_axis:座標関連の情報parent_recursive,children,children_recursive,children_recursive_basename:親子関連の情報
◇ Bone と EditBone
- Bone のみが持つもの:
head_local,tail_local,matrix_local - EditBone のみが持つもの:
lock,roll
EditBone は Bone のプロパティを受け継いで作成され、EditBone での変更は Bone に反映される
→ 両方ともに共通するプロパティは、値も共有されることになる
EditBone:Bone (と PoseBone)と異なり、いくつかのプロパティから readonly が外れる
- 座標関連:
head,tail,matrix,length - 接続:
use_connect - 親子関係:
parent
Bone: EditBone と異なり、head,tail,matrixに関連する追加のプロパティを持つ
xx_local:"relative to armature" の値(らしい)
これらのプロパティの値は、 EditBone のhead,tail,matrixと(ほぼ?)同じxx:"relative to its parent" の値(らしい)
◇ PoseBone
PoseBone ではパネルも含めてアクセスor変更できないプロパティ
- ボーン本体のデータへの直接のアクセス:
head,tail - Bone 固有:
head_local,tail_local,matrix_local - EditBone 固有:
length,parent,use_connect - ボーン自体の選択関連:
select,hide_select - ボーンの各部の選択状態:
select_head,select_tail
PoseBone には無いが、ポーズモードのパネルからはアクセスできるプロパティ
これはすべてリンクした Bone の値を取得 / 変更することになる
- Bboneの設定関連:
bbone_segments,bbone_x,bbone_z,use_endroll_as_inroll - Bboneのハンドル関連:
bbone_custom_handle_xx系,bbone_handle_type_xx系 - アーマチュアレイヤー:
layers - 親子関係のトランスフォーム関連:
use_inherit_xx系,use_local_location,use_relative_parent - 変形関連:
use_deform,envelope_xx系,use_envelope_multiply - ボーンの見た目?関連:
head_radius,tail_radius,show_wire - 表示状態の設定:
hide
PoseBone のみ持つプロパティ
- ボーン本体のデータへのアクセス:
bone - ボーングループ関連:
bone_group,bone_group_index - 子ボーンへの単体のアクセス:
child(.children の最初の要素が取れる) - カスタムシェイプ関連:
custom_shape,custom_shape_scale,custom_shape_transform,use_custom_shape_bone_size - ボーンコンストレイントのコレクション:
constraints - IK設定関連(パネル表示あり):
ik_xx系,lock_ik_xx系,use_ik_limit_xx系,is_in_ik_chain - IK設定関連(パネル表示なし):
ik_xx_weight系,use_ik_xx_control系,is_in_ik_chain(これのみ readonly) - モーションパスのデータへのアクセス:
motion_path - トランスフォーム関連:
lotation,rotation_xx系,scale,lock_xx系
-
コンソールやスクリプト内では、Bone のプロパティにアクセスして変更することは可能。
変更すると3Dビューのボーンに反映されるが、プロパティエディタには反映されない。
EditBone は Bone の設定を引き継ぐので、編集モードにするとプロパティエディタで見えるようになる。 ↩