ExpoDisc 2.0 でお手軽ホワイトバランス生活

 ・マニュアルホワイトバランスの重要性

写真を正しい色味で仕上げるためにはRAWデータでの撮影とホワイトバランス(WB)調整が不可欠です。

誤ったWB設定のまま、何十枚、何百枚と撮影された画像を、一枚ずつ調整するのは非常に手間がかかるため、できるだけ撮影の時点で正しいWB設定を使用しておきたいものです。

また、RAWではなくJPGで撮影する場合は、後処理で厳密なWB調整ができないため、なおのこと撮影時点で正確なWB設定を行うことが重要です。

仕上げの味付けのため、RAW現像処理でWBを大幅に変えることがありますが、この時、基準となる正しいWB設定が分かっていると、調整のやり直しや、ニュートラルな色味を中心に効果的な調整がしやすくなります。

このように正しいWBで撮影することには多くのメリットがあり、時間の節約にもなるのでとても重要です。


 

・オートホワイトバランス(AWB)の罠

オートホワイトバランスモード(AWB)は、おおよそ正しい色が再現されるようにカメラがWBを自動設定しますが、ほとんどの場合カメラ性能の限界なども手伝い正確な色の再現には至りません。(後半の作例を参照)


 

・WBの設定方法 – ホワイトバランスカードを使う場合

正しいWBで撮影したい場合、一般的には市販のカラーチャートに付属しているホワイトバランスカードやグレースケールカードを使用して設定を行い、マニュアルホワイトバランスモード(MWB)を使用して撮影を行います。

MWBでは、周囲の色味を測るためのMWB画像を撮影し、正確なホワイトバランスを判断するために使用します。

この方法では、被写体の近くにカードを配置して撮影し、MWB画像として使用する必要があるため、被写体のある場所に踏み入れられない場合は使用できません。

※ホワイトバランスカードを使う場合の設定方法(Canon公式サイトより)
http://cweb.canon.jp/camera/cms/c4_1.html


 

・WBの設定方法 ー ExpoDiscを使用する場合

ExposDiscを使用する場合は、MWB画像の作り方が違います。
ここでは、Canon EOS M3での設定方法を例に解説したいと思います。

1・カメラをマニュアルホワイトバランスモード(MWB)に設定する

IMG_0288

MWBモードでは、周囲の光の色味を測定するための画像データ(MWB画像)を解析し、正しいホワイトバランスの計算に使用します。

2・MWB画像を撮影する

フォーカスモードをマニュアルフォーカスモード(MF)にします。
ちなみにMFにするのは、ピントが合っていない状態でシャッターを切るためです。
ExpoDiscをレンズに密着させ、カメラを光源に向けシャッターを切ります。

スタジオ撮影のように被写体が小さく光源が明確な場合は、カメラを被写体の位置から光源方向へ向けることで、より正確なMWB画像が撮影できます。

被写体の色が強く、被写体の表面から跳ね返る光に不要な色が乗ってしまう場合は、純粋な環境光を取り込む事ができず、WBが狂います。
このような場合、光源に向けてシャッターを切るのがいいと思います。

風景写真などの場合は空全体が光源と考えて差し支えないので、純粋に撮りたい方向へカメラを向けてMWB画像を撮影することができます。

シャッタースピードや絞りが極端な値の場合、MWB画像の明るさも極端なものになり、正しいMWB画像として使用できません。撮影時のEVレベルが0になる状態で撮影するのが望ましいです。

IMG_0287

※実際にExpoDiscを使用している様子を自分一人で撮影するのは難しかったので、上の画像は機材一式をテーブルの上に置いた状態で撮影しています。実際は、両手でカメラとExpoDiscをそれぞれ持ってMWB画像を撮影します。

IMG_1972_REF

このように、MWB画像はほぼ単色の画像になります。

3・MWB画像を指定します

設定メニューから「MWB画像選択」を選び、先程撮影した画像を選択します。

IMG_0290

これで、WB設定が完了します。

4・撮影します

あとは撮るだけ。
時間が経過して日差しが変わったり、撮影場所を移動することで光源が変わった場合は、再び同じ手順でWBを調整します。


 

・作例 ー 環境光が暖色の例

AWBでの撮影

IMG_1971_AWB

環境光が暖色の状態で撮影。
環境光の影響で画面全体が若干赤みがかっている事がわかります。

MWB画像

IMG_1972_REF

調整後

IMG_1977_MWB

赤みが取り除かれる事で白がより白くなり、画面全体が自然な色合いになりました。


 

・作例 – 環境光が寒色の例

AWBで撮影

IMG_1982_AWB

環境光が寒色の状態で撮影。
環境光の影響で画面全体が青みがかっている事がわかります。

MWB画像

IMG_1983_REF

調整後

IMG_1985_MWB

画面全体から青みが取り除かれ、自然な色合いになりました。
若干赤みが強くなってしまった感はありますが、色味がAWBに比べ遥かに改善しており、十分に許容範囲と思います。


 

作例を見ても分かる通り、多少のブレはあるものの、ExpoDiscを使用することで、かなり手軽に、おおよそ許容範囲のWBを設定できます。

手頃な価格で現像の手間がかなり軽減できるこの製品、WB設定でお悩みの方は導入してみてはいかがでしょうか。

Fabric Engine 2 プラグインをMayaへ導入する

ふと気が付くとFabric Engine 2.0 がリリースされていたので、導入方法をメモしておきます。
やり方はほとんどバージョン1.15.3と変わらず。ライセンス入力あたりだけが大きく違います。

説明が急ぎ足なので、後で加筆修正するかも。


■Fabric Engine サイト

http://fabricengine.com/


■ダウンロードリンク

以前のようにEvaluation Lisenceのダウンロードリンクはありません。
ライセンスは後から取得し入力します。

FabricEngine-2.0.0-Windows-x86_64.zip
約500MB程度。ダウンロードを待ち、完了させます。


■解凍とコピー

ダウンロードが完了したら、zipファイルを解凍します。
解凍してできたフォルダ「FabricEngine-2.0.0-Windows-x86_64」は、C:\Program Filesの直下に置きました。


■ライセンスの取得

再びダウンロードページに戻り、ページ下部にある評価ライセンス請求フォームへ記入し、送信します。


送信が完了すると、ライセンスコードが表示されます。

このライセンスコードを保存しておき、あとでFabric Engineのライセンス登録フォームに記入します。


■Maya.envの編集

・以下を追加
MAYA_MODULE_PATH=C:\Program Files\FabricEngine-2.0.0-Windows-x86_64\DCCIntegrations\FabricMaya2014;


■Maya起動とプラグインのロード

ロードが完了すると、メニューに「Fabric」が追加されます。


■ライセンスの入力

ちょっと曖昧ですが、初回のプラグインロード時か初回のグラフ作成時にライセンス入力を求められるので、以前の手順で入手していたライセンスコードをコピーペーストして認証を完了させます。


 

■グラフを作ってみる

Fabricメニュ- → Create Graph

今バージョンから、メインで使用するノードタイプがcanvasNodeに変更されたようです。

Open Canvas ボタンを押します。

その他のノードベースツールで定番の操作、TABキーを押し、ノード名の一部を入力することでインテリセンスを使用して任意のノードを簡単に作成できます。

また、左右端のスライドバーをドラッグすると、ノード一覧が表示されます。
サブカテゴリを開き、キャンバス内にドラッグしてノードを追加できます。

ポートの追加は、左右の入出力ポードリストを右クリックし、Create Portを選択して行えます。

過去に作成したツールのご紹介

リンク

テクニカルアーティストを自称しているのに、あまりにも普段からツールネタが少ないのはどうかと思っていたところ、許可がいただけたので、自分がこれまで作ってきたツールの一部を載せてみたいと思います。

ご興味のある方はどうぞご覧ください。

 

Fabric Engine 1.15.3 プラグインをMayaへ導入する

Fabric Engine 1.15.3 を Maya 2014 64bit(EN) に導入するまでの手順を解説します。


インストール


 ・Fabric Engine公式サイトでファイルをダウンロード

 まずは、Fabric Engineのダウンロードです。
Fabric Engine公式サイトへ行きダウンロードします。

【Fabric Engine】http://fabricengine.com/

 今回は個人的に評価/研究のために使用するので、Evaluation ライセンスでダウンロードしました。


REQUEST LICENSEを押します。
すると、ユーザー情報の登録フォームページが開きます。


・ユーザー情報登録フォームに必要事項を入力

各項目を入力します。

First Name : 姓
Last Name : 名
E-Mail : メールアドレス
JOB Title : 役職
Company : 会社名
WebSite : 会社のWebサイトURL(個人であれば個人サイト)

Please tell us a little about what you
do and how you plan to use Fabric Engine.

Fabric Engineを使用する目的を簡単に記入します。

入力が終わったらSUBMITを押します。
すると、ダウンロードページが開きます。


・ダウンロードページ

使用するOSのブロックにあるDOWNLOADボタンを押し、ダウンロードを開始します。

※当方はWindows版を使用するので、Windows環境での解説をします。


・ファイルの解凍と配置

 ダウンロードした「FabricEngine-1.15.3-Windows-x86_64.zip」を解凍します。
解凍して出来たフォルダ「FabricEngine-1.15.3-Windows-x86_64」を任意の場所へ移動します。
今回は、分かりやすい C:\Program Files 直下に移動する事にしました。


・Maya.envを編集しモジュールパスを通す

Maya.envファイルはMaya2014の場合、以下のパスにあります。

C:\Users\USER_NAME\Documents\maya\2014-x64\Maya.env

上記.envファイルをテキストエディタで開き、以下の行を追加します

※各パスは各々の環境に合わせて適宜書き換えてください。
※当方の環境はMaya2014ですので、FabricSpliceMaya2014SP3にします
※良いエディタがない場合、ワードパッドは使わずメモ帳を使用すると安心です。


・MayaにFabric Engine(FabricSpliceMaya.mll)をロードする

 Mayaを起動し、Plugin Managerを開きます。
前の手順でMaya.envに追記された「MAYA_MODULE_PATH」で示されるパスの中にFabricSpliceMaya.mll があることを確認し、Loadedにチェックを入れます。問題なくチェックできればロード完了です。
必要に応じてAuto Loadをチェックしておくと、次回以降のMaya起動時に自動ロードされるようになり便利です。

 緑色の i ボタンを押し、プラグインにより追加されたノードやコマンドを確認してみます。

 以上でMayaへのFabric Engineの導入は完了です。


・ノードを作ってみる

 試しに、Mayaで以下のPythonコードを実行してみます。

 Maya起動後の初回ノード作成時は、Fabric Engineのシステムをロードするためか、実際にノードが作成されるまで結構時間がかかります。

 先ほど作成したspliceMayaNodeノードをアトリビュートエディターで表示してみました。

 実際にコードを編集する際は、Open Splice Editor ボタンで開くSplice Editorを使用することになります。

 具体的な使い方やTIPSは追々勉強しながら書いていこうと思います。

書籍「マイクロインタラクション ―UI/UXデザインの神が宿る細部」

良いツールの要素とはなんだろうと考えた時、第一に安定性や機能の豊富さ等が挙げられると思いますが、それと同程度以上に必要な要素とは、ユーザにとっての使い易さやわかり易さなのではないかと思います。

ツールに含まれる動作一つをマイクロインタラクションと呼びます。
マイクロインタラクションは、トリガールールフィードバックループとモードの4ステップに分割して考えることができます。

トリガー : 動作が起こるきっかけ
ルール : 動作内容
フィードバック : ルールにより引き起こされる反応
ループとモード : ルールの長期的な動作

本書では、ツール設計の際、いかに良いマイクロインタラクションを設計し、ユーザーフレンドリーなツールをつくり上げるかに焦点を当てながら、既存のWebサイトやソフトウェアからGUIを抜粋し具体例として挙げ、それらの良い点と悪い点を考察します。

ツールを作るとき、理解しやすく使いやすいツールにしたいと考えるけれど、その方法に明確な指標を持てておらず、結果的にユーザの操作に対して反応がぎこちなく、分かりにくいツールになってしまう悩みを持っているような方には特にお勧めしたい一冊です。

Maya – リソースイメージを抽出

ツールのGUIを作ってる時、Mayaのリソースイメージをそのまま流用したいことがある。
わざわざキャプチャしたりするのは面倒なので、上記のコマンドでごっそりイメージファイルを抜き取って、必要なアイコンを使ってしまおう。


こんな感じで簡単にアイコンを抽出出来た。

書籍「その数式、プログラムできますか?」

 論文や教科書を参考に、数式をプログラムコードに落とし込みたいと思った時、複雑な数式をコードに落としこむのは、高い数学の素養を必要とすることが多く、なかなか骨の折れる話だったりする。この本は、そんな時の一助となる書籍です。

訂正
以前書いたレビューでは、数式をプログラムコードに落としこむ方法に焦点を当てた本であると取られてしまったかもしれません。
そのため、少し補足をする必要があります。

この本は、ジェネリックプログラミングと呼ばれるプログラミング手法に焦点が当てられています。
※ジェネリックプログラミングとは、データの形式に依存しない高効率なコードを書くスタイルで、ポリモーフィズムの一種。詳しくは以下をご参照ください。
ジェネリックプログラミング-Wikipedia
C++ジェネリックプログラミング入門

数式をコードに落としこむ下りも当然登場するのですが、どちらかと言うと既存の定理の数式(アルゴリズム)をより一般化し、最適化し、結果が正しいことを証明し、コードに落としこんでいくという内容がメインで、例えば、Σはプログラムコードに落としこむとどういったコードになるのかといった、数式をコードに落としこむ方法を一から懇切丁寧に解説する書籍ではありません。

もしこの記事を見た方が誤解して買ってしまい、話がちゃうやんけ!となってしまっては申し訳ないので訂正させていただきます。(すみません)

内容は非常に興味深く、役に立つ書籍だと思いますので変わらずおすすめしたいと思います。

Python SOPでデフォーマーを作ってみる

リクエストがあったのでVOP SOPのような処理をPython SOPで行う方法を書いてみる。
とりあえず、ノード構成はこんな感じでやってみる。

■Python SOP

myDeformerはPython SOP
Python SOPはデフォルトの状態だと以下のようにコードが記述されている。

 

hou.pwd()はPython SOP自身のノードオブジェクトを返す。
Node.geometry()は自身に入力されたhou.Geometry型のジオメトリオブジェクトを返す。

geometryの中にはPointやEdgeやPrimitive型のオブジェクトが含まれており、実際に形状や色を変更する際は、これらのコンポーネントオブジェクトを取得して操作する。

■コンポーネントの取得

■Pointリストの取得
points = geo.points()

■Primitiveリストの取得
prims = geo.prims()

それぞれのコンポーネントに一律の処理を行うには?

 

 

■pointを移動してみるサンプル

 

 

・Gridを変形

・Sphereを変形

■各オブジェクトのリファレンスマニュアル

各オブジェクトの使い方は以下のマニュアルを参照すべし

・hou.Geometry
http://sidefx.jp/doc/hom/hou/Geometry.html

・hou.Point
http://sidefx.jp/doc/hom/hou/Point.html

・hou.Prim
http://sidefx.jp/doc/hom/hou/Prim.html