2016-04-01 4 views
3

通常、私は "blender -P script.py"を使ってPythonスクリプトを実行します。この場合、新しいブレンダープロセスが開始され、スクリプトが実行されます。私が今しようとしているのは、新しいものを起動するのではなく、すでに実行中のブレンダープロセスを使用してスクリプトを実行することです。既に実行中のブレンダーを使用してPythonスクリプトを実行するにはどうすればよいですか?

は、私は私にこのアプローチの実際の実現可能性についての懸念を行い、これまでにこの問題に関する任意のソースを見ていません。

ご協力いただければ幸いです。

答えて

1

Blenderは、cliから起動し、実行中のcliからさらに多くのコマンドを受け取り続けるようには設計されていません。しかし、それはまた、ブレンダーの実行中に対話的にコマンドを入力するために使用することができpython consoleを含み、テキストファイルを開いて、Pythonスクリプトなどのテキストブロックを実行することができますtext editor含みません。また、それはPythonのコンソールにテキストブロックを実行するようにすることができますように、これは彼らがスクリプトの実行の最後に存在するなどの変数が含まれている対話型のセッションであなたを残しthis addon便利かもしれません。

のpythonコンソールblender --python-consoleとしてブレンダーを実行するためのcli optionがある - このコンソールが実行されている間、あなたはいくつかのスクリプトを開くとexecことができるようにGUIは、更新されないと、あなたは、コンソールを終了すると、ブレンダーが、それは、GUIのアップデートされますが、インタラクティブな使用を許可するか、バックグラウンドモードで起動する場合は-bコンソールを終了すると終了します。

1

私のソリューションは、whileループが含まれており、いくつかの特定のコードを処理するための要求を受信するサーバソケットを作成するPythonスクリプト(script.py --pythonブレンダー)でコンソール経由でのBlenderを起動することでした。このループにより、ブレンダーはGUIを開くことができず、ソケットは同じブレンダープロセス内で複数のリクエストを処理します。

関連する問題