以下の内容はhttps://www.bioerrorlog.work/entry/blender-print-not-showingより取得しました。


Blender Pythonでprintが表示されない問題の対処法

Blender Pythonで、print関数の出力結果が表示されない問題の対処法を整理します。

はじめに

Blender Pythonでprint()関数を使って何かを出力させようとしても、どこにも出力された様子がありません。

対処法をまとめます。

# 作業バージョン
Blender 4.2.0

The English translation of this post is here.

Blender Python: print結果が表示されない問題の対処法

System Consoleを開く (Windowsのみ)

WindowsでBlenderを使っている場合は、System Consoleを開くことでprint結果が見れます。

System Consoleは、Blenderの上タブから、

Window > Toggle System Console

で開くことができます。

しかし、このやり方はWindows限定のものであり、macOSやLinuxでBlenderを使っている場合はこの解決法は使えません。

Blenderをコマンドラインから起動する

Windowsの場合は上記のやり方でコンソールを開けますが、macOSやLinuxの場合はこのやり方はできません。 代わりに、Blenderを最初からコマンドラインで起動しておくことで、print結果を見ることができます。

- macOS

macOSの場合は、ターミナルから下記のコマンドでBlenderを起動できます。

cd /Applications/Blender.app/Contents/MacOS
./Blender

この状態でBlender Python Scriptでprint関数を使うと、そのターミナル上でprint結果を表示させることが可能です。

Blenderをターミナルから起動し、print関数の出力結果"Hello, world"が表示されている様子

- Linux

Linuxの場合も、Blenderをインストールした場所でblenderバイナリを直接コマンドから実行すれば、macOSと同様にprint結果を表示させることができます。

cd <blender installation directory>
./blender

print関数以外を使う

print関数を使うのを諦めて、他のやり方で代替するのも手です。

例えばBlender Python APIを使って、テキストブロックを新規作成させてそこに文字を出力することも可能です。

import bpy


text_block = bpy.data.texts.new("PrintResult")

text_block.write("Hello, world!\n")
text_block.write("Hello, world!!\n")

このコードを実行すると、テキストブロック"PrintResult"が新規作成され、そこに文字列を書き込まれています。

文字列がテキストブロックに書き込まれた様子

おわりに

Blender Pythonでprintが表示されない問題の対処法をまとめました。

Blenderは3Dツールでありながら、PythonからAPIが叩けるのが面白いですね。

以上、どなたかの参考になれば幸いです。

[関連記事]

www.bioerrorlog.work

参考




以上の内容はhttps://www.bioerrorlog.work/entry/blender-print-not-showingより取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14