2011年4月24日日曜日

フラットシェーディングの設定

Constant_00
 
 
Softimageのコンスタントマテリアルのように、
カラーのみで陰影の出ないマテリアルの設定。
リアルタイムビュー(左・High Quality Renderingのみ)、
レンダリング(右)のどちらにも反映される。



Constant_01



1.lambertマテリアルを作成
2.AmbientColorを1、Deffuseを0に設定する



半透明表示も問題なく出来る。



Constant_03





2011年3月29日火曜日

自己流レンダリング手順のまとめ

最近リアル系のレンダリングによく使っている手法のまとめ。
 

 

カメラにレンズシェーダの[mia_exposure_photographic]、サーフェイスに
[mia_material]を使用することによりこれら2つの要素を物理ベースに固定した上で、
ライトの調整のみで全体のイメージを固めるやり方。
比較的シンプルに画作りが進められると思うが、カメラの知識は少し必要かもしれない。
 

  
0.レンダリングするシーンを用意する
 


    【サンプルシーンのワイヤーフレーム】
  

   
1.評価用シェーダとレンダラーを設定する

 全オブジェクトに評価用の仮シェーダをアサインする。
 とりあえず不透明素材は全て[illum-Lambert]、ガラスの部分には
 [mia_material]のプリセット[GlassPhysical]を使用。
 これは素材感を考慮せずにライト・カメラの効果のみを正しく評価するため。
 レンダラーは[mentalray]、[Quality Presets]の[preview:Finalgather]を使用。
 透明なオブジェクトが多い場合は[Quality]タブの[Raytracing]欄、
 [Refractions]と[Max Trace Depth]の値を調整。
   

  
2.カメラのトーンマップ設定を行う
 カメラのレンズシェーダに[mia_exposure_photographic]をセット。
 [mia_exposure_photographic]については以前の記事を参照。
 [Cm2Factor]を1000に変更。
 その他設定は実際のカメラでこのシーンを撮る事を想定したパラメータを入力する。
 サンプルは日中の室内なので[ ISO 200、Camera Shutter 100、F Number 8.0 ]とした。
 デフォルト設定通りだが、[Gamma 2.2]も確認しておく。
 
 

 
 ここまでの作業ではライトを一切置いていないので、
 レンダリングしてもほとんど真っ黒の画像になる。
 

  
3.影用ライトを配置する
 

 全体の光の方向性と影生成の為のライトを1灯配置。
 サンプルではderectionallightを使用。
 RaytraveShadowを使って影を落とす。
 ボケ具合の調整は以前紹介のこの方法で行う。
 Intensityで光の強さを調整。ここではシーン全体の明るさではなく、
 影の落ちている場所とそれ以外の場所のコントラストを決める。
 サンプルは[Intensity 4.0]

【影用ライトを配置したレンダリング画像】
 

  
4.環境光を設定する
 

 IBLを用いてシーン全体の明るさを調整。IBLの調整は以前のこの記事から。
 環境光の効果が増すほど3.で設定した陰影のコントラストが下がるので、
 実際には3.と4.を繰り返してシーンの明るさと陰影の強さを決める。
 3.と4.の役割を明確に分けて考えられれば、調整は比較的簡単な筈。
 サンプルでは白ベタテクスチャで[Color Gain V:10.0]
  


      【IBLを配置したレンダリング画像】
 
 
 
5.最終的なシェーダをアサインする
 

 各オブジェクトに本番用のシェーダをアサインしていく。
 もちろん使用するのは全てmia_materialなどの物理系シェーダ。
 サンプルの床など、カラーテクスチャを使用する場合には[Gamma Corect]
 ノードを用いてデガンマ補正を行わないと正しい色が出ないので注意。
 カメラのガンマ値が2.2なのでテクスチャのガンマ値は0.45に設定。
 
 

 
   シェーダが正しく設定された後に、反射のあるマテリアルの状況に合わせて
 [Render settings]の[Refrection]の数値を必要なところまで上げる。
 ここまでで大枠では完成。
 
 
    【シェーダを設定したレンダリング画像】
 
 
  
6.仕上げ
 サンプルでは仕上げ作業として以下を行った。
 ・FinalGatherAucualtyを300、point interporiteを50に設定し、ノイズを除去
 ・mia_exposure_photographicのF Numberを5.4に設定し、全体を明るく
 ・AmbientOcclutionを別レイヤーでレンダリングして合成(方法は以前の記事を参照)
 
 


  
   【アンビエントオクルージョンの画像】
 


         【完成したサンプル画像】
 
 
 

自分のクセとしては階調を充分に使おうをとした結果、完成した絵が後に見ると
薄暗く感じる事が多い。
一般的な感覚では多少階調が飛んでも明るくメリハリのある絵が好まれる事が
多いので気をつけたいと思う。
 
 
ちょっと前になりますが、当ブログのアクセス数が10万を超えたようです。
ありがとうございます。
今回はその記念という感じでいつもより頑張って記事を書いて見ました。
間違いや疑問点などありましたら教えて頂けると嬉しいです。
今後もよろしくお願いします。




2011年3月9日水曜日

レイトレースシャドウの輪郭をぼかす

エリアライト以外のライトでレイトレースシャドウを用いた場合でも、
影の輪郭をぼかすことが出来る。



1.ライトのアトリビュート[Shadows]内の[Use Ray Trace Shadows]にチェック

2.ライトの種類によって名称が違う以下の項目の数値を上げる
 ライト毎に効果の強さは違うが、総じて数値が大きいほどボケは大きくなる
 ・アンビエントライト  ・・・[Shadow Radius]
 ・ディレクショナルライト・・・[Light Angle]
 ・ポイント/スポットライト・・・[Light Radius]

3.ボケあしが大きいほど影がノイズ状になるため、[Shadow Rays]の値を上げる


       【ディレクショナルライト】

Directionallight_n 
      LightAngle 0 , ShadowRays 1
 
 

Directionallight_b
      LightAngle 8 , ShadowRays 50
 
 
 
          【ポイントライト】

 
Pointlight_n
     LightRadius 0 , ShadowRays 1
 
 
Pointlight_b
     LightRadius 20 , ShadowRays 30
 
 
綺麗なボケが作成できるが、擬似的なものなので正確性はエリアライトに劣る筈。



2011年3月3日木曜日

Maya2012発表

今年も前年と同じく、GDCでAutodesk製品の2012バージョンが発表された。
Mayaは2010→2011の大刷新に比べると、だいぶ地味な印象。
2011は1年間のうちに、SAP含めると6バージョンリリースされているし、
2012はその延長線上かなと思った。
個人的には2011は結構気に入っているのでこのままの感じで行って欲しい。



Maya2012



すでにいろんな場所で紹介されている、動画による新機能紹介は下記(動画は英語)
http://www.autodesk.co.jp/adsk/servlet/pc/index?siteID=1169823&id=14515689



日本語の新機能一覧はボーンデジタル様のサイトが一番見やすいと感じた。
http://www.borndigital.co.jp/software/info.php?id=88&pid=1



とりあえず触ってみたいのは、MotionBuilderとUI・ソルバが統一されたというHIKかな。



2011年2月4日金曜日

保存時の作業状態を書き込まない/読み込まない

デフォルトのOpen scene/Save sceneの設定では、
保存時に開いていたウィンドウの状態やツールセッティングの
パラメータなども同時に保存/読み込んでしまう。



なので、うっかり重いシーンでRenderViewやHyperShadeウィンドウを
開いたまま保存してしまうと、スペックの低いPCでは開く事が
できないなど、トラブルの原因になってしまう。それを避ける方法。



1.[Window]→[Setting/Preferences]→[Preferences]を選択。
2.開いたウィンドウの左端、[Categories]で[UI Elements]を選択
3.開いた項目中[Panel Configurations]欄内、
 [When saving]と[When opening]のチェックを外す



Saveset_001



これによって、データのみ保存/開く事ができ、作業設定はデフォルト状態が保たれる。



個人で作業する分にはどちらかのチェックが外れていれば問題ないのだが、
複数人での作業がある場合は[When saving]のチェックを外しておくのがマナー?



2011年1月10日月曜日

ハイディティールモデルからのノーマルマップ生成

Normalmap_02
        【ノーマルマップ適用後】



Normalmap_01
        【ジオメトリのみの状態】



ZBrushやその他スカルプトツールなどで作成したハイディティールモデルから
ノーマルマップを生成し、ローポリゴンモデルに転写する方法。
 
 
Normalmap_03



転写される側のローモデルは、事前にUV展開しておく。
その際、展開したUV同士が重ならないように配置する。
ハイモデルのUVは特に考慮する必要はない。
 
 
1.[Lighting/Shading]→[Transfer Maps…]を選択。
2.開いたウインドウの左上[Edit]→[Reset Setting]で初期設定に戻す。
3.初期設定の状態から以下の項目を変更する



Normalmap_04



・ローモデルのみを選択した状態で、[Target Meshes]欄内の[Add Selected]ボタンをクリック
・ハイモデルのみを選択した状態で、[Source Meshes]欄内の[Add Selected]ボタンをクリック
・[Output Maps]欄内の[Normal]アイコンをクリックし、NormalMap設定を追加する



・[Normal map]から生成した画像の保存先を指定する
・[File format:]から画像形式を選ぶ。非圧縮フォーマットが無難。
・[Use Maya common settings]にチェック。



・[Maya Common Output]欄を開く。
・[Map width:][Map height:]で出力画像サイズを指定。
・[Transfer in:]から転写方法を選択。
  双方のジオメトリ形状の誤差が少ないなら[UV Space]が精度高く転写できる。
  誤差が大きい場合は[World Space][Object Space]の方がうまく転写できる。
・[Filter size]の数値を1.5~2.0程度に下げる。初期値ではボケ過ぎる為。



・[Bake and Close]か[Bake]ボタンを押し、ノーマルマップの生成/転写を行う。



生成後には、ローモデルにノーマルマップがアサインされた新しいマテリアルが適用される。
これを確認するにはビューポートを[High Quality Rendering]にするか(グラボ性能による)、
mentalrayを使ってレンダリングを行う。
MayaSoftwareではノーマルマップは確認出来ないので注意。



Normalmap_05
        【生成されたノーマルマップ】



2011年始のご挨拶

Newyear



すっかり遅くなりましたが、明けましておめでとうございます。
昨年末は若干更新が滞りましたが今年もぼちぼちメモ書きを続けようと思います。



今年は予想通りに進めば、



・FBX出力設定の再確認
・リアルタイムシェーダへの(何度目かの)挑戦
・ゲームエンジン「Unity」の運用
・MayaのMEL、PSのjavascript、SIのvbsの作成、運用



などに挑戦することになりそうです。
なんだかMaya関連が少ないですが…。



近しいテーマで作業されている方がいらっしゃったら、
ぜひ情報交換できればと思います。
Twitterなどにもおりますのでお気軽に。



それでは今年もよろしくお願い致します。