記事一覧

街並み

UDKで結構前から作ってるマップ。
ファイル 172-1.jpg
ファイル 172-2.jpg

ブルームからレンズフレアを発生させるポストプロセスを作りたい。
実写だとこんな感じ。
http://www.claudiomiranda.com/lenstest/page2.html
Crysis2とかにも演出として使われている。
画面内で小さく最も高輝度な領域だけを抽出して、2~4つに分けてそれぞれUVで度合いを変えて横にぼかしながら伸ばして合成しているんだと思う。
実際海外のユーザで、ブルームからレンズフレアを自動的に生成するようなポストプロセスを作ってる人が何人かいるが、マテリアルエディタでは自前のHLSLを使ったノードを使ったりしている・・・のかな?
http://forums.epicgames.com/threads/782846-My-Anamorphic-Quest
素人には簡単な道のりではないようだ。

あと、明るい日中の描写のために変動的なトーンマップもポストプロセスで作れないかなあ。

Dx11海面シェーダ@UDK

http://ulrichthuemmler.blogspot.com/p/udk-ocean.html
こちらの方が作成したマテリアル、ソースのキャプチャも公開されているので真似て作ってみた。
ベースとなるディスプレイスメントマップとノーマルマップの組み合わせ次第でいろんな海面や川みたいなのが作れるほか、透明度・泡・フレネル・環境マップ・波形状などの設定可能なパラメータが50個もある。

テッセレーションによりポリゴンを分割し、合成されて常時変化するディスプレイスメントマップによってアニメーションする。

ファイル 171-2.jpg
ファイル 171-1.jpg
http://unreal.rgr.jp/udk/Dx11SeaWater.wmv
元は三角X2ポリゴンの四角形の板

Gears of War 3のリファレンスモデル

http://www.zbrushcentral.com/showthread.php?162646-Gears-of-War-3-Environment-Art
http://www.zbrushcentral.com/showthread.php?162670-Gears-of-War-3-Character-Art-Dump
GoW3のキャラクタや設置物などの本来のハイポリモデル。ゲーム中ではこれらをローポリに落とし込んで使っている。

HDRレンダリング

UnrealEngineのライティングで納得いかないところが一つある。
UDKのポストプロセスエディタのトーンマップは自分で変更できる数値設定だが、これが完全な固定であるということ。

「暗い部分屋内に入ると明るい野外の明るさが増して見えたりする」というような、明るさの視覚シミュレートみたいなことができない。
強い光に照らされて強いハイライトが再現されるのはHDRの効果なんだけどトーン調整が一定なので、まぶしいところがずっとまぶしいので違和感と感じるときもある。

このページの「第2の効能は,人間の目やカメラの“露出”をシミュレートできるというところにある。~」の部分ができない。
http://www.4gamer.net/specials/3de/051116_hl2lc/051116_hl2lc.shtml

そんな珍しい機能でもないし、できてもいいと思うんだけど、Epic的にあんまりいらないのかな?

SCAR その6

ファイル 167-1.jpgファイル 167-2.jpgファイル 167-3.jpgファイル 167-4.jpg

バイポッドとスコープを作った。バイポッドは脚部分を収納してグリップとしても使えるタイプ。
どっちも独立したテクスチャとマテリアルなので使いまわしもできる。
MP5のときより良い出来だと思う。いやー面倒だった。

SCAR その5

ファイル 166-1.jpgファイル 166-2.jpg

Mayaのハードウェアレンダ。
2048x2048のカラー・スペキュラ・ノーマルのテクスチャでAOベイク済み。

SCAR その4

ファイル 165-1.jpg

ほぼ完成か?

SCAR その3

ファイル 164-1.jpg
もういい加減テクスチャのペイントに入りたい。三角ポリゴンで8766。
ローポリで普通のスムースエッジによる法線では、ノーマルマップでも正確な面が再現できないところが多くて、特にまっすぐな平面とカーブが入り乱れた輪郭の形状はシビア。細かいところで法線の向きを弄ってある。
手持ちのソフトではMayaしかできないなこれ。

ファイル 164-2.jpg
スコープ付けようと単独で製作中。

SCAR その2

ファイル 163-1.jpgファイル 163-2.jpgファイル 163-3.jpg

スムースエッジにできない角が殆どで、さらにローポリだから変なグラデーションができやすい。完全にノーマルマップで正確な面にできないからいろんなところで法線を弄っている。その甲斐はあったけど。
ハイポリとローポリの二度手間でパーツも今までで一番多かったから、ここまででも日数かかったなあ・・・

法線をカスタマイズ

SCARの部品の中に、一番ノーマルマップと相性の悪そうな形状があると思ったので試してみたら案の定・・・。
こういう形状は無理してノーマルマップにこだわらず、角の微妙な丸みを諦めてシャープエッジにするか、ポリゴンを面内に押し出して法線を安定させるか、もしくはハイポリ側をベイクしやすい形状にしたほうがいいのかもしれない。

ファイル 162-1.jpg
A:ソースとなるハイポリ
B:ローポリのワイヤー構成
C:Bのシェーディング表示
D:Mayaで法線を編集して少しマシに
E:Mayaでノーマルマップをベイク
F:xNormalでベイク

法線を変更することの有用性は最近知ったばかり。もっと早く知っておくべきだった。
ちょっと世代の古いゲームからも使われているっぽい。

*追記*
UDKへの出力に関して、上の作業のようにスムースメッシュではないカスタマイズされた法線情報を確実にUDKに持っていくには、AutodeskのFBXプラグインを使う必要がある。
http://www.3dmotive.com/exportingqualifiednormals/
実際にSkeletalMeshのPSKでは法線情報を持ち込めなかった。

Emissiveによるライティング

ファイル 161-1.jpg

UDKのLightmassは、マテリアルのEmissiveを使って他の3DCGソフトのGIレンダリングと同じように面を光源にできる。
点光源では難しい、広い面状のライティングを再現したい場合とかに有効。
静的なライティングになるので動かせはしないが、球面調和ライティングの処理に含まれ、動的オブジェクトにも反映する。
http://udn.epicgames.com/Three/LightmassJP.html#Emissive のメッシュエリアライト

日本工学院、アンリアル・エンジンの授業を開始

日本工学院、アンリアル・エンジンの授業を開始・・・「Unreal Japan News」第31回
http://www.gamebusiness.jp/article.php?id=4355

ついに学校まできたかー

SCAR

ファイル 159-1.jpgファイル 159-2.jpg

Cinema4DのNurbus等で角まで微妙に滑らかなハイポリで作成中。
続いてローポリで作り直して、面をきれいにするためハイポリからノーマルマップを生成する予定。
ライフルの種類として、映画とかでもよく見るM4とかを選びたかったんだけど、あれは形状が複雑すぎたり、バリエーションみたいなのが多すぎる。SCARはメーカーからカタログがDLできたり形状がシンプルで把握しやすかった。そんな理由でこれを選んだ。

あと、ZBrush 4R2のメールが来てた。

SpeedTree

ファイル 158-1.jpg
ファイル 158-2.jpg
UDK付属のSpeedTree。樹木や様々なタイプの植物を簡単に作れるミドルウェアで、UDK用だけに出力可能という制限がある。
SpeedTreeは多くのゲームで使われており、その殆どの葉はスプライトのように視点に合わせた平面モデルで描写されているけど、機能的には折れ曲がった板ポリや自前のモデルを使うこともできた。

ファイル 158-3.jpg
風で揺れる際の物理設定ができたり、メッシュファイルを読み込んで位置を調整してそれに沿った変形も作れる。最適な葉の法線設定もできたり、とにかく非常に高機能で何でもありなソフト。

nVIDIA APEX

ファイル 157-1.jpg

最近APEXとかいうPhysXのソフトで破壊できる建物を作っている。
専用ソフトでパーツごとに破壊具合を作るのが面倒。
MayaからFBXをインポートすると軸が変換されるのでMELで一時的に軸を変換する処理を作ったりもした。
破壊するなら細かい破片や粉塵を発生させるパーティクルも作らないといけないだろう。

少しでも変わった形状の建物が面倒くさそうで(挙句の果てに失敗しそう)、いつも四角柱ベースの建物しか作れない

最近気になるBattleField3のライティング機能について調べてみたら、どうやらEnlightenというミドルウェアを使ってるらしい。
http://www.geomerics.com/
どこまでがEnlightenの処理か分からないけど、
動的ライトを含めたGIをリアルタイムで処理することが可能な球面調和ライティング(みたいなもの)で、その領域にあるドアやキャラクタ等の動的オブジェクトを照らす。動的オブジェクトはGI処理に影響はしない。
建物や動かない設置物などの静的オブジェクトと静的ライティング(太陽とか)はライトマップも可能。
http://www.youtube.com/watch?v=foXVF7q035Y
http://www.youtube.com/watch?v=tMcL4GLZib4

WL-Shader2

いろいろ改良を加えている。

ブロックを簡単に作るマテリアル。高解像度なテクスチャを使っているかのように見えるので大きな壁に使いやすい。できればミゾ部分を普通のノーマル処理じゃなくPOM処理させたい。
ファイル 156-1.jpg

肌マテリアル。いろいろ付け足しすぎてよく分からなくなってきた。
ファイル 156-2.jpg

周りの状況に関係なく眼球表面に移り込みを入れるマテリアル。カメラに対して正面の角度を維持。
ファイル 156-3.jpg

UDKにはじめから入っているFuzzyとMetalicのMaterialFunctionをそのまま使って、金属向けのマテリアルとか新しく作ったり前回からあるClothのを修整した。
マテリアルを弄るだけでもキリがない。

レンガ生成マテリアル

ファイル 155-1.jpg

ミゾ用のテクスチャの明度で二種類のDiffuse/Normal/Specular設定をブレンド。
さらにミゾ部分でもノーマルマップを生成。
レンガのテクスチャは写真からシームレス加工するのが結構面倒。
だけどこれならミゾ用のテクスチャを作るだけでDiffuse等を変えながらいろんなパターンのレンガマテリアルができる。

建物

Lightmassが非常に良い。
あとポストプロセスをいろいろ取り入れてる。
ファイル 154-1.jpg
ファイル 154-2.jpg
ファイル 154-3.jpg

前回のシェーダをまた弄った。
ファイル 154-4.jpg

Material Function @UDK

ファイル 153-1.jpg
早速既存のマテリアルに使ってみた。黄色のノードはタイリングのパラメータ。バラバラに設定するか統一させるか悩みどころ。
マテリアルインスタンスの項目がグループ制になってたので、パラメータにもグループを割り当てて整理してある。

あと金属の質感に使えそうなシェーディングのサンプルがあったので、金属専用のマテリアルにを作ってそこに導入した。↓
ファイル 153-2.jpg
ファイル 153-3.jpg
ファイル 153-4.jpg
ファイル 153-5.jpg
自前で作ったキューブマップも使っているが、写り込みの角度や反射を指定していると思われる~Vectorっていうものの使い分けが難しい。
いまだによく分からない。
このキューブマップは今のところスペキュラーの強度/カラー/スペキュラーマップなどにも強度を比例させてEmissiveに繋げてる。