2011年01月19日

背景作成 その9



ライトマップ化完了。
試しにレンダリングしてみたのが↑。解りづらいけれど、一応アニメーションしている。水面に入れたノイズモディファイヤをループする方法が解らなかったため、ループ化は妥協。
1フレーム3分かかっていたのが1分ほどに短縮できたので、60フレームをレンダリングするのに1時間ちょいでできた。

110119b.jpg

ライトマップはこんな感じ。↑は岩のマテリアルのライトマップ。実際は1024×1024で作ってある。

一応いろいろ試しはしたのだけれど、現状ライトマップに関してどういうのが正解か解らない。
とりあえず1/7の日記で書いていたことで、自己照明にフォールオフを入れていた岩の部分はなんとか出来た。元の岩のマテリアルは、自己照明にフォールオフを入れて、サイドの部分をライトの影響を受けないようにしていたので、ライトマップに変更時は、ライトマップをフォールオフに入れてもう片方には何も入れないことで、サイドの部分はライトマップを適用しないようにしたら、大体同じ感じの見た目にすることができた。
それとキャラの影が落ちる部分は結局、影だけ落とす方法がわからなかったので、ライトマップのマテリアルにせず普通にレンダリングすることで対処した。

ただ、いざライトマップを入れてみたら、自覚できていなかった問題がちらほらと出てきた。

まずノーマルマップの問題。
鏡面反射は普通にレンダリングするので、ノーマルマップは鏡面反射の要素で表現されれば十分だと思い込んでいたのだけれど、冷静に考えたら陰影にも影響するので、ある程度ライトマップの解像度を割かないとノーマルマップの意味がほどんど無くなってしまうことに気づいた。
しかしほぼ全体をUV展開しているため、ちょっとやそっとライトマップのテクスチャサイズを大きくしたところでさして改善しなかったため、とりあえず目立つ部分はライトマップをやめて、普通にレンダリングすることで対処した。

それと鏡面反射光に関して、ライトマップのマテリアルを適用している部分は、オブジェクトプロパティの影付けのチェックをはずしているため、本来なら影になる部分にも普通にハイライトが入ってしまっておかしなことになることに気づいた。
目立つとことして水面に落ちる円形舞台の影部分が気になったので、そこはライトマップのテクスチャを鏡面反射に入れることで多少ましにできた。ただ、厳密にやろうとしたら、それぞれライトマップに対応した鏡面反射光マップを作るしかないので、かなりでかいテクスチャをマテリアルごとにライトマップと鏡面反射で2枚入れることになって、ちょっと作り方としてどうなんだろうって状態になってしまう。

あとライトマップ用のUV展開に関してもいろいろ問題がある気がするのだけれど、
一回ライトマップを書き出すのに20分くらいかかって、もう試行錯誤する気がしないので、とりあえず今回は現状で妥協することにした。
なので、背景はこれで完成。


次はキャラのモーション周りをやる予定。
今までモーションやアニメーション作りを避けてきたので、一旦モーション付けの練習をいろいろやってみようと思う。
タグ:3DCG
posted by 縦横 at 02:15| Comment(0) | 背景 | このブログの読者になる | 更新情報をチェックする

2011年01月07日

背景作成 その8

110106a.jpg

110106b.jpg

110106c.jpg

110106d.jpg

 テクスチャの描き込みを一通り終わらせた。
 いろいろ不満点はあるけれどきりが無いので、基本的な作成はこれで完了。あとはライトマップ。

 現状のままだと1フレームのレンダリングに3分近くかかるので、ライトマップを使ってレンダリング時にライトの要素を鏡面反射以外計算しなくていいようにしようと思う。
 で、初め考えていたのは、別のマップチャンネルにフラッテンでパーツ全体のUVを開いて、そのUVにライトマップを書き出してRGB乗算で乗っけて、自己照明100%にするって方法でやろうとしていたのだけれど、そのままだとパーツによってはちょっと無理があることがわかった。

 柱とかの周りの建物部分は↑の方法で問題ないのだけれど、自己照明を100にするため、キャラが乗る部分にこの方法使ってしまうと、影が落ちなくなってしまうため、通路と円形舞台の部分にはそのままでは使えない。
 影だけ別で入れられないものかと調べているのだけれど、現状わからず。最悪キャラが乗る部分は普通にレンダリングするしかないかもしれない。
 それと青い岩の部分は、自己照明にフォールオフを入れて、サイドが光るように作っているので、自己照明を100にしてしまうとその成分が無くなってしまって、見た目が変わってしまう。これも何か別の方法を考えないといけない。
 さらに水面はノイズモディファイヤでアニメーションしているので、微妙にずれが出てしまう。

 こうして考えると、ほとんどの場所で↑の方法が使えないのだけれど、キャラをのせずに3分は自分的にちょっと長い気がするので、どうしたもんだか。

タグ:3DCG
posted by 縦横 at 00:59| Comment(0) | 背景 | このブログの読者になる | 更新情報をチェックする

2010年12月27日

背景作成 その7

101226a.jpg

101226b.jpg

101226c.jpg

 テクスチャを描き込みつつ細々修正中。
 ちゃんとしたテクスチャに切り替えていっているので、より良くなるはずなのだけれど、なんかあまり変わった気がしない。
 円形舞台の上面のデザインがパッとしないので何度も作り直しているものの、未だかっこよくならない。でもキリが無いのでこれで切り上げ。
 
101226d.jpg

101226e.jpg101226f.jpg

 なかなか終わらない上にずっと同じ作業が続いていたので、ちょっと気分転換にZbrushで銅像を作成。あまり重要なモデルではないので、短時間でパパッと。
タグ:3DCG
posted by 縦横 at 21:45| Comment(0) | 背景 | このブログの読者になる | 更新情報をチェックする

2010年12月13日

背景作成 その6

101212a.jpg

 背景はUV展開をとりあえず完了。
 テクスチャの使いまわしを考えなければいけないのだけれど、まずは普通に一通り開いてしまった。使いまわしはテクスチャを描きつつ調整していこうと思う。


 テクスチャ作成に入る前に、気になったので被写界深度をいろいろ調べなおす。
 aviutlでは無理そうだったので、潔くレンダリング時間はあきらめて、MAXのレンダリングで作ろうかと考え初めていたけれど、aviUtlの使い方をちゃんと調べたところ、一つ方法を思いついたので試してみた。

 http://www.nicovideo.jp/watch/sm11389396(aviUtlのアルファPNGでのクリッピング方法:ニコ動)
 aviUtlでは↑のようにアルファPNGでレイヤーをクリッピングできることが解ったので、z深度をアルファPNGに切り替えて、ぼかさないレイヤーをクリッピングすることで、擬似的な被写界深度を設定してみた。
101212b.jpg

101212c.jpg

 上が元画像で、下がz深度。
 z深度をMAXで書き出した後、Photoshopでz深度のグレースケールを、フォーカスを合わせる部分を残して、ぼかす部分を透明になるように弄って、PNGで保存しなおしておく。↑画像で言うと、白い部分を残して、黒い部分を透明になるようする。
101212d.jpg101212e.jpg

 aviUtlのレイヤーはこんな感じ。
 フォトショと逆で、上のレイヤーが画面上一番奥に表示されるので、まずレイヤー1に元画像を置いて、レイヤー2にレイヤー1をぼかすためのぼかしフィルターを置く。
 そのままだと、ただ全体をぼかした状態なので、次にレイヤー3にz深度をアルファPNGにしたものを読み込んでおいて、レイヤー4に再度元画像を読み込む。
 レイヤー4の設定を"上のオブジェクトにクリッピング"にすると、レイヤー3のアルファチャンネルにしたがって、レイヤー4がクリッピングされるので、ぼかした画像の上にぼかしていない画像を、z深度にしたがってクリッピングした状態で重ねることが出来る。
 あくまでも擬似的なので、静止画で見るとかなりショボイのだけれど、AfterEffectが無い身で、後処理で被写界深度を入れようと思ったら作業的にもさして面倒ではないし、割と有用だと思う。
 アルファPNG化するためのフォトショのバッチ処理が微妙に面倒なので、出来ればバッチ処理をせずにすむ方法を見つけたいのだけれど、今のとこ見つからず。
 

 それと、aviUtlでのz深度を使った被写界深度の方法が思いついたので、MAXでのz深度の書き出しを、もう少しちゃんとしたものは無いものかと探してみた。
 で、見つけたのが、zDepthDOFっていうプラグイン。
http://homepage.mac.com/bauer/portfolio_shaders/zDepthDOF/zDepthDOF.html
主にMayaやxsi用のプラグインでMAX用のはサポート外っぽいのだけれど、使ってみたら標準のz深度書き出しよりいろいろ設定できたので、z深度の書き出しはこれでいこうと思う。
 標準のRenderElementsでのz深度書き出しでは、近距離と遠距離を単純にグラデーションにすることしか出来ないけれど、zDepthDOFでは近距離と遠距離の他に、フォーカス距離とフォーカス範囲を設定できるので、手前と奥をぼかしてその中間のみフォーカスが合うってなこともできるようになった。
 標準のと違うのは、メンタルレイマテリアルで設定するため、使えばレンダリング時に勝手にやってくれるのでは無く、マテリアルとしてモデルに設定しなければならない。ただメンタルレイのマテリアル置き換えを使えば一括で置き換えられるため、さして作業の手間に違いは無い感じ。
 マテリアルである利点として、標準のz深度ではアルファは無視されるためアルファのあるモデルをちゃんと書き出すことは出来ないけれど、zDepthDOFでは、個別にちゃんとアルファも設定すれば、アルファ付のモデルでもちゃんと書き出すことが出来る。それと、フォーカス距離の値をアニメーションしてz深度を書き出すことによって、焦点の合う位置をアニメーションしたりもできる。

 zDepthDOFプラスaviUtlのぼかしフィルターなので、正確さもへったくれもないのだけれど、自分としては特に厳密さは必要ないので、これで十分だと思う。
 
タグ:3DCG
posted by 縦横 at 01:02| Comment(0) | 背景 | このブログの読者になる | 更新情報をチェックする

2010年12月09日

背景作成 その5

101209a.jpg

101209b.jpg

 背景続き。ライトを調整して、いろいろ作り込み。
 とりあえず大まかなとこはこれで確定。後はテクスチャを描きつつ、作り足したりノーマルマップに切り替えたりするするつもり。


101209c.jpg

 ライトはこんな感じ。
 メインライトはmrエリアスポットで、後はオムニライト。オムニライトは減退度を逆二乗に設定してある。

 それと今回のはaviUtlでコントラストと色味を弄ってある。
 MAXの環境と効果にある、輝度とコントラストやカラーバランスでも調整できるのだけれど、後からやり直しし易いのでaviUtlで弄ることにした。
 被写界深度の処理もaviUtlで出来ないものかと思ったけれど、どうも無理そう。
タグ:3DCG
posted by 縦横 at 22:54| Comment(0) | 背景 | このブログの読者になる | 更新情報をチェックする

2010年12月06日

背景作成 その4

101205a.jpg

101205b.jpg

 作業再開。いじってもいじってもカッコ良くならない。しょぼい。
 とりあえず、まだテクスチャの作業にすら進めていないので、パーツごとにだけでも先に進めようと思う。
タグ:3DCG
posted by 縦横 at 02:40| Comment(0) | 背景 | このブログの読者になる | 更新情報をチェックする

2010年11月24日

背景作成 その3

101123a.jpg

 背景続き。
 考えながら作っているので進みは良くない。

 グローに関して、オブジェクトにメンタルレイで入れる方法は未だわからないのだけれど、ビデオポストで入れる方法がリファレンスに載っていたので、グローかける場合はビデオポストで入れようと思う。
 ただ、画面上の開いている部分は建物部分と重ならない限り、あまりグローをかける意味は無いので、縁の部分に薄く透明度を入れてRGB乗算で色を追加してそれっぽくするのみにしてある。

 それとパーティクルの炎にぼやっとした光を入れたいので方法を模索。
 始め板ポリをアルファで抜いて作ろうと思ったのだけれど、炎自体はパーティクルの機能で自動でカメラの方に向いてくれるのだけれど、板ポリをカメラの方に向くようにする良い方法がよく解らなかったので、結局、球体の透明度にフォールオフを入れて、縁に向かって透明になるようにする方法で作ることにした。それが↓。
101123d.jpg

 そのままだと炎の前に表示されてしまうので、法線を反転してある。
 一応BillBoard Generatorっていう、常にカメラの方を向く板ポリを作るスクリプトもみつけたのだけれど、使い方をみたらちょっと面倒くさそうなのでこっちは保留。


101123b.jpg101123c.jpg

 それと水面を調整。
 まずはノーマルマップ生成用に、バンプにメンタルレイのoceanマップを入れた板ポリを作成。
 フォトショでシームレス化したかったので、白黒のバンプを書き出したかったのだけれど、テクスチャレンダリングのバンプマップの書き出しだとノーマルしか書き出せないようで困った。
 oceanマップはバンプかディスプレイスにしか設定できないようなので、ディスプレイスに入れてみたり、実際に変位させてプロジェクションで高さマップを書き出してみたりもしたのだけれど、うまくいかず、結局バンプに入れた状態でコンプリートマップを書き出してノーマル化した。
 ↑のテクスチャ画像の左が書き出してシームレス化したテクスチャで、右がそれをノーマルにしたもの。微妙に設定を変えた2枚のテクスチャを作って、ミックスマップのブレンド値とUVのオフセットをアニメーションさせて、それっぽく動くようにしている。
 ノーマルだけだとさびしかったので、さらに水面オブジェクトにノイズモディファイヤを入れて、Z方向のみ変位するようにもしてある。

 前回は、反射と屈折にレイトレースマップを入れて、透明になるように作っていたのだけれど、レンダリング時間が気になったので、屈折は切って完全に不透明になるように変更した。
 変わりに、拡散反射マップをフレネルに設定したフォールオフにして、視線と平行になるほど明るく彩度も高くなるようにして、さらに反射マップにもフレネルのフォールオフを入れて、片方をレイトレース、もう片方を黒のカラーのみ設定した状態にして、平行になるほど反射が強くなるようにしてある。
タグ:3DCG
posted by 縦横 at 00:42| Comment(2) | 背景 | このブログの読者になる | 更新情報をチェックする

2010年11月20日

背景作成 その2

101119a.jpg

 背景作成開始。簡単な形状とテクスチャで大まかに作成中。
 ライトはGIは使わずに、減退を設定したライトで作ることにした。
 
 上からの光のボリュームライトっぽいのは、始めはそのままボリュームライトを設定して作っていたのだけれど、どうにもレンダリングが重いので、フォールオフとグラデーションで透明度を設定したモデルで代用してみた。
 グローっぽいやつは今はフォトショでレタッチ。
 メンタルレイでモデルにグローをかける方法がどうにもわからないのだけれど、できればMAX上で掛けてしまいたいので、もう少し調べるつもり。

 ついでにZ深度を書き出して、フォトショで被写界深度っぽくレタッチしてみた。
 MAXでもちゃんと被写界深度を設定して試してみたのだけれど、これもボリュームライトと同じで大分レンダリング時間が延びるので、レタッチの方ですますつもり。大分面倒ではあるけれど、フォトショのアクションを作ってバッチで自動処理化できたので、やれなくはなさそうな感じ。

101119b.jpg

 こっちは試しにレンダリングしてみた寄りの画像。
 キャラ用のライトをまだ設定することが出来ないので、今のとこ暗い。


101119c.jpg

 他、ライトマップに関して調べたり試したりしてみた。
 
 とりあえず解っていたのは、背景はキャラと違ってテクスチャを複数箇所使いまわすのが前提なので、全体的な陰影は別にUVを作って入れるらしいってとこまで。
 で、始めはAOとシャドウを入れるつもりだったのだけれど、ライトマップってのを入れるらしいってのを聞いたので、ひとまず調べてみた。

 調べてみた感じ、どうもライトマップはDirectXシェーダでリアルタイム表示をする際に使うものらしいってのが解った。
 書き出し方は解っていたので、前回作ったやつを書き出して、DirectXマネージャでライトマップを設定してみたのが↑の画像。左がビューでの表示で、真ん中がディフューズ用テクスチャ、右がライトマップ。

 ライトマップって言うくらいなのでライトを完全に再現できるのかと思ったけれど、どうもディフューズに乗算で重ねているような感じで、レンダリングではディフューズの色より明るくなるような部分でも、ライトマップではディフューズの明るさのままになってしまって、再現できないっぽい。
 とりあえずレンダリングでライトマップを使う際は、単純にRGB乗算で入れれば、DirectXシェーダでライトマップを使うのと同じように使えそうなので、陰影付けにはライトマップを使おうと思う。
タグ:3DCG
posted by 縦横 at 01:42| Comment(0) | 背景 | このブログの読者になる | 更新情報をチェックする

2010年11月12日

背景作成 その1

101112a.jpg

 今までまともに背景物を作ったことがほとんどないので、作り始める前にいろいろ試し中。

 まずはチュートリアルのライトとレンダリングの項目をやっていなかったので、それをやっておいた。とりあえず基本的な使い方は理解。エリアライトとかいままで適当に使っていたけれど、パラメータを一切理解できていなかったことに気づいた。

 で、適当にラジオシティを使って作ってみたのが↑。まだまだ全然使いこなせん。
 ただ、ラジオシティとかGIとかを使うかは今のところわからない。最終的にはライトの要素の大半はテクスチャとして書き出すことになると思うのだけれど、どういった形がいいかはいろいろ試しつつ探ろうと思う。

 
 それと、2つほど気になったものを作ってみる。

 1つ目は左の炎。
 http://www.3dtotal.com/team/Tutorials_3/particle_blazing_fire/blazing_fire_01.asp
 ↑のチュートリアルを参考にまず作ったのだけれど、自分が作りたかったのとちょっと違うので、細々設定を変えてみた。
101112b.jpg

 まず、チュートリアルだとパーティクルのサイズの設定で先細りの形状にしているのだけれど、それだけだとちょっときついので、エミッタの上に、強度をマイナスに設定した風スペースワープを作ってバインドして、位置も真ん中に集まるように変更。それと、色はパーティクルエイジで設定した。他、細々レンダリングしつつ調整。
 割とこんなもんかなってくらいには出来たのだけれど、このままだと背景を黒以外にしたときに結構しょぼくなる。加算にしてみたら良くなるかと思ったけれど、メッシュが複数枚重なるせいか色が飽和しすぎてしまっていまいち。とりあえずはこの状態で放置。

 右は、カメラとの角度によって明るくなる地面。
101112c.jpg

 板ポリを高さのみずらして重ねて、上側の板ポリのテクスチャをフォトショの覆い焼きで明るめにしておく。
 で、上側のマテリアルを加算に設定して、不透明度にフォールオフを入れて、カメラとの角度によって不透明度が0〜50くらいになるようにミキシング曲線を調整。で終わり。上に重ねる方のテクスチャは、単色をぼかしたようなのでも良かったかもしれない。
タグ:3DCG
posted by 縦横 at 05:24| Comment(0) | 背景 | このブログの読者になる | 更新情報をチェックする