half-life2 episode twoでも作ってみた。

実際のジャージを観察して見ると、腹のところにあるポケットの入り口は横ではなく縦に開いている。 またジャージには襟があるので、それらを微妙に修正。 メッシュをいじったことでまたまた顔や首周りweightmapが狂ったので、 weightmapも修正。 目元のテクスチャを若干書き直す。

UV展開だが、厳密に言えばもはやUV投影は使ってないのでUV展開ではない。 UVもunique UVも複雑なテクスチャの場合には役に立たない。 いや間違った。subprojectionにはUV展開を使ってみたりもする。 subprojectionというのは全体を一度投影してから、 さらにパーツ(アイランド)を別の方法で投影し直すことを言うらしい。 全体の投影には、顔を前から塗りたいのでXY展開する。 顔のテクスチャが一番重要なので面積も多めに取る。

ポリゴンまたはエッジを選択してdisconnect componentsしておけば、 展開した後にTexture Eidtorではアイランドに分かれている。 Texture EditorのPlaner subprojectionやCylindrical subprojectionなどのツールを使い、 アイランドごとにさらにUV投影しなおしたり、YZ展開しなおしたり、Best Fitとかやったりする。 試行錯誤でそれぞれのアイランドにもっともふさわしい展開を選ぶことができる。 すばらしい機能。 今回眉毛もジャージの線もすべてdisconnect componentsして別アイランドにした。 きちんと塗り分けるには別アイランドにするのが非常に有効。

XY展開するとき前半分と後半分(z軸の手前と奥という意味だが)が重なってしまうから、 その境界をdisconnect componentsすれば良い。 頭は顔の部分と髪の毛の部分の境目で切ればおおよそ前半分と後半分に切り分けられるし、 開いたときに塗り分けしやすいので良い。 XY展開して頬や側頭部など側面の部分のメッシュがつまり過ぎるときは手作業でのばすと良い。

クラスタごとにUVマップを割り当てることができるので、 たとえば顔と体で別々にUV展開して、 顔はXY投影、体はunique UVで適当に展開、というやり方はまあありだと思う。 しかし、私はweightmapをimportする前にモデルを一旦objファイルに保存し、 新規シーンに読み込み直すようにしているのだが、 objファイルには複数のUVを保存することができない。 current UV setしか保存することができない。 objファイルを仲介する限り、 顔と体でテクスチャファイルを分けることが事実上できないということだ。 一旦objファイルに保存せず、そのままweightmapをimportしてもやり方次第ではうまくいくのかもしれんし、 modtoolではない本物のxsiならばemdl形式で保存できるから問題は起こらないのかもしれん。 ま、ともかく、複数のテクスチャを使うのは面倒でもあるし、 リソースも重くなるだろうし、 subprojectionをうまく使えば一枚のテクスチャの中に複数のUVマップを混在させることもできるので、 そうすることにした。 weightmapをimportした後にクラスタごとにテクスチャをUVマップする方法でも問題は回避できるかもしれん。 実際sandroはそうやって顔と体を別に貼っているし、 目のテクスチャもそうして貼り付けているわけではある。 目のクラスタは体とは別の場所にUVマップを作るので、最後までdisconnect component しておくが、 それ以外のエッジはUV展開した後weld boundary edgesでつないでおくようにしている。 メッシュが切れ切れになっていると形状を変更するとき何かと都合が悪いからである。

weight paint panelにsoloというボタンがあり、 これによってBip01_Head1とかBip01_Neck1とか、 Bip01_L_Shoulderだとか部位ごとに表示させ編集することができる。 Paint toolsのSmooth、Erase、Addなど使って塗ったり消したりスムージングしたり。 ときたまどうしても狂ってる重みが直せないことがあるが、 その場合にはWeight Editorに直接数値入力。 このとき、重みはトータルで必ず100%になるようになっているから、 100を0に変更したければ100という値を0に書き換えただけでは変更できない。 正しい部位に100と入力すれば間違った部位の値を0に変えることができる。 一つの頂点の重みの合計が100にならなきゃならないので、 重みの編集は永遠に収束しない。 完全に消したはずの重みが復活していたりする。 ポリゴンの変形が収まればよしとする。

これらのことに気づいて初めて私はweightmapを完璧に自分の思い通りに修正できるようになった。 Alyxのweightmap のPectoralとかTrapeziusとかUlnaとかClavicleとかPelvisとかSpineとかBicepやLattなどがどのように分布しているかを、 ひたすら観察して、その通りになるようにひたすら塗り直す。 もうこれしかない。

qcファイル

episode oneのAlyxはhalf-life2用のものをそのままコピーすれば使えた。 しかしepisode twoはコピーしただけでは置き換わらない。 episode twoにはAlyxの他にAlyx_ep2というモデルもあり、 おそらくAlyx_ep2はAlyxがけがをした後のモデルであろうと思われるが、 違いはおなかのあたりの傷跡くらいだろう。 smdもvtaもepisode oneのものと同じで動いた。

Windows Media Videoファイルの動画: nesan_ep1.wmvnesan_ep2.wmv。 口の動きがあまりよろしくない。 眉毛は確かに動いているが。

顔の写真をテクスチャに貼り付けてみたり、 モーションキャプチャデータを使ったりということはやってみたい。 次回から服の布地はデジカメで撮るようにしたい。 モーションキャプチャ装置は今では100万円くらいで買えるらしいんで、 まあ、買って買えない額ではない。

ただxsiが3DCGのムービーやアニメーションを作るためのものだったら私はこんなにのめり込まなかっただろう。 自分が作ったマップやキャラクターがゲームの中で使えて動かせるから夢中になれるのだ。 もちろんゲームにもアニメーションの要素はあるわけだし、 単にゲーム内に挿入されるアニメーションだけでなく、 マップにもキャラクターにも動きや身振り手振りや表情などを付ける必要がある場合もある。 しかし私は圧倒的にムービー制作よりはゲーム制作の方が好きだ。 多少造形や画質が低くてもそれでもムービーよりはゲームの方がましだと思う。

ムービーとゲームの違いは自由度の大きさだと漠然と思っていたが、 冷静に考えてみるとゲームといってもそんなに自由度が高いわけではない。 たいていのゲームは、 あるトリガーによってあるイベントが発生して次のマップに進めるようになっているに過ぎないのだから、 別段自由なわけでもない。 ある種の「お使いゲー」にはほとんど何の自由度もない。 しかしある意味でムービーよりはまだましだと思えることがある。 また、セカンドライフのようにただ単に自由度が大きいだけでは「おもしろいゲーム」 とは言えない。

ゲームはセーブして途中でやめたり再開したりできるというが、 ムービーだってDVDで買ってくれば途中でやめたり同じ箇所を何度も見たりすることはできる。

ムービーは見る側に視点を強制するし、時間軸も完全にコントロールする。 たぶん私はそういうのが嫌いなのだろうと思う。 3Dの情景を自分の見たい視点から見ていたいだけ見たいという欲求が私の場合には非常に強い。 だから背景が固定されていたバイオハザードよりも、 自由に辺りを見回すことができたトゥームレイダーの方が好きだったのだと思う。 また、旅行物の映像作品よりはgoogle street viewの方がはるかに好きだ。