【Blender×Python】アクティブなオブジェクトデータを取得する方法について徹底解説

Blender

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

# active_objectプロパティによるアクティブなオブジェクトデータの取得
bpy.context.active_object
# activeプロパティによるアクティブなオブジェクトデータの取得
bpy.context.view_layer.objects.active

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

・Blender上で、どの様にPythonを使うの?
・Blender上のPythonで、どの様にアクティブなオブジェクトデータを取得するの?

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

active_objectプロパティによるアクティブなオブジェクトデータの取得

bpy.context.active_objectプロパティの基本構文

bpy.context.active_object
→ Object: bpy_types.Object

bpy.context.active_objectプロパティの使い方

import bpy

ActiveObject = bpy.context.active_object
print(f"Active Object:\n{ActiveObject} {type(ActiveObject)}")
Active Object:
<bpy_struct, Object("Cube") at 0x00000256E121F908> <class 'bpy_types.Object'>

activeプロパティによるアクティブなオブジェクトデータの取得

bpy.context.view_layer.objects.activeプロパティの基本構文

bpy.context.view_layer.objects.active
→ Object: bpy_types.Object

bpy.context.view_layer.objects.activeプロパティの使い方

import bpy

ActiveObject = bpy.context.view_layer.objects.active
print(f"Active Object:\n{ActiveObject} {type(ActiveObject)}")
Active Object:
<bpy_struct, Object("Cube") at 0x00000256E121F908> <class 'bpy_types.Object'>

まとめ

「bpy」(Blender Python API)は、Pythonを使ったBlenderの開発に非常に役立ちます。この記事では、アクティブなオブジェクトデータを取得する方法を紹介しました。ぜひ活用してみてください。

関連検索ワード

How to get an active object data?

関連キーワード

blender, python, get, active, object, 取得, アクティブ, オブジェクト