Blender用PythonコードをVSCodeで書くための環境構築メモ(VS Codeでデバッグ実行)(※中途半端にできた)

こんな状況で中断してます。
・break point置いてデバッグ実行→できる
・日本語コメント付きUTF-8コードでの実行→できる
・Blenderからのコード実行→概ねできる(Blender単独で実行時となんか違う感じがする)
・謎の強制終了→おきる(2回 同じコード実行で)

画像1

こんなのあったので導入することにした。
0:導入してコマンドパレット(Ctrl+Shift+P)開いて
1:Blender:Startしたら
2:初回はBlenderの場所を尋ねられたので
3:blender.exeを指定して
4:ワークスペース開いてなかった(ファイルだけ開いてた)ので
 Blender用スクリプトのフォルダ指定した

画像2

その後も色々エラー起きてたけどこんなことすればコード実行できました。
(しっかり確認してないのでやらなくてもいいの含んでるかも)
環境側
 ・bpy_2.92(前作ったanacondaの仮想環境) に「pip install debugpy」
  ※以前導入したbpy-fakeと同様condaできなかった
 ・VSCodeを管理者として実行
  ※パーミッションぽいエラーが出たのでやった
コード側
 ・全角のコードあるとエラー出る(cp932云々のような)
 ・「if __name__ == "__main__":」はfalseになって実行されないので↓

# ifなくても良い
if __name__ == "__main__":
   main()
else:
   main()

全角のコードはどうしても使いたいので続けて対処。
「C:\Users\%username%\.vscode\extensions\jacqueslucke.blender-development-0.0.15\pythonFiles\include\blender_vscode\operators\script_runner.py」
たぶんutf-8のファイルしか作成しないと思うのでどんなファイルも強制的にutf-8で開くようにする。

# 26~28行目def prepare_script_context(filepath):
   with open(filepath, encoding='utf-8') as fs:
       text = fs.read()

そしたら実行できました。break pointも置けました。

画像3

画像4

ターミナル側は文字化けしてたので↓設定したら文字化けしなくなった。
もしかしてこの設定先にしてれば前作った記事(Blenderのシステムコンソールを文字化けしないようにしたい+スタートメニューからワンクリで起動したい)いらなかったんじゃないでしょうか。
https://pystyle.info/vscode-change-default-encoding-of-terminal-to-utf8/
https://4thsight.xyz/2915

キーバインドで「Run Script」のショートカット設定してキー実行できるようにしたけど、2回めの実行で落ちる(EXCEPTION_ACCESS_VIOLATION)しリジッドボディの追加もうまくいってなかった。
Blender側でテキスト読み込んで直接実行したときと微妙に違う動作するし(if __name__ =='main'のところとか…)なにか違うんでしょうね。

今の所デバッグそこまで必要ではないので中断。
もし必要になったら調査します。

この記事が気に入ったらサポートをしてみませんか?