記事一覧

Sculptris

無料で使えるSculptris
http://oakcorp.net/zbrush/sculptris/features/index.php

モデリングに関してZBと大きく違うのはポリゴンの分割で、押し出したり凹ませる部分だけポリゴンを分割する。全体を均等に分割するZBよりかなり効率が良い。表面積の大きい人体の全身や服のディテール追加ならこっちのほうがいいのかもしれない。
実際使ってみなきゃ分からないけどね。

Autodesk Beast

ゲームのライティング処理でたまにAutodeskの「Beast」というのを聞くので調べてみた。どうやらLightmassと同じGI処理を事前処理し、ライトマップを自動で作成するミドルウェアらしい。
特徴として高速性がウリでGI処理とライトマップのベイク処理そのものが自動でリアルタイムに行われる。
http://www.youtube.com/watch?v=E3WjIJxsFDg

同じUnrealEngineを使っていたMirrasEdgeは屋内外で結構リアルな事前ライティングを使っていたが、あれはBeastを採用しているらしい。また、ほかのゲームエンジンのSDKである「Unity」にもBeastの機能が入っており、機能の一部としてBeastを無料で使えてしまう。
AutodeskのBeastの紹介ページでBeastはUnrealEngine3に入っていることが書かれているが、現在公開されているUDKにBeastの機能は入っていない。
UDKに入っているLightmassは、ライトマップだけでなく空間全体にライトを敷き詰める処理も行い、移動する物に対してもきれいなライティングが行われる。ただ、非常に時間がかかる。

お知らせ

いつからからか分からないけど、コメント機能にエラーが出るようです。
自分でやってみてもエラーが出るしcgiファイルをアップロードしなおしても変わらず原因不明。cgiのプログラムを変な風に弄ったのかサーバの仕様に絡んでるのか分かりません。
で、気軽に公開できるようなメールを作成することに。
ta20rgr@hotmail.co.jpというアドレスを取得したので、ご意見や質問あればこちらにご連絡ください。トップページの上のほうにも書いてあります。
ちょいプライベートな常用メアドに転送設定しているので確認漏れはありません。

Crysis2 SDK その2

ファイル 134-1.jpg
Crysis2は全体的にノイズっぽいのが画面にかかっているが、こう静止画でキャプチャしてみるとさらに目立つ。
ゲーム中でも思っていたんだけど、HumanskinのSSSはちょっと効きすぎな感じがしてる。度合いを調整する設定が無くSSS用テクスチャも入れても効かない(?)。

ファイル 134-2.jpg
BlueMarsに作ってた木も結構変わる。幹のテクスチャを作り直したほうがいいな。なぜかVegetationでないと影にテクスチャのアルファが反映されない。

Crysis2 SDK

ダウンロード
http://www.mycrysis.com/support/

マニュアル
http://sdk.crymod.com/dashboard.action

無事にMayaのプラグインから出力できた。
ファイル 133-1.jpg
用意されているshaderも同じだったけど中身は結構違ってた。
マテリアル構成はテクスチャごとにUVを変更できるようになっていた。

Dx11の最高設定にしてやっているが、物体とその影が落ちる場所が遠い場合、影の輪郭はぼやけているが近いところはクッキリしているのが再現されていたりしている。
ファイル 133-2.jpg
これはかなり嬉しい。

本家のキャラと比較すると光の当たり具合が全然違う。
どういうことだ・・・。
ファイル 133-3.jpg

June 2011 UDK Beta released

LandscapeにFoliage機能が追加され、Terrainのように草木をペイントで配置できるようになった。これでほぼTerrainと同じ機能を兼ね備えているので、設定がいろいろと面倒だったTerrainは次第にフェードアウトしていくと思う。
あとStaticMeshでLOD形状を生成する処理が追加されたりKimsetのデバッグ機能、各種負荷のモニタ機能などが追加されている。

http://www.udk.com/download

Mayaのファイルダイアログの起動が遅かった原因

Windowsはフロッピーディスクドライブを物理的に接続していなくてもデフォルトでドライブ一覧に追加してしまう。
デバイスマネージャーからフロッピードライブを無効にして「コンピュータ」の中に表示されてない状態にしたら、Mayaのファイルダイアログが瞬時に開くようになった。

これに気づくまでOSネイティブの設定でやってた。無いドライブを参照しようとしていたから遅かったんだろうな。

GPUレンダMachStudio Pro 2

ファイル 126-1.jpg

http://www.studiogpu.com/
無料になりました。何も登録しなくてもDL可能です。あくまでレンダリング全般とタイムシーケンスだけなので、モデリングとアニメーションは元のソフトで作成します。
レンダリングはOpenCLやCUDAのGPUによるソフトウェア方式ではなく、DirectX11の機能でレンダリングするようです。
とはいえAOだけでなくGI処理も可能で、陰の描写もかなり質が高い。
マテリアルには特殊エフェクトのための各シェーダもはじめからあります。

Autodesk系列のソフトに用意されたプラグインは2010までしかなかったため、fbx形式でデータの受け渡しができました。

ただ、ハードウェアレンダリングのツールとしてはCryEngine2/3やUDKのほうが機能が豊富・・・。
特にCryEngine2はライティングやマテリアルにほとんど悩まずに綺麗なグラフィックがサクっと作れてしまうし、UDKはさらにカスタマイズ性もある。

2011 Unreal Engine 3 Features Trailer

2011 Unreal Engine 3 Features Trailer
http://www.youtube.com/watch?v=CtGYtdDI6eE

BulletStormというゲームを買ってクリアしました。こちらは開発ブログ。
http://www.peoplecanfly.com/blog/

Crysis2も買う予定だったけど、Sandboxなどのツールは付属していないようなので見送り・・・。

Maya2011 その3

MayaでBM(CryEngine全般)のコンテンツを作るためには以下のように設定を変更する必要がある。

A:プリファレンスからワールド座標軸をYからZに、作業単位をセンチからメートルに変更。時間を30fpsに。

B:ビューポートのビューからデフォルトのビューを実行。

C:ビューからカメラを選択を実行し、カメラアトリビュートにあるニアクリッププレーンを1.0に、ファークリッププレーンを1000000000にする。

エクスポート作業の直前にAの設定でセンチに戻すか、スケールを100倍にする必要がある。スクリプトを組んでスケールと座標を一時的に変更してエクスポートし、終わったら自動で元に戻す処理をPLE時代にやったことがある。

あと、Mayaから頂点カラー情報をBMに持っていくことが出来ない。どうやらBlenderのときと同じ状態になる。

Maya2011 その2

ファイル 107-1.jpg

ポリゴンのモデリングとUVとマテリアルの作成のチュートリアルを終えた。

あと、マテリアルとは別にハードウェアシェーディングを試している。これはOpenGLやDirectXなどを使ってリアルタイムの描写をするものでノーマルマップや環境マップなど、ゲーム向けのグラフィック処理でどのように見えるのかをビューポート内で直接確認することができる。

BMでVehicle、アニメーションする設置物も作れるようになると思う。
今後は頂点カラーも設定して建物を作るつもり。

Maya2011

Maya2011を注文した。振込みが完了すると確定ていう段階。
最新版をキープしてまで使いこなすこともないと思うのでサブスクリプションも無しで。

Vertex Color 頂点カラー

ファイル 105-1.jpg

Blenderで作れたのかー。自己影のAOも簡単にVertexColorにbakeできる。
頂点カラーはBMだとPlasterシェーダのみ使用可能で、Crysisでも頻繁に使われている。AOや影はスクリーンベースだから、遠くに離れる(表示が小さい)と処理が省略される。それをこの頂点カラーで解決できそう。
自分の場合、Cinema4D→Blender→bmimportていう処理になる。ちょっと面倒。

ちなみにUnrealEngineだとLightmassの処理で影の頂点カラーを自動生成することが出来る。


追記:
BlueMars用の今まで作った建物にVertexColor設定を施して作り直そうとしたら、やっぱりBlenderでは正常に出力できなかった。
色情報と当てはまる頂点の順番がズレまくってい結果に。

3DS Max2011買うか・・・?

今から体験版を使ってみる。
問題は、最新のレンダリング機能とかには正直興味はなく、あくまで遊びでやる既存のゲームmod作成のために使おうという目的で、あのコスト。

14日
追記:
割と充実してるチュートリアル等を見ながらシンプルなアニメーションとモデリングをやってみた。
本当に注文しようかと思ったけどもうすぐ2012の発表もあるだろうということに気づいたから、ここは冷静に待ってみるかー。

15日
追記:
悪く言うつもりは無いけど、Cinema4Dと比べてインターフェイスや操作性で凄い使いにくかった。昔使ってたMayaPLEがCinema4Dとまだ似たような操作性で好感が持てたから、いっそのことMayaがいいかも。さらに高いけど。

Pre-DominanceWar V

Pre-DominanceWarのランキング結果が出た。
http://www.dominancewar.com/2010/en/index.php
これはあくまでPre。でもやっぱりすごい。
次の本番は、シェーダやらもう少し多目のポリゴンが使えるルールです。

Cinema4DによるBlueMars設置物の作成

BlueMarsは同ゲームエンジンで本家でもあるCrysisとは違いColladaのモデルデータを直接インポートできる。
この奇跡的に追加された機能でCinema4Dでもコンテンツを作成することができる。だが、ただ"モデルデータを持ち込める"といってもモデルデータにはさまざまな要素が付随しているものなので、それらの情報が確実に受け渡しできているのかが重要。

例えば
・UVとマテリアル
マテリアルの名前と複数のマテリアル設定。
・コリジョン設定
CryEngineはproxyという名前のマテリアルを使うポリゴンが当たり判定になる。物理処理などにも作用し、閉じた形状でなく厚みのない一枚ポリゴンでも機能する。
・LOD設定
距離によってディテールを落とした形状に表示を変更する。

という要素があり、Cinema4Dが出力するColladaでも上記の組み合わせはバッチリ反映される。
マテリアルの中身の設定はDiffuseとSpecularしか反映されていないが、必ずといってもいいほどマテリアル設定は弄り直すので問題無し。
ただ、以下の要素はCinema4Dで作成不可能。

・頂点カラー
テクスチャ無しで色を頂点ごとにつけられる。大雑把なライティングの焼付けなど。
・ボーン/アニメーション
・アバターのBody
ベースとなる形状から頂点を移動させて保存したColladaをインポートし、それをモーフみたいな情報として読み込む。

SSAOもあるし、それほど必要とは思えない頂点カラーはともかく、アニメーション全般が作成できないのは結構もどかしい。
アバターのBodyはキープしているハズの頂点の順番が正しく読み込まれないのかクシャクシャに崩壊する。C4D側では具体的な座標と順番も確認できるのに。よってBodyはBlenderで作業しているが、頂点をノーマル方向にドラッグ移動しながらドラッグ中にマウスホイールの回転で周りの頂点への影響範囲をコントロールできる仕様が幸運にもかなり使いやすい。
あと自動で操作内容を対称側に反映すこともできるからやりやすい。
現在のOpenColladaブランチを用いたBlender2.5ビルドでもアニメーション関連の作成は不可能。そもそも2.5からCollada出力時の設定(Bake Matricesなど)がなくなっている理由が分らない。ちなみにBlenderでもアニメーション以外なら全ての機能がBMに受け渡しできる。

GIMPバージョンアップ

色々が不具合が無くなった。

個人的には
・多少解像度の大きなブラジの輪郭表示が重い
・GIMPのウィンドウがアクティブ(最上)にならない

これらの困った症状が直っていたと思う。
http://www.gimp.org/

worksページを更新

BlueMarsのスクリーンショットを追加。今後こまめに追加していこうと思う。モデリングとかも全て自前です。
http://unreal.rgr.jp/3dcg/index.htm

最近はゲームエンジンを使ったリアルタイムの3DCGで作品を作るというのも流行っている。Polycountっていうサイトなんかは、昔はFPSキャラクターのスキンやカスタマイズモデルを公開しあうサイトだったけど、今ではハイレベルなゲームグラフィックの総合サイトみたいな感じになってる。forumやwikiとか必見。
http://www.polycount.com/
Epicの人の仕事ぶりとかたまーに見れたりする
http://www.polycount.com/forum/showthread.php?t=62114&page=11

Cryengine2

今回はCryEngine2のシェーダー機能を紹介。
ファイル 88-1.jpg
CryEngine2はインポートしたメッシュにインポート元のツールで割り当てたマテリアルが自動的に割り当てられる仕組み。マテリアルの設定の中身はUDKのノードやHLSL言語を使うのではなく、Diffuse等のテクスチャを当てはめたりチェックボックスで変更を行う分りやすい方式。細かいカスタマイズはできないが、複雑な構造だと思われるシェーダー機能と変更可能なパラメータ等のプリセット機能が用意されているので場合によっては非常に楽になる。

今回は人間の肌に使用するAR_humanskinの効果を紹介します。

ファイル 88-2.jpg
まずNormalmapだけを貼り付けた状態。

ファイル 88-3.jpg
DiffuseとSpecularを割り当てる。

ファイル 88-4.jpg
ここでShaderからAR_humanskinを選び、Subsurfaceの値を0.3くらいにする。すると光が肌を透過する(透過するのをシミュレート)して透明感のある状態になる。
ただ、デフォルトだと光の透過状態が一定すぎて暗くなるはずの部分も一定に明るく見えてしまうので、この画像では透過の度合いを制御するためのテクスチャも指定してある。

ファイル 88-5.jpg
そして完成!
skinはBMのアイテムの中でも使うテクスチャの数が多いので512kb以内にするのが非常にシビア。

XNormalまとめ

<ハイポリ設定>
ファイル 83-1.jpg
一覧部分を右クリックもしくはファイルをドロップしてファイルを追加できる。追加されたハイポリの行を右クリックすると"Base texture to bake"より、焼き付ける対象のテクスチャも追加することができる。
右へスクロールさせると"Base texture is a tangent-space normal map"のオプションもある。


<ローポリ設定>
ファイル 83-2.jpg
Maximum frontalとMaximum rearから焼き込みのトレース距離のようなものを指定できる。これは必要に応じて変更することがある。
Highpoly normals override tangent spaceはUVと法線の向きが異なる場合のオプションで、このオプションが有効だとハイポリの法線の向きがローポリ側の向きによって変更されてた結果になってしまう。個人的にこのチェックは外したほうがいいと思っている。



ファイル 83-3.jpg
各ローポリにはBlockers fileを追加できる。モデリング上、閉じた狭い空間がある場合、焼き込みのトレーシングが向かい側の表面を認識してしまう場合がある。これはMaximum frontalとMaximum rearを小さくすることで回避できる場合もあるが、回避できない場合は画像のような板状のモデルを別に用意して壁を作る必要がある。

ちなみにハイポリをローポリ側はどちらも複数呼び出すことができ、全てを合わせて焼き込みできるし、各行のVisibleのチェックで無効にすることができる。これは設定を変えながらファイルを変更するのに便利。



ファイル 83-4.jpg
BakingOptionから出力ファイルの指定ができる。指定したファイル名に自動的に_normalsや_occlusionが追加されて自動保存される。
Edge paddingはUVの境界から境界部分の色を引き伸ばすピクセル数を指定できる。
個人的にNormal mapのオプションにあるSwizzle CoordinatesのY+をY-にするほうがいいみたい。CryEngine2あたりでは、この設定が正しい結果のノーマルマップになるらしい。Cinema4Dや他のソフトのマテリアル設定でもYを反転して使っている。CE2では全てのマテリアルではY-が基準なんだろうか。
RendererにOptix/CUDAを使うと特にAmbientOcculusionが高速になる。ただしデータサイズに対してVRAMの空きが必要。


以上!