2016/04/07(木) [n年前の日記]
#1 [cg_tools] Vue 5 Easelはレンズフレアを消せないらしい
Vue 5 easel で360度パノラマ画像をレンダリングする際に、太陽にくっついてくるレンズフレアの形がかなり歪んで酷い画像になってしまうので、レンズフレアを消すことはできないのかと調べてみたのだけど。どうやら Easel版ではそんなことはできないらしい。
上位版なら、大気エディタのウインドウに「効果」というタブがあって、そこでレンズフレアを無効にできたりするようで。あるいは、レンズフレアエディタという機能があって、そこでレンズフレアを無効にすることができるらしい。しかし、Easel版にそんなものは無い。
てなわけで、Easel版でパノラマ画像をレンダリングしたかったら、レンズフレアが出てこないシーンデータを作ってレンダリングするしか無さそうだなと…。つまり、太陽が直接映ってるようなデータは作れない。山か何かで太陽を隠すとか、そんな誤魔化し方をするしかナサゲ。となると当然、地形への光の当て方にも制限が出てくるわけで。
せっかく買ったソフトだから、どうにか使い道がないかと色々試してみたけど…。Vue、使えねえ。
上位版なら、大気エディタのウインドウに「効果」というタブがあって、そこでレンズフレアを無効にできたりするようで。あるいは、レンズフレアエディタという機能があって、そこでレンズフレアを無効にすることができるらしい。しかし、Easel版にそんなものは無い。
てなわけで、Easel版でパノラマ画像をレンダリングしたかったら、レンズフレアが出てこないシーンデータを作ってレンダリングするしか無さそうだなと…。つまり、太陽が直接映ってるようなデータは作れない。山か何かで太陽を隠すとか、そんな誤魔化し方をするしかナサゲ。となると当然、地形への光の当て方にも制限が出てくるわけで。
せっかく買ったソフトだから、どうにか使い道がないかと色々試してみたけど…。Vue、使えねえ。
◎ カメラの設定で状態が変わるっぽい気もする。 :
360度パノラマ画像をレンダリングする際、メインカメラの焦点距離に大きい値を入れてみたら、レンズフレアが出ない状態になる時があるような気がしてきた。例えば焦点距離を135mmぐらいにしてみたり、とか。その代り、太陽がどこかに行ってしまう。地形データの明るさは太陽がある時と同じに見えるけど。どうしてこういう状態になるのかは謎。
[ ツッコむ ]
#2 [gimp] GIMPのMathMap用スクリプトを少し修正
昨日書いた GIMP + MathMap用のスクリプトは、横:縦=1:1の心射円筒図法の画像を、MathMap で正距円筒図法の画像にしてから、GIMPで2:1になるように縦方向を縮小、ということをやってたのだけど。MathMapのフィルタ処理+GIMPの縮小処理で、2回の変換が入るせいか、画像が荒れてしまうことに気づいたわけで。
そこで、MathMapで縮小までやってしまうようにスクリプトを少しだけ修正。これなら変換が1回で済むから多少はマシなはず。
_cylindrical2equirectangular_scale.mm
画像の縦方向を半分に縮小するなら、in(xy:[x, y * 2]) と書けばいいわけだけど。そのノリで、tan( y * (pi / 2) ) * 2 と書いてしまうと、心射円筒図法から正距円筒図法に変換するあたりがおかしくなる。この場合、tan() に渡す値を x 2 してやらないといけない。ということで、tan( y * (pi / 2) * 2) = tan( y * pi ) になる。
ただ、tan() に渡す値を x 2 にしただけでは、画像が縦方向に何回も描画される結果になってしまう。何故かというと、tan() に渡してる値が、-90度 〜 +90度を超えてしまうため。 _tan()は90度を超えるとまた同じ値の変化が表れてしまう ので、同じ画像が何回も描画されてしまうわけで。
なので、clamp(値, 最小値, 最大値) を使って、値が -90度から+90度の範囲に収まるようにしてる。
そこで、MathMapで縮小までやってしまうようにスクリプトを少しだけ修正。これなら変換が1回で済むから多少はマシなはず。
_cylindrical2equirectangular_scale.mm
# cylindrical to equirectangular and scale filter cylindrical2equirectangular_scale(image in) in( xy: [x, (1/pi) * tan( clamp(y*pi, -pi/2, pi/2) ) ] ) end修正内容は…。tan( y * (pi / 2) ) としていたところを、tan( clamp(y*pi, -pi/2, pi/2) ) にしただけ。
画像の縦方向を半分に縮小するなら、in(xy:[x, y * 2]) と書けばいいわけだけど。そのノリで、tan( y * (pi / 2) ) * 2 と書いてしまうと、心射円筒図法から正距円筒図法に変換するあたりがおかしくなる。この場合、tan() に渡す値を x 2 してやらないといけない。ということで、tan( y * (pi / 2) * 2) = tan( y * pi ) になる。
ただ、tan() に渡す値を x 2 にしただけでは、画像が縦方向に何回も描画される結果になってしまう。何故かというと、tan() に渡してる値が、-90度 〜 +90度を超えてしまうため。 _tan()は90度を超えるとまた同じ値の変化が表れてしまう ので、同じ画像が何回も描画されてしまうわけで。
なので、clamp(値, 最小値, 最大値) を使って、値が -90度から+90度の範囲に収まるようにしてる。
◎ 使う時の注意点・作業手順。 :
前述のスクリプトを使う際、対象画像は、横:縦 = 1:1 の画像にしておくこと。
例えば、Vue で 46:21、1024 x 467ドットの360度パノラマ画像をレンダリングしたとして。GIMP で開いてから、以下のような手順になる。
変換後、上下の透明部分が邪魔なので、トリミングしないといけない。
「均等にガイド」は、GIMPの追加スクリプト。 _均等にガイド(Grid of guides) から入手できるはず。
例えば、Vue で 46:21、1024 x 467ドットの360度パノラマ画像をレンダリングしたとして。GIMP で開いてから、以下のような手順になる。
- 画像 → キャンバスサイズの変更。縦幅を横幅と同じ 1024ドットに、かつ、画像を中央に配置する。オフセットの「中央」ボタンを押せば、中央に配置できる。あくまで、キャンバスサイズの変更をするだけ。画像の拡大縮小はしない。拡大縮小してしまうと、心射円筒図法から正距円筒図法への変換がおかしくなる。
- そのままだと、対象レイヤーが以前のサイズを引き継いだままになってる。レイヤーサイズも変更しないといけない。レイヤーを右クリック → アルファチャンネルの追加。かつ、レイヤーを右クリック → レイヤーをキャンバスに合わせる。これで、レイヤーも、キャンバスと同じ、1:1のサイズになる。
- 前述のMathMapスクリプトを実行。フィルタ → 汎用 → MathMap。これで、正距円筒図法の画像になってるはず。
変換後、上下の透明部分が邪魔なので、トリミングしないといけない。
- 画像 → 画像の自動切り抜き。これで上下の透明部分を省いたサイズでトリミングされる。その後、画像 → キャンバスサイズの変更。横:縦 = 2:1 のキャンバスサイズに変更する。
- あるいは、ガイドと切り抜きツールを使ってトリミングしてもいい。表示 → ガイドにスナップ、が有効な状態で、画像 → ガイド → 均等にガイド。横の分割数を1、縦の分割数を4にしてガイドを作成。これで、切り抜きツールを使って 2:1 のサイズでトリミングしやすくなる。
「均等にガイド」は、GIMPの追加スクリプト。 _均等にガイド(Grid of guides) から入手できるはず。
◎ MathMapの設定について。 :
色々試してみたけど、MathMap の Settings の Supersampling は、有効にすればいいというものでもなさそうだなと。有効にしたら、結果画像が結構ぼやけてしまった。
デフォルトでは Antialiasing だけチェックが入ってるけど、その状態が、バランスが取れてるのかもしれず。
デフォルトでは Antialiasing だけチェックが入ってるけど、その状態が、バランスが取れてるのかもしれず。
[ ツッコむ ]
#3 [pc] Amazonから色々届いた
一応メモ。
HDDケースは、弟が帰省した際に置いていってくれたHDDを入れる予定。HDDのエラーチェック自体は済んでたはずなので、入れればOKのはず。
USBメモリも、少し前に届いてことを忘れてた。メールを確認したら、2016/04/04に届く予定だったらしい。
- ケースFAN ENERMAX TBサイレンスPWM UCTB9P。(9cmファン、4ピンコネクタ) 1,111円。
- 外付けHDDケース 玄人志向 GW3.5AA-SUP3/MB。(USB3.0接続、3.5インチSATA接続HDDに対応、電源連動機能付き)。2,463円。
HDDケースは、弟が帰省した際に置いていってくれたHDDを入れる予定。HDDのエラーチェック自体は済んでたはずなので、入れればOKのはず。
USBメモリも、少し前に届いてことを忘れてた。メールを確認したら、2016/04/04に届く予定だったらしい。
- USBメモリ Transcend TS32GJF790KPE。JetFlash 760 (32GB、USB3.1/3.0対応、スライド式、色は黒) 1,450円。
[ ツッコむ ]
以上、1 日分です。