Python Console(Pythonコンソール)#
Python Console(Pythonコンソール)は、Python API全体、コマンド履歴、オートコンプリートにアクセスして、コマンドをすばやく実行する方法です。コマンドプロンプトはPython3.xで一般的であり、インタープリターが読み込まれ、プロンプト >>>
でコマンドを受け入れる準備ができています。
Pythonコンソールは、Blenderの組み込みPythonの可能性を探る良い方法です。Pythonコンソールを使用してPythonコードの小さな断片をテストし、それを大きなスクリプトに貼り付けることができます。
Interface(インターフェイス)#
メインビュー#
キーバインディング
LMB -- Moves the cursor along the input line.
Left / Right -- カーソルを移動。
Ctrl-Left / Ctrl-Right -- カーソルを単語単位に移動。
Shift-Left / Shift-Right -- Selects characters to the left/right.
Shift-Ctrl-Left / Shift-Ctrl-Right -- Selects words to the left/right.
Ctrl-A Select all text and text history.
Backspace / Delete -- 文字を消去。
Ctrl-Backspace / Ctrl-Delete -- 単語を消去。
Return -- コマンドを実行。
Shift-Return -- 実行せずにコマンド履歴に追加。
使用方法#
エイリアス#
便宜上、いくつかの変数とモジュールを使用できます:
C
:bpy.context
へのクイックアクセス。D
:bpy.data
へのクイックアクセス。bpy
: Blender Python APIモジュールのトップレベル。
コンソール環境の初見#
インタプリタ環境に何がロードされているかを確認するには、プロンプトで dir()
と入力して実行します。
オートコンプリート#
試しに、bpy.
と入力してから Tab を押すと、コンソールのオートコンプリート機能が動作していることがわかります。
bpy
内のサブモジュールのリストが表示されるのに気付きます。これらのモジュールは、Blender Python APIで実行できるすべてのことをカプセル化しており、非常に強力なツールです。
bpy.app
モジュールのすべての内容を一覧表示しましょう。
オートコンプリートを有効にしたプロンプト上の緑色の出力に注目してください。表示されるのは、オートコンプリートリストの結果です。上記のリストでは、すべてモジュール属性の名前ですが、名前が (
で終わる場合、それは関数です。
これを多用することで、APIの学習に役立ちます。今これを理解したので、 bpy
のモジュールの調査に進みましょう。
モジュールを使ってみる前に#
デフォルトのBlenderシーンで3D Viewport(3Dビューポート)を見ると、Cube(立方体)、Light(ライト)、Camera(カメラ)の3つのオブジェクトに気付くでしょう。
すべてのオブジェクトはコンテキスト内に存在し、それらが操作されるさまざまなモードが存在します。
とにかく、アクティブなオブジェクトは1つだけであり、複数のオブジェクトが選択されている可能性があります。
すべてのオブジェクトはblendファイル内のデータです。
これらのオブジェクトを作成および変更する操作/関数があります。
上記のすべてのシナリオ(すべてがリストされているわけではありませんが、注意してください...)の場合、 bpy
モジュールはデータにアクセスして変更する機能を提供します。
例#
bpy.context#
注釈
以下のコマンドで適切な出力を表示するには、3Dビューポートでオブジェクトを選択していることを確認してください。
bpy.context.mode
現在の3Dビューポートのモード(オブジェクト、編集、スカルプトなど)をプリントします。
bpy.context.object
やbpy.context.active_object
3Dビューポートのアクティブオブジェクトにアクセスできます。
Xの位置を1に変更します:
bpy.context.object.location.x = 1
オブジェクトを前のX位置から0.5移動します:
bpy.context.object.location.x += 0.5
位置 X、Y、Zを変更します:
bpy.context.object.location = (1, 2, 3)
X、Yコンポーネントのみを変更します:
bpy.context.object.location.xy = (1, 2)
オブジェクトの位置のデータ型:
type(bpy.context.object.location)
アクセスできるデータがたくさんあります:
dir(bpy.context.object.location)
bpy.context.selected_objects
選択したすべてのオブジェクトのリストにアクセスできます。
これを入力してから Tab を押します:
bpy.context.selected_objects
リストの最初のオブジェクトの名前をプリントするには:
bpy.context.selected_objects[0]
The complex one... But this prints a list of selected objects not including the active object::
[obj for obj in bpy.context.selected_objects if obj != bpy.context.object]
bpy.data#
bpy.data
には、blendファイル内のすべてのデータにアクセスできる関数と属性があります。
現在のblendファイル内の次のデータにアクセスできます: オブジェクト、メッシュ、マテリアル、テクスチャ、シーン、スクリーン、サウンド、スクリプトなど。
それはたくさんのデータです。
bpy.ops#
ツールシステムは、操作の概念に基づいて構築されています。操作は通常、ボタンやメニューから実行されますが、Pythonから直接呼び出すこともできます。
すべての操作のリストについては、 bpy.ops APIドキュメントを参照してください。