LoginSignup
cleopatra0419psn
@cleopatra0419psn

Are you sure you want to delete the question?

If your question is resolved, you may close it.

Leaving a resolved question undeleted may help others!

We hope you find it useful!

BlenderPython(BPY)で頂点グループを選択し、座標を変更したい

前提

以下の画像のように、Blenderで自動車の3Dモデルを作成し、大まかの自動車の部分と、屋根と側面、後ろの窓の部分、タイヤという3つのオブジェクトに分けて、また, 頂点グループを複数用意しました.

スクリーンショット 2023-01-21 15.49.08.png

実現したいこと

Bpyで頂点グループを選択し, 選択された頂点グループの座標を変更して、自動車の形を変えるというシステムを作成したいです.

発生している問題

Bpyで頂点グループを読み込んで変更させる方法が分からず困っています.

補足情報(FW/ツールのバージョンなど)

バージョン
Blender:2.93.5

0

1Answer

頂点グループに当てはまる頂点を選択するbpy.ops.object.vertex_group_select()が使えます。(頂点グループ>選択ボタンと同じ挙動)

# オブジェクトを名前で取得
target_obj = bpy.data.objects.get("Cube")

# 頂点グループを名前で取得
vertex_group_index = target_obj.vertex_groups.find("Group") 

# 頂点グループをアクティブにする
target_obj.vertex_groups.active_index = vertex_group_index
# 頂点を選択する
bpy.ops.object.vertex_group_select()
# 選択頂点に対して必要な移動処理を実装してください
bpy.ops.transform.translate(value=(1, 0, 0)) # x方向に1m移動

自動車の形を変えるというシステムを作成したい

もし変形が、オープンカーの屋根の開閉、ワイパーの動作、タイヤの回転...といったものであれば、スクリプトではなく、シェイプキーやボーン、アニメーションの方が適切だと思います。

0Like

Your answer might help someone💌