【Blender×Python】シェードスムーズアトリビュートを面データから取得する方法について徹底解説

Blender

「bpy」とは、PythonからBlenderの機能を呼び出すことができるBlender Python APIのことです。Blenderはオープンソースの3Dアニメーションソフトウェアであり、「bpy」を使うことでBlenderの様々な機能をPythonスクリプトから呼び出して利用することができます。本記事では、「bpy」を用いたシェードスムーズアトリビュートを面データから取得する方法を紹介します。

# use_smoothプロパティによる面データを用いたシェードスムーズアトリビュートの取得
"Face".use_smooth

下記の様な内容で悩んでいる/困っている場合に使える方法を参考までにご共有させて頂きます。

・Blender上で、どの様にPythonを使うの?
・Blender上のPythonで、どの様にシェードスムーズアトリビュートを面データから取得するの?

また、「bpy」を使用する上で基礎的な情報は下記の記事で紹介しております。
他の「bpy」のクラスや関数について気になる方はこちらの記事をご覧ください。

use_smoothプロパティによる面データを用いたシェードスムーズアトリビュートの取得

“Face”.use_smoothプロパティの基本構文

"Face".use_smooth
→ FaceShadeSmoothAttribute: bool

“Face”.use_smoothプロパティの使い方

import bpy

CubeMesh = bpy.data.meshes["Cube"]
CubeMeshFaces = CubeMesh.polygons

print(f"Cube Mesh Faces:\n{CubeMeshFaces} {type(CubeMeshFaces)}")

for key, value in CubeMeshFaces.items():
    print(f"[{key}] {value}, {value.index}, {value.use_smooth}")
Cube Mesh Faces:
<bpy_collection[6], MeshPolygons> <class 'bpy_prop_collection'>
[0] <bpy_struct, MeshPolygon at 0x000002B23BD6E7A8>, 0, False
[1] <bpy_struct, MeshPolygon at 0x000002B23BD6E7B4>, 1, False
[2] <bpy_struct, MeshPolygon at 0x000002B23BD6E7C0>, 2, False
[3] <bpy_struct, MeshPolygon at 0x000002B23BD6E7CC>, 3, False
[4] <bpy_struct, MeshPolygon at 0x000002B23BD6E7D8>, 4, False
[5] <bpy_struct, MeshPolygon at 0x000002B23BD6E7E4>, 5, False

まとめ

「bpy」(Blender Python API)は、Pythonを使ったBlenderの開発に非常に役立ちます。この記事では、シェードスムーズアトリビュートを面データから取得する方法を紹介しました。ぜひ活用してみてください。

関連検索ワード

How to get shade smooth attribute from face data?

関連キーワード

blender, python, get, shade smooth, face, 取得, シェードスムーズ, 面