Blender Python BMesh 〜点から面へ〜
前回は、点(Vertex)を作成し線を作成して座標の確認を行いました。
今回は、面を作成します。
前回のポイントは、既存のオブジェクトにおける座標を設定するのが
以下のようなスクリプト(BMeshでの処理?)です。
ob = bpy.context.object
bm = bmesh.from_edit_mesh(ob.data)
v1 = bm.verts.new*1
v2 = bm.verts.new*2
v3 = bm.verts.new*3
bm.edges.new*4
bm.edges.new*5
bm.edges.new*6
※Z軸の座標は0→1に変更しています。
この状態(スクリプト)だと線を描くだけです。
ここまで来たので、サクッと面を作成したいと思うのが人情(自分だけ?)
なので上記のスクリプトをちょいといじります。
import bpy, bmesh
ob = bpy.context.object
bpy.ops.object.mode_set(mode='EDIT')
bm = bmesh.from_edit_mesh(ob.data)
bpy.ops.mesh.select_all(action='DESELECT')
v1 = bm.verts.new*7
v1.select = True
v2 = bm.verts.new*8
v2.select = True
v3 = bm.verts.new*9
v3.select = True
bpy.ops.mesh.edge_face_add()
#bm.edges.new*10
#bm.edges.new*11
#bm.edges.new*12
こんな感じで描画されました。
板(Plane)の上にある三角形はスクリプトで作成したものなので
Planeに依存しています。なので隣の画像のように回転します。
次回は、
現状のままでは2Dモデルです。なので、3Dモデルとして形を作りたいと思います。
Eclipse セットアップ
- Java Install Eclipse〜開発ツールのインストール〜
- TensorFlow C++環境〜EclipseにCDTをインストール〜
- Setup OpenGL with Java〜JOGLを使う準備 for Eclipse〜
- Eclipse Meven 開発手順〜プロジェクトの作成〜
- Java OpenCV 環境セットアップ(on Mac)
- Java Basic
- Java Basic Level 1 〜Hello Java〜
- Java Basic Level2 〜Arithmetic Calculate〜
- Java Basic Level3 〜About String class〜
- Java Basic Level 4〜Boolean〜
- Java Basic Level 5〜If Statement〜
- Java Basic Summary from Level1 to 5
- Java Basic Level 6 〜Traning of If statement〜
- Java Basic Level8 〜How to use for statement〜
- Java Basic Level 8.5 〜Array〜
- Java Basic Level 9〜Training of for statement〜
- Java Basic Level 10 〜While statement 〜
- Java Basic Swing〜オブジェクト指向〜
- Java Basic Swing Level 2〜オブジェクト指向2〜
- サンプル実装〜コンソールゲーム〜
- Java Basic インターフェース・抽象クラスの作り方
- Java Basic クラスとは〜Step2_1〜
- Java Basic JUnit 〜テストスイートの作り方〜