Macintosh用Poser 6日本語版は、SR2-122を適用するとPNG形式の入出力ファイルが破損する。
いきなりで今更なネタだけど、今まで書くのを忘れてたのでまあ覚書程度に。画像の入出力をサポートするファイルは、アプリケーションフォルダ内のRuntime>ImageIOPluginsフォルダに入っている。破損するという表現が正しいかどうかはわからないが、とりあえずアップデータのSR2を当てるとこの中のImageIO_PNG_M.mrwというファイルが使い物にならなくなるらしい。これによって、レンダリング画像をPNG形式で出力できなるばかりか、状況によってはサムネールが表示されなくなる等の不具合が発生する。
PPP以降のPoserは、ライブラリにアイテムを登録した時にPNG形式のサムネールを作成する。またP4以前との互換性を保つため、同一階層内にPoserファイルと同名のPNGファイルがない場合は、Poserファイルのリソースフォークからサムネール情報を取得して、自動的にサムネールを作成しようとする。
PNGの画像入出力ファイルが壊れるということは、つまりこのサムネールをPNG形式で作成できなくなるということだ。具体的には、代わりに「レンダリング画像の出力で直前に使用した画像形式」を使用する。つまり、P6J SR2-122で自動的に作成されたサムネールは、拡張子が.pngになっていても実際にはPhotoshop形式だったりJpeg形式だったりするというわけだ。
DAZの古い製品をインストールした時、最初はサムネールが表示されていたはずなのに、次回Poser起動時には何故か表示されなくなってしまった、というケースはこれに該当する。DAZの古い製品は大抵Mac版はリソースフォークに、Windows版はrsrファイルでサムネールを提供している。だからもし画像出力形式をJpegにしたままこれらのアイテムを表示させると、初回はリソースフォークの正常な情報でライブラリの中身を表示するが、次回以降はJpeg形式で作成されたサムネールを参照してしまうので正常に表示できないのだ(アルファチャンネルが出力できるPhotoshop形式やPICT形式を使用していた場合は、PNG形式ではないものの表示はできる)。
そんなわけで緊急回避策。壊れてしまうファイルがわかっているのだから、壊れる前の正常なファイルを保存しておいて差し替えてしまう。ただしこのImageIO_PNG_M.mrwは、なんでか別のフォルダに退避しておいて後から単独コピーしても上手く機能しない。なので、SR2-122を当てる前の「ImageIOPlugins」フォルダをまるごと右クリック(またはcontrol+クリック)してアーカイブを作成する。
でもってSR2-122を適用したあと、Poserを起動する前にまるごとImageIOPluginsフォルダをゴミ箱に放り込んで、ついでに削除してから作成しておいたアーカイブを解凍する。これでSR2-122を当てた後でもPNG形式の出力ができる。
一度作成されてしまったPNG形式以外のサムネールは、DAZ製品のような自動的に作成されるものなら削除してしまうといいだろう。リソースフォークの情報はそのままなので、サムネールを削除すればライブラリを表示させる度に何度でも作り直すことができる。
自分で作成したファイルのサムネールにはリソースフォークの情報がないので、削除してしまうと再度作成することができない。どうしても支障がある場合は、プレビューとAutomatorあたりを組み合わせて一括変換するといいだろう。もとから普通のPNG形式で提供されているサムネールは、もちろん何もしなくていい。
まあ本当は公式に修正されればいいんだろうけど、もうSR3が出る事もないだろうし、なんか役に立つ事もあるかな~、と。
ていうか配付物作るなら未だにP7EよりP6Jの方が便利なんだよなー。