Blender Add-on Filter Tweak

Blender のアドオンを作った。Add-on Filter Tweak アドオン(ややこしい)。

Blender を使っていくと便利なアドオンをどんどん追加していくことになって、気がつくと N で表示されるサイドバー(通称 N-Panel)がたいへんなことになってしまう。

だいたいたとえば Auto-Rig Pro でキャラクターを作ってるときに Fluent のハードサーフェースモデリングの機能とか表示されてなくていいのである。Rigify でリギングされてるキャラクターを作ってるときは Game Rig Tools のパネルが出てほしいが Auto-Rig Pro のパネルは不要である。いっぽうで Auto-Rig Pro のワークフローなら Rigify の設定項目や Game Rig Tools のパネルは使わない。

Blender には標準機能として UI として有効にするアドオンをワークスペースごとにフィルタする機能がある(View3D > Sidebar > Tool > Workspace > Filter Add-ons)が、ワークスペースごとなので使いにくい(.blend ファイル内のすべてのワークスペースで個別設定)。

このあふれる N-Panel 問題を解決するための Clean Panels Pro というアドオンもある。私も使ってみたけどこれはこれで便利なものの自分にはオーバーキルな感じもした。

ようするに標準のアドオンフィルターですぐに .blend プロジェクト内の全ワークスペースに反映させたり、あれを簡単に全オン/オフできればいいのである。ということでそのための UI を追加するアドオンを作りました。

1.0 – mshibata/addon_filter_tweak – Codeberg.org

上記リンクからスクリプトをダウンロードしてインストールしてください。README.md ドキュメントはあるけどようは入れるだけです。

Blender のカラーマネジメント設定(完結編?)

あけましておめでとうございます。

macOS で Blender を使うときのカラーマネジメント設定」、「Mac の Blender でレンダリングした画像のカラープロファイル」、「続(?)Blender のカラーマネジメント設定」で細々と愚痴っていた Mac で Blender を使うときの色問題ですが、Blender 4.0 において「カラーマネジメント」の設定にめでたく「Display P3」が追加され、こちらでごにょごにょやる必要はなくなりました。

Color Management – Blender Developer Documentation

私はまだ 3.6 LTS なので詳しく試してませんが、少なくとも基本的な不満はこれで解消されたと推測します。

続(?)Blender のカラーマネジメント設定

2024-01-01 追記。「Blender のカラーマネジメント設定(完結編?)

Blender のカラーマネジメント設定、とくに広色域ディスプレイを持つ Mac で正確な色を見て作業するノウハウについて一昨年、昨年にブログを書いたのだけど、じつはそこで言ってる方法は理論的には正しいのだがなぜか Blender が落ちたりしてしまって実用上あんまりいいものではなかった。

いっぽうであいかわらずこのトピックは情報がマジでぜーーーーんぜん更新されなくて、同じような疑問を持った人がけっこうこのブログを検索で見つけて(というか日本語でこの話題を書いているのはここだけだ)試行錯誤してるみたいである。

で、じつは昨年くらいに最終解みたいのを見つけてしまっていたのだけどめんどうで書いていなかった。ツイートはしたかもしれない。というのも、ある YouTube 動画を見つけてそこにすべて述べられていたのである。

Blender configuration for ICC color accurate display with OCIO / ACES [English]

ここで言ってるとおりにすれば解決です。おわり。

あとはせいぜいだれかが日本語でこの内容を書いてくれればそれでいいんですがだれも書かないんですよ。なんなん

ウェブアプリ開発をローカルでやるかコンテナでやるか

VSCode で Python ウェブアプリケーションを開発するとき、コンテナの活用という視点で見るとつぎのように分類できる。

ローカルで開発、デバッグ

古典的なやりかた。プロジェクトをチェックアウトして、venv を作ってコードを書く。デバッグ(実行)するときもローカルのマシンで venv の Python で動かして確認する。いちばんなじみがある。

ローカルで開発、コンテナでデバッグ

VSCode ではデバッグ時にコンテナでプロジェクトを走らせることができる。ウェブアプリなんて作ったらどうせ(?) Dockerfile 書いてコンテナで動かすんだからはじめからコンテナで動作確認したほうがいい。後述の Dev Container が出るまでは有力な選択肢だった。

コンテナで開発、デバッグ

Dev Container ができて、最初から実行環境に近いコンテナでぜんぶ開発できるようになった。コンテナの中でローカルのように開発、デバッグできる。VSCode すごい。

Dev Container 開発の利点は、“What’s a devContainer and what is it good for?” (2023) という記事で次のような点が挙げられている。

  • 必要な開発環境をすぐに用意できる(依存ライブラリのインストールなどをあらかじめ揃えておける)。
  • 開発環境のバージョンを固定化できる。手元のマシンでは最新版にアップデートしたランタイムが後方互換性を失っているときなどでも以前のバージョンで開発を再開できる。
  • データベースなど連携するコンポーネントもコンテナに含めてしまうことで、実環境の変更の影響が開発環境に及ばないようにできる。開発者は各自自分のコンテナでの DB との接続性を保ったまま開発に集中できる。

で、ここではじつは開発環境が実行環境に近いということはとくに謳っていないのだが、たとえばプロジェクトで利用しているあるライブラリが Linux のみ対応だったり、Windows / macOS では挙動が違ったり、ディレクトリ構成が異なることで面倒な対応が必要だったりというのはありがちな話なので、そういうことから解放されるのはけっこう大きいメリットではないかと思う。

Mac の Blender でレンダリングした画像のカラープロファイル

2024-01-01 追記。「Blender のカラーマネジメント設定(完結編?)

前回の続き。Blender のバージョンは 3.0.1 時点での話です。

基本的に Display P3 の高色域なディスプレイを搭載する Mac で Blender を使うときのカラーマネジメントについては前回の通りで、このように設定すればビューポート上の表示は適切な色になる。

しかしこれで作成したモデルをレンダリングしようとすると結果はじつは正しい色にならない。

ならないというか、JPEG で出力すると Blender はカラープロファイルを考慮せずに問答無用で sRGB のプロファイルを埋め込んでしまう。Display P3 の色域の RGB を sRGB として記録してしまうので、この JPEG ファイルを(カラープロファイルをサポートする今日では一般的な画像表示ソフトで)表示すると薄暗い色となって出てきてしまう。

この不具合は前回紹介した Filmic Blender の作者である Troy James Sobotka さんが開発コミュニティに報告しているのを見つけたが、カラーマネジメントに理解のない開発者から「それはバグじゃない」とか言われて放置されていた(泣)。

この問題を修正するには、出力した JPEG 画像のカラープロファイル情報を書き替えてやればよい。カラープロファイルの「変換」ではないので注意。

Photoshop であればファイルを開き[編集]-[プロファイルの指定…]で、おそらく元は sRGB になっているところを「Display P3」にする。この時点で開いている画像の色味が正しいものに変わるはず。そして、画像を[別名で保存]すればよい。保存するときに埋め込むカラープロファイルは Display P3 でも sRGB でもよい。

ImgeMagic のコマンドラインでもできると思うけど割愛。