そういえば ICC プロファイルの設定するとこないよね

Blender は 内部のカラーワークフローはしっかりしてるらしいし、GUI 内に『カラーマネジメント』の項もあるので勘違いしてしまいがちだけど、2D イラスト界隈でよく耳にする ICC プロファイルには対応していない。ことに、先日ようやく気がついた。完全なる奇襲であった。

当然レンダリング結果を PNG で保存しても適切な ICC プロファイルを埋め込んだりはしてくれない。なにか別のアプリケーションで、使ってるモニタのプロファイルを指定した後に sRGB に変換する、という工程を踏む必要がある。SAI とかと一緒ね。なんて手間の掛かる子なんだ Blender。

Krita もアヤしい

で、そこへ来て、もひとつ衝撃的だったのが、最近お絵描きに使ってる Krita のカラマネ仕様である。コイツがカラマネ対応してることはわかってたので、Blender で保存した PNG を Krita で開いて先の工程をやらせようとしたわけ。誰だってそーする。SAI 使いのみんなもいいね?

ところが Krita、画像ファイルを読み込む際に「この画像にはカラープロファイルがないよ。どのプロファイルを割り当てる?」的なことをどうにも聞いてきてくれない。

尋ねてくれない。

無言で勝手に sRGB の亜種みたいなプロファイルを割り当てるので彩度が落ちたくすんだ画像になってしまう。しかも現状の Krita には、いったん開いた画像に改めて任意の ICC プロファイルを指定しなおす機能が見当たらない。変換はできる。が、指定と変換は違う。プロファイルの変換を行うのは、まず正しいプロファイルを指定してからだ。

ここで大分悩んだのだが、なんとか正解を導き出すことができた。結論 Krita カラーマネジメントシステムの言う『他のアプリケーションから貼り付けたとき』というのは、クリップボードを経由したイメージのコピー&ペーストのことであり、それ以外のインポート手段すなわち『開く』メニューやエクスプローラからのドラッグ&ドロップでファイルを渡されたときのことなど知ったこっちゃないのである。

こうすると――
ついに、我々の待ち望んだ色の小窓が誕生した!

表示したイメージをクリップボード経由で受け取っているだけなのだから『プロファイル情報がありません』もクソもないと思うのだが、とにかくこのダイアログでモニタプロファイルを割り当て、しかるのち sRGB に変換すれば晴れて他所様にお出しできる画像が完成する。AdobeRGB に近い広色域モニタの色空間から sRGB に落ちるのだからどうしても彩度は下がるが、広色域モニタで作った画像をなにもしないまま sRGB 帯モニタで見られたり、あるいはブラウザに sRGB 扱いされるのと比べれば遥かにマシな劣化具合に抑えられる。

面倒なので

しかし Blender の UV/ 画像エディターには、表示中の画像をクリップボードにコピーする機能はない。レンダリング結果をカラマネ目的で Krita に持ち込むには、いつも通り F3 で保存した画像を別のビューアで表示させ、コピーする必要がある。面倒ねぇ‥。

Krita の名誉のために一応念を押しておくと、Krita でいちから描いたイラストにこんな面倒な工程は必要ない。Krita 上で絵が出来上がったらそのまま sRGB 変換して PNG なり JPEG なりで保存すればいい。また、ちゃんと ICC プロファイルを持っている画像であればエクスプローラからそのまま Krita にドロップしてもまったく問題ない、正しい表示をしてくれる。どうにもイマイチなのは、あくまでプロファイルを持たない画像ファイルの扱いだけだ。たとえば、Blender で保存した画像とかね!

検証用に Gimp も入れて試してみたんだけど、彼は画像を開いてから任意のプロファイルを指定する能力を持っているッ! 実にスマート!! あとシングルウィンドウモードなんてのも付いてずいぶん Windows アプリケーションっぽくなってた。カラマネのためだけに起動するのは少々ヘビーだけども。

はー Blender に対応してほしいっすね ICC。あんまり考えたくないんだけどディフューズテクスチャが AdobeRGB な場合とかどうなってんだろ。あんま考えたくないんだけどそっちの方が気になってるんだ実は。考えたくないけど。あと Cloth シミュのバグ直して。