MRが楽しい

MRやVRについて学習したことを書き残す

Blender 2.8のPython APIドキュメントを少しずつ読み解く クイックスタートその1

本日は Blender2.8 の調査枠です。
今回から Blender 2.8 の Python API ドキュメントを少しずつ読みつつ試していきます。

Blender 2.8 Python API Documentation

以下のページを日本語訳しつつ実際に試しつつ記事を進めていきます。
docs.blender.org
docs.blender.org
今日は「クイックスタート」のスクリプト実行までです。
f:id:bluebirdofoz:20190904210805j:plain

前書き

Blender API は凡そ確定していますが、一部の領域はまだ追加および改善されています。
BlenderPython APIは以下を実行できます。

ユーザーインターフェースで操作可能なデータ(シーン、メッシュ、パーティクルなど)を編集します。
・ユーザー設定、キーマップ、テーマを変更します。
・独自の設定でツールを実行します。
・メニュー、ヘッダー、パネルなどのユーザーインターフェイス要素を作成します。
・新しいツールを作成します。
・対話型ツールを作成します。
Blender と統合する新しいレンダリングエンジンを作成します。
・データとそのプロパティの変更を実行します。
・既存のBlenderデータに新しい設定を定義します。
Pythonを使用して3Dビューを描画します。

BlenderPython API は以下の事をできません。

・新しい空間タイプを作成します。
・全てのタイプにカスタムプロパティを割り当てます。

開始する前に

このドキュメントは各トピックを完全に網羅することを目的としていません。
その目的は Blender Python API に慣れることです。

以下は始める前に知っておくと便利なことの簡単なリストです。

BlenderPython 3.xを使用します。一部のオンラインドキュメントでは、まだ2.xを前提としています。
・対話コンソールはコマンドのテストに最適です。また、オートコンプリート機能があるため、APIをすばやく検索できます。
(オートコンプリート機能は[オートコンプリート]ボタンまたは Ctrl+スペース で利用できます)
f:id:bluebirdofoz:20190904210834j:plain
・ボタンのツールヒントに Python の属性と演算子名が表示されます。
f:id:bluebirdofoz:20190904210846j:plain
・ボタンとメニュー項目を右クリックするとAPIドキュメントに直接アクセスできます。
f:id:bluebirdofoz:20190904210856j:plain
・一例について、テキストメニューにテンプレートセクションがあり、幾つかのサンプルコードがあります。
f:id:bluebirdofoz:20190904210906j:plain

Blenderで配布されているスクリプトをさらに調べるには、次を参照してください。
 - scripts/startup/bl_ui ユーザーインターフェイスの場合、
 - scripts/startup/bl_operators オペレーター向け。
f:id:bluebirdofoz:20190904210916j:plain

・プラットフォームによってディレクトリの位置が異なります。
 詳しくはディレクトリレイアウトのドキュメントを参照してください 。

例:Windowsの場合
 LOCAL: .\2.81\
 USER:  %USERPROFILE%\AppData\Roaming\Blender Foundation\Blender\2.81\
 SYSTEM:%USERPROFILE%\AppData\Roaming\Blender Foundation\Blender\2.81\

ディレクトリレイアウトのドキュメントは以下です。
docs.blender.org

スクリプトの実行

Pythonスクリプトを実行する一般的な方法は2つあります。
組み込みの[テキストエディター]を使用するか、[Pythonコンソール]でコマンドを入力することです。
[テキストエディター]と[Pythonコンソール]はどちらも、ビューヘッダーから選択できる空間タイプです。
f:id:bluebirdofoz:20190904210940j:plain

Blenderにデフォルトで含まれている[Scripting]ワークスペースを使用することをお勧めします。
トップヘッダーのスクリーンセレクターからアクセス可能です。
f:id:bluebirdofoz:20190904210950j:plain

[テキストエディタ]から.pyファイルを開くか、クリップボードから貼り付けて[スクリプト実行]ボタンで実行できます。
f:id:bluebirdofoz:20190904210959j:plain

Pythonコンソールは通常、スニペットの入力か、すぐにフィードバックを得るためのテストに使用します。
スクリプト全体を貼り付けることもできます。
f:id:bluebirdofoz:20190904211009j:plain

スクリプトコマンドラインから Blender に読み込ませて実行することもできます。
しかし Blender Python を習得するためにこれは必須ではありません。
f:id:bluebirdofoz:20190904211017j:plain

bluebirdofoz.hatenablog.com