2012年06月26日

MAZEPATROLメイキング1

Unityで作ったゲーム↓のメイキングでも書こう。
http://www.hand-to-mouse.jp/game/MPR/MPR_index

Unityの勉強を初めて、特に最初は何でも作れそうな気がします。
当然ながらゲームエンジンには(プリレンダーで言う)レンダリングという行程が無いので、結果が出るのが早いのが魅力。そしてスクリプトを変更する事ですぐに、そしてリアルタイムで動きを確認できる快感。
「私でもゲームが作れそうだー!」という気にさせてくれます。
・・・が、素材の制作に入ると、とたんにいつものCG苦行に早変わり・・・
いや、ゲーム用にモデルをチューニングする必要が有るのでいつもより辛い。

という事で、主にLightwaveと3DCOATとSculptrisを使ってUnityゲームを作る際の行程などを書いて参ります。
今回、プログラムの部分では複雑な事は何一つしてないので、主にCGの話です。

・プレーヤーキャラのモデリング
最終モデル書き出しは、ゲーム用モデル出力が最も得意な3DCOATで行い、Lightwaveでボーンを入れて書き出します。

最初にざっくりキャラデザインをします。
12062600.jpg
キャラが女なのはエイリアンやら私の趣味やらいろいろな意味で必然です。

ちなみにオリジナルのパッケージはこんなん↓で、一応色の雰囲気とかを継承しているつもりです。
mazepatrol.jpg
つーか、このガッチャマン的ヘルメットで酸素は大丈夫?
(資料が無かったのでオークションサイトから借用しました。権利者の方等、問題有ったらご連絡ください)

さて、まずLightwaveにていつも使っている素体をちょこっといじってベースモデルを作成。
12062601.jpg

それをSculptrisに送って宇宙服をスカルプトします。
12062602.jpg

出来た物をLightwaveに戻し、ヘルメットをモデリング。
12062603.jpg

背中のジェットパックのだいたいの形をLightwaveで作る。
12062604.jpg

Sculptrisでジェットパックのラフデザイン。
12062605.jpg
Sculptirsや3DCOATで作り込めればいいんですが、あまりメカメカしいのに向いたブラシが無さそうなので、ざっくりポリゴンの流れを決める程度しかしてません。

ジェットパックを3DCOATに送り、リトポしたものをLighwaveに戻す。
12062606.jpg

Lightwaveでディテールアップ。
12062607.jpg
こういうきっちりした形状は、Lightwaveで作業した方が早い感じ。

全部のパーツを組み合わせ
12062608.jpg

3DCOATに送り、ベータ機能のボクセルペイントでざっくり色とスペキュラを塗る。
12062609.jpg
zbrushのポリペイントに対抗するために付いた新機能で、焼き込み前に色までぬれるのはとても便利。でもまだ左右対称が不安定だったり、ブラシが飛んだりする。まぁベータ機能なので贅沢は言うまい。
鉄砲は3DCOATのボクセルで作成。

部品ごとにオートリトポ。(ジェットパックはLightwaveのモデルをサブパッチを解除して読み込み)
手や顔のポリゴンを調整してUV展開をした後、ノーマルとカラーを焼き込み。(手はどんなにがんばってもオートリトポ出来ない・・)
その後ディテールや汚しをピクセルペイント。
12062610.jpg
ゲーム用のモデルという事で、トータル5000ポリゴンを目標にリトポ。
キャラだけなら2600ポリゴンぐらい。ジェットパックやらヘルメットやらを足してトータル5200ポリゴンぐらいに出来ました。
髪の毛の透明抜きだけ、最後にBodypaintに読み込んで書いてます。(3DCOATで透明度マップの描き方がわからない)

Lighwaveでスケルゴン仕込み。
ボーンも出来るだけ少ない方がいいとの事で、40本。
12062611.jpg
指はボーンでやると本数が多くなりすぎるし、今回のゲームでは動かなくてもいいので、銃を持った形でモデルを固定しました。

最後に上からライトがあたってる状態でオクルージョンなんかも入れてカラーをLightwaveで焼き込み。
12062612.jpg

プレーヤーモデル完成。

最後にノーマルマップ書き出しの問題があります。
というのも実はノーマルマップにも方言がありまして、「Maya」と「LightwaveとMAX」ではGチャンネルが逆になってます。
で、UnityはMayaタイプ。
という事で、3DCOATからの書き出しの際は、環境設定の「法線マップのエクスポート」を「Maya」にして書き出さないと、法線がヘンテコになります。(上下は合ってるのに左右が逆、みたいな)
余談ですが、3DCOATから書き出したノーマルマップ付きモデルをLightwaveで読み込むと、ノーマルマップノードのY軸反転にチェックが入っています。という事は、普通ならMayaと一緒ってことじゃないの??
とりあえず、Mayaタイプのノーマルマップで書き出した場合は、LightwaveでノードのY軸反転のチェックをすべて外す事でUnityと同様の結果をレンダリング出来ます。
posted by htmmovie at 09:30| Comment(0) | CG
この記事へのコメント
コメントを書く
お名前: [必須入力]

メールアドレス:

ホームページアドレス:

コメント: [必須入力]

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。