Blender2.8での頂点の選択について
blenderで簡単なスクリプトを書いていて頂点の選択についてつまずいたのでまとめます。 2020/1/15 blender2.81
編集モードから頂点の編集ができない
obj = bpy.context.active_object
obj.data.vertices[p].select = True
とすることで、頂点の選択を切り替えられるのですが、これが編集モードだとうまく動いてくれません。 なので、一度オブジェクトモードに切り替えます。
import bpy obj = bpy.context.active_object old_mode = obj.mode bpy.ops.object.mode_set(mode='OBJECT') list = [0,3] for p in list : obj.data.vertices[p].select = True bpy.ops.object.mode_set(mode=old_mode)
参考:
https://blender.stackovernet.com/ja/q/13906
頂点の選択をリセット
頂点の選択をリセット(どの頂点も選択していない状態にする)場合は、ショートカット[AA]からbpy.ops.object.select_all()を呼び出します。これをスクリプトから実行する場合、編集モードでないとうまくいきません。
bpy.ops.object.mode_set(mode="EDIT") #Activating Editmode bpy.ops.mesh.select_all(action='DESELECT')
謎です。