Python
Blender 4.1 で念願のドラッグ&ドロップを検出する FileHandler API が追加されました。 これによって、例えば *.txt なファイルを 3D View にドロップしたら、なんらかのインポート処理をはしらせる、などと言った事が公式で可能になります。 使い方は公式…
pybind11 は C++ と Python とで良い感じにやり取りができる C++ ライブラリです。 少し前の記事の記事でも紹介したとおり、わりと使いやすいライブラリです。 ただ、絶妙にドキュメントが足りなかったりして困るケースがあるので、今回はそれの補完用のメモ…
Blender アドオン作るときの小ネタ。 例えば、 Python では性能上厳しかったり、何らかの理由で Python から触れない何かを触りたい場合、 C++ で Blender のアドオンを書きたいケースがあります。 そういったことをやりたいときの方法をメモしておきます。 …
Blender アドオン作るときの小ネタ。 Blender アドオンを作っていて、何らかの処理をさせたい場合、通常は Operator を使用します。 import bpy from bpy.types import Context, Event, Operator from bpy.props import StringProperty class SomeOperator(O…
C++ から Python を扱うことが出来る (その逆も出来る) pybind11 という C++ ライブラリがあるのですが、それで Python の print をリダイレクトする方法についてのメモです。 問題は、 Windows Desktop Application の場合の対処法。 Windows Desktop Appli…
こういう動作をするのは Blender 的には、 UX 的にはあまり良くないのかもしれないですが、トグルボタンってある意味分かりにくいし......ということで、 Checkbox / ToggleBox にチェックを入れたタイミングで何らかの処理をする方法について。 これは、 Pr…
最近は Blender のアドオンを作ることもあるわたしですが、任意のタイミングで Operator の invoke が呼び出したくなったときの方法。 といってもカンタンで、以下のようにすれば良い。 import bpy bpy.ops.object.id_name("INVOKE_DEFAULT") ちなみに、引数…
Blender のアドオン作りたくなったので、 VS Code で作るためのやり方。 まずは、必要最低限の環境を整えていきます。 ということで、 Blender Development 拡張機能を入れます。 このとき、 Blender 2.8x を対象に作成する場合は、不具合があるようなので 0…
相変わらず Blender Add-on を書いている私です。 ある座標にある点 (x, y, z) をそれぞれの軸基準に回転させたくなったので、 その方法を書いておきます。 といっても方法は簡単で、回転行列を使ってあげるだけ。 回転する角度は rotation(x, y, z) で、座…
最近は Blender Add-on をいじっている私です。 Blender で、ある 4 点が同一平面上にあるかどうかを知りたくなったので、スクリプトを書きました。 例えば、下のように点 A ~ D があったとして、これがほぼ同一平面上にあるかどうかを知りたい場合は、 imp…
タイトル通り、以下の環境で pipenv install のうち、 mysqlclient が失敗してつらい。 なんか Ruby の mysql2 でもつらかった記憶があるので、 MySQL 周りはつらいのだろう。 環境はこんな感じ macOS Mojave 10.14.6 MySQL 5.6 (たぶん) Python 3.7.4 pipen…