【Blender2.8 Python】板を法線方向に動かす

Sponsored Links

Pocket

Blender2.8でPytonを使って「シーンに配置された選択中の板をその法線方向へ移動する」手順をまとめました。

準備

シーンに板オブジェクトを配置して、選択した状態で下記コードを実行すると、オブジェクトをその法線の向きに動かすことができます。

コード

解説

import bpy

Blenderのオブジェクトへアクセスしたり操作をPythonから行うための大元のモジュールをインポートします。

obj = bpy.context.object

bpy.context.objectは現在アクティブな作業エリアにおいて選択されているオブジェクト(Object(ID))を返します。今回は配置した板オブジェクトが変数に格納されることになります。

obj.location = obj.location + obj.data.polygons[0].normal

obj.locationはオブジェクトの位置なので、現在の位置に法線の値を足して移動しています。今回取得したオブジェクトはメッシュなので、obj.dataにはMesh(ID)インスタンスが格納されています。Mesh(ID).polygons[0].normalから面法線ベクトルを取得します。

まとめ

  1. PythonでBlenderを操作するにはbpyモジュールをインポートする。
  2. bpy.context.objectで現在のパネルで選択されているオブジェクトを取得できる。
  3. bpy.context.objectが返すのはObject(ID)インスタンスで、位置を表すlocationを保持する。
  4. オブジェクトがメッシュならObject(ID).dataにはMesh(ID)インスタンスが格納されている。Mesh(ID)からメッシュの頂点、エッジや面などのデータへアクセスできる。
Pocket

Sponsored Links

コメントを残す

メールアドレスが公開されることはありません。