【Blender×Python】コンテキストなシーンデータを取得する方法について徹底解説

Blender

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

# sceneプロパティによるコンテキストなシーンデータの取得
bpy.context.scene

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

・Blender上で、どの様にPythonを使うの?
・Blender上のPythonで、どの様にコンテキストなシーンデータを取得するの?

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

sceneプロパティによるコンテキストなシーンデータの取得

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

bpy.context.scene
→ Scene: bpy.types.Scene

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

import bpy

ContextScene = bpy.context.scene
print(f"Context Scene:\n{ContextScene} {type(ContextScene)}")

print(ContextScene.name)
print(ContextScene.view_layers)
print(ContextScene.collection)
print(ContextScene.camera)
print(ContextScene.objects)
print(ContextScene.display)
print(ContextScene.eevee)
print(ContextScene.cycles)
print(ContextScene.render)
print(ContextScene.view_settings)
print(ContextScene.world)
print(ContextScene.frame_current)
print(ContextScene.frame_start)
print(ContextScene.frame_end)
Context Scene:
<bpy_struct, Scene("Scene") at 0x00000238E2BDC088> <class 'bpy.types.Scene'>
Scene
<bpy_collection[1], ViewLayers>
<bpy_struct, Collection("Scene Collection") at 0x00000238E2B92688>
<bpy_struct, Object("Camera") at 0x00000238E2B98108>
<bpy_collection[3], SceneObjects>
<bpy_struct, SceneDisplay at 0x00000238E2BDD5A8>
<bpy_struct, SceneEEVEE at 0x00000238E2BDD980>
<bpy_struct, CyclesRenderSettings("") at 0x00000238E24794E8>
<bpy_struct, RenderSettings at 0x00000238E2BDC218>
<bpy_struct, ColorManagedViewSettings at 0x00000238E2BDD448>
<bpy_struct, World("World") at 0x00000238E2B92388>
1
1
250

まとめ

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

関連検索ワード

How to get a context scene data?

関連キーワード

blender, python, get, context, scene, 取得, コンテキスト, シーン