3Dview上のオブジェクト頂点位置を取得してopenGLで表示する

bpyで頂点位置に10px辺の正四角形を表示するソースサンプルです。

bpy.context.object.data.vertices.coで各頂点の座標を取得。

co_3d = oa.matrix_world * v.co でワールド内の座標に変換

co_2d = view3d_utils.location_3d_to_region_2d(viewport, area.spaces[0].region_3d, co_3d) で3DviewのXY座標に変換しています。

snapcrab_noname_2017-1-4_17-1-41_no-00

 

参考:

[Blender] スクリプトの内部からOpenGLを利用する

how to get the vertice’s Horizontal and vertical location in the window?

 

以下、更新版。ポーズモードでの表示にも対応。

 

 

 

 

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

4 × five =