NGLE講座
■UVマッピング
NGLEでは新しくオブジェクトの頂点数が255を越えて使えるようになりました。
同時に面の数も増え、新規で作成したメッシュにテクスチャを貼るのは大変です。
また継ぎ目のないテクスチャを作成し、それをメッシュに貼るには、歪みのないようにテクスチャを分割しなくてはなりません。
例えば、ララの顔のテクスチャを作成し、メッシュに貼る際、瞳の形や眉の形に歪みが出ないようにする必要があります。
メッシュの頂点数が少なければ、継ぎ目のないテクスチャをいくつかに分割し、実際にStrpixで貼りながら確認できますが、頂点数が多くなると大変です。
そこで登場するのが、MetasequoiaのUVマッピングです。
この機能を使うとメッシュの形に応じてテクスチャが歪むことなく分割できるようになります。
面に対してUVマッピングを行い、その後メッシュを作成する
https://www.tombraiderforums.com/showthread.php?t=193534
で説明されている方法です。
ダンボールで箱を作る、あるいは折り紙の要領です。
この方法では以下のメリット/デメリットがあります。
- メリット:メッシュの面の向きが絶えず保持されており、Metasequoia上でテクスチャの状態を確認しながらメッシュの作成をすることができる。
- デメリット:メッシュの作成時に絶えず展開図を気にする必要があり、複雑な形のメッシュでは面倒。
メッシュを先に作成し、その後UVマッピングを行う
https://www.tombraiderforums.com/showthread.php?t=183377
で説明されている方法です。
Metasequoiaの基本図形、メタボールなど色んな機能を駆使してメッシュを作成することができます。
この方法では以下のメリット/デメリットがあります。
- メリット:メッシュの作成時に展開図を気にせず、複雑なメッシュを作成できる。
- デメリット:メッシュの面の向きが一定でなく、Metasequoia上でテクスチャの状態を確認できない。
どちらが正解ということはありません。
お好きな方法でメッシュを作成してください。
今回の目的
ここでは、複雑なメッシュに対応できるメッシュを先に作成し、その後UVマッピングを行う方法を説明します。
以下の説明では、
- メッシュの作成が終了したANIMATING1オブジェクトに対して、UVマッピングを行いテクスチャを分割する。
- UVマッピングしたANIMATING1をwadに取り込む。
ことを目的として説明しています。
ANIMATINGオブジェクトを例としたのはStateIDとかアニメーション番号とか気にしなくて済むからです。
wadに取り込んだ後は、リネームすればいいでしょう。
ここではメッシュの面の向き、照光の設定、あらかじめテクスチャが作成してあるbmpファイルに関しては説明していません。
手順は以下のようになります。
- Meta2trをダウンロード
- ANIMATING1をMetasequoiaで開く
- UVマッピングの下準備
- UVマッピング
- ANIMATING1に貼るテクスチャの作成
- 作成したテクスチャの読み込み
- Meta2trを使ってtr4ファイルに変換
- TRViewerを使ってwadに取り込む
- Strpixを使ってコリジョンを変更
-Meta2trをダウンロード-
Metasequoiaでオブジェクトが読み込めるように、まずはMeta2trを使ってレベルのオブジェクトをmqoファイルに変換します。
http://www.tombraiderforums.com/showthread.php?t=135733
ここからMeta2tr v8aをダウンロードします。
- ANIMATING1を含むマップ(Test.prj)を作成します。
今回の目的は分割されたテクスチャとANIMATING1のため、Test.prjはプレイできなくても構わない簡単なもので作成します。 - 作成したTest.prjをTest.tr4にコンバートします。
- 作成したTest.tr4をMeta2trにドロップします。
今回使用したMeta2tr v8aでは部屋だけのmqoファイルや床だけのmqoファイルなど、以前のバージョンより細かくmqoファイルを作成できるようになりました。
詳しくはMeta2trにドロップした際に表示される黒い画面のメッセージを確認してください。
ここでは、Enterキーを3回押した後、Yキーを押しました。
-ANIMATING1をMetasequoiaで開く-
- Moveall.mqoをMetasequoiaで開きます。
- ANIMATING1のみを表示させます。
(非表示にしたものはtr4ファイルに戻した際、消える危険があるようです。) - 材質パネルを表示させ、「新規」で材質「mat1」を作成します。
- 物体パネルからANIMATING1を選択し、「編集」メニューの「すべて選択」で選択します。
- 「選択部処理」メニューの「面に現在の材質を指定」を実行します。
ANIMATING1のテクスチャの表示が消え、新しい材質が指定されます。
-UVマッピングの下準備-
- 『UV操作』ボタンをクリックします。
- 「UV操作」パネルの「詳細設定」でグリッド分割数を「8」に設定します。
これでグリッドの1マスのサイズがbmpファイル上では32x32ピクセルになります。
16にすれば、1マスは16x16ピクセル。このあたりはお好みで。 - 「UV操作」パネルの「詳細設定」で「グリッド中心にスナップ」のチェックを外します。
『OK』をクリックして、「詳細設定」を閉じます。
-UVマッピング-
- 画面左上の「Object」をクリックします。
ANIMATING1が非表示になります。
再度表示したい場合は再度「Object」をクリックします。 - 「UV操作」パネルの「自動展開」をクリックします。
UV展開図が表示されます。
今回は面の向きを無視して説明しているので詳しく触れませんが、面の向きも合わせて修正したい場合は、UV展開図上でそれぞれの面を移動させたり、回転させる必要があります。
詳しくはMetasequoiaのヘルプを参照してください。
あるいは後述の説明でwadに取り込んだ後、Strpixでテクスチャを変更する必要があります。 - 頂点がつながっていないので、「UV操作」パネルの「範囲」を使い近くの2つの頂点を選択します。
「範囲」が機能しない場合は、「編集オプション」の「範」にチェックがついているか確認してください。
- 「UV操作」パネルの「単一化」で頂点をつなげます。
断片化したUV展開図が一つの図柄になるように頂点をつなげます。 - Photoshopのようなペイントソフトを開き、256x256のピンク色(エディタでの透明色)のbmpファイルを新規テクスチャ用に作成します。
Meta2trで作成された最後のbmpファイル(Tilennn.bmpのNNNの数値が最も大きいもの)の次の番号のbmpファイルとして保存します。
例えばTile008.bmpが最も大きい場合は次の番号であるTile009.bmpとして保存します。 - 新規に作成した材質「mat1」を選択し、模様のフィールドに先程作成したbmpファイルを指定し『OK』をクリックします。
- UV展開図に読み込んだ画像が表示されます。
- 画面左上の「Grid」と「Snap」をクリックします。
- UV展開図の頂点をグリッドに沿ってピンク色の箇所に並べていきます。
- 並び終えたら、「UV操作」パネルの「ファイル出力」をクリックします。
- ファイルサイズを256x256にし、Output.bmpとして保存します。
-ANIMATING1に貼るテクスチャの作成-
- 先程作成したbmpファイル(Tile009.bmp)に「ファイル出力」で作成したbmpファイル(Output.bmp)をペイントソフトで貼り付けます。
Output.bmpの余分な白い箇所は削除します。
- 黒い枠線にオブジェクトに貼るテクスチャの画像を描きます。
Tile009.bmpとして保存します。
-作成したテクスチャの読み込み-
- 材質「mat1」を選択し、模様のフィールドに先程作成したbmpを選択します。
- UV展開図に読み込んだ画像が表示されます。
- コマンドパネルの「選択」をクリックし、通常の画面に戻します。
- オブジェクトに変更したテクスチャが貼られているか確認します。
- Moveall.mqoを上書き保存します。
-Meta2trを使ってtr4ファイルに変換-
- Tile009.bmpをMeta2trにドロップします。メッセージが表示されますがここでは、Enterキーを押しました。
- Moveall.mqoをMeta2trにドロップします。
- Newlevel.tr4が作成されます。
上手く作成されない場合は、Meta2trのメッセージを確認してください。(何度かTile009.bmpとMoveall.mqoをドロップすれば上手くいくかもしれません。) - FexInspect、PixStr、TRViewer1083rev5b等でNewlevel.tr4を開けばテクスチャが変更されているか確認できます。
-TRViewerを使ってwadに取り込む-
このままでは、Meta2trでtr4ファイルを再作成してしまうと、これまでの作業が全て無駄になってしまいます。そこで、wadに取り込みます。
- Newlevel.tr4をTRViewer1083rev5bで開きます。
- ANIMATING1を選択し、右クリックでメニューを表示させ、「Export as TRMVB」を選択します。
- TRMVBファイルを作成し、WADMergerの「Import」でwadに取り込みます。
ANIMATING1が2つ作成されてしまうので、余分なANIMATING1は削除します。
(この時LARAオブジェクトも削除されてしまうようです。)
-Strpixを使ってコリジョンを変更-
- Strpix V3.9.5 Rev17以降で取り込んだオブジェクトを開きます。
Tile009.bmpで作成したテクスチャが32x32ピクセルに分割されてオブジェクトに貼られているのが確認できるでしょう。 - オブジェクトのメッシュすべてにコリジョンを設定し、wadを保存します。
- 今後は他のオブジェクトと同じようにwadでやり取りができるようになります。
まとめ
まずは、立方体、球、円柱といった簡単なメッシュで試してみてください。
UV展開図の使い方。
UV展開図の頂点の合わせ方。
bmpファイルの読み込みと変更方法。
が理解できると思います。
その後は、少し複雑なメッシュに挑戦してみるとよいでしょう。