記事一覧

Lightmassのコツ

全ての静的メッシュにGI(グローバルイルミネーション)のライトマップを作成するLightmass。
メッシュの位置やライトを動かすとライトマップが無効になるので定期的にビルド処理して確認しなければいけないのが面倒。
しかもライトマップを想定したStatiMeshは、マテリアルのマッピングに使うUVとは異なるライトマップ専用のUVが必要。UDKでも自動で生成してくれる機能はあるが、正直頼りないので個人的にはモデリングソフトの段階で専用のUVを作っておいたほうがいいと思う。
それぞれのStaticMeshはエディタからデフォルトのライトマップ解像度(Light Map Resolution)を指定するが、マップに設置したStaticMeshのプロパティから個別に変更することもできる。
このライトマップの解像度は高いことに越したことはないが、サイズやStaticMeshの設置数に比例してLightmassのビルド時間は確実に延びていく。それを解決するためにSwarm Agentという機能があり、ネットワーク内の複数のPCにビルド処理を分散させることができるらしい。
ただし、自分のように趣味で使ってる人にそんな環境は無いので、ライトマップは極力小さな解像度に設定している。具体的な影は動的シャドウとSSAO処理に任せて、ライトマップは大雑把なGIの傾向が再現できていれば良いレベルだと思ってる。

ファイル 183-1.jpg
このくらいの窓だと解像度は16か32。もはやドットレベル。離れたポリゴンのUV同士もそれなりに間隔を空けないといけない。


Lightmassのビルド設定にPreview~Productまで4段階の設定があり、かかる時間と結果に結構差がある。

---Preview 34秒---
ファイル 183-2.jpg
DetailLighting表示。
StaticMeshの接合部にライトマップのつなぎ目が目立つ。

ファイル 183-3.jpg
Lit表示。

---Product 3分28秒---
ファイル 183-4.jpg
Previwのときにあった不自然なつなぎ目は分からない。

ファイル 183-5.jpg


でもそれなりの解像度のライトマップでやりたいので、GPU処理とかも取り入れて高速化してほしいです。

Nukei shader @ UDK

ファイル 182-1.jpg

公開しているWL-ShaderのCromeに追加予定の機能。コーティングされているような塗装を再現可能に。
ノイズのハイライトを追加する機能も追加。

Parallax Occlusion Mapping(視差オクルージョンマッピング) @ UDK

ファイル 181-2.jpg
デプスパスは12。
個人的なこだわりとして、凹凸用のテクスチャはノーマルマップテクスチャのアルファチャンネルに格納して使うということ。理由は以下

・凹凸情報は0~255のシンプルなグレースケールの画像
・RGBのカラーチャンネルより使用メモリを少なくできる
・テクスチャに入れるアルファチャンネルはグレースケールだしDDS圧縮でも劣化がほぼ無い。

ファイル 181-1.jpg
ノードが多く複雑な処理のため、これ以上他の機能の追加や応用は難しい

Epic Games Releases December 2011 Unreal Development Kit Beta

注目したのはこれ Texture Paint tool

以前は頂点カラーをペイントできたが、今回の新機能はテクスチャをペイントして作成することができる。例えば、ペイントしたテクスチャで複数のテクスチャのブレンド具合を制御する機能のマテリアルを作りたい場合などに使える。
http://www.udk.com/news-beta-dec2011.html

World of Level Design. Game Level Design and Game Environments.

エディタが提供されているゲームや無料SDKを使ったゲームのレベルデザインのノウハウ情報を教えてくれるサイト。
右のUlitimateLevelDesigonにサインアップすると、FPSのステージ製作に欠かせない要素などを解説するPDFファイルがもらえます。
FPSゲーム製作の方に是非。
http://www.worldofleveldesign.com/

最近はほんと仕事が忙しすぎてCG関連のことやってません。Mayaとか最後に起動したのいつだっけ?

WL-Shader修正

ブランク用のノーマルマップのテクスチャを修正。
TC_Normalmap設定(DXT1)でインポートしていたが、DXT1はそこそこ画質の劣化があるため、かなり正確さが求められるノーマルマップには不向き。

今回はブランク用のテクスチャを256x256から64x64に小さくリサイズしTC_NormalmapBC5設定でインポート。これはBC5で圧縮され、通常の青っぽい色が黄色になる。
BC5はDXT1よりもメモリは食うが画質の劣化も少なく、アルファチャンネルもサポートしている。ノーマルマップに入れるアルファチャンネルは、主にParallaxOccukusionMapやDisplacementMapなどの処理に使えるので、CryEngineなどもノーマルマップはBC5のDDSを使うように促している。

ファイル 177-1.jpg

素のポリゴンで綺麗なボディの曲面やエッジを再現しようとしてるので、
何だかんだで三角ポリゴン3万くらい使いそう。
テッセレーション処理でNurbusとかSubdivisionとかできればいいのにな。
青の部分はノーマルマップで再現する箇所です。

でも何かボツになりそう

WL-Shader2

UDK用WL-Shaderをバージョンアップして公開します

詳細
http://unreal.rgr.jp/Mydownloads/WL-Shader/

ダウンロード
http://unreal.rgr.jp/Mydownloads/WL-Shader/WL-Shader.ZIP

SCAR @ UDK

ファイル 175-1.jpg

ノーマルマップを作り直し、やっと見せられる状態に。

最近やってること

ちょっと忙しくて最近書けることがない。

xNormalがバージョンアップされて、FBXの読み込みが改善されてるらしい。
以前作ったSCARのノーマルマップはxNormalで作ったんだけど、Mayaでは綺麗に見えてもUDK(法線は確実に合ってるうえで)でおかしなところが多かった。少しはマシになるのかこれから試してみる。

ファイル 174-1.jpg
車とか作ってる。ボディ部分はNurbusとか使わずに、ポリゴンでそのまま作る。
レースゲーに出る車のモデルって、きれいなエッジ部分や曲面を出すためにそれなりに多めなポリゴン使ってるんだろうか。


追記
バージョンアップしたxNormalのノーマルマップ、かなり良くなってた。
UDK上の状態がMayaのハードウェアレンダほどではないけど、納得できる正くらい正確になった。

ページ移動