## 第5章　TIPS

### 5-1　Ninja Export for 3D Studio MAX

####

5-1-1　選択モデルの出力

シーン内でオブジェクトが選択されていれば、選択されているオブジェクトが属するノードのNJAファイルのみを出力します。

現在選択できるノード数は100ノードまでです。その範囲であれば、オブジェクトをいくつも選択することができます。

ただし、選択したモデルの出力は1体につき選択されている部分が少ないほど効率が良くなります。

たとえば5体ある内の1体を出力したいとき、すべて選択するよりは、1パーツのみ（手のみなど）選択したときのほうが処理が早くなります。これは選択されたパーツすべてに対して、そのパーツがどのモデルに属しているかをチェックし、重複しているモデルについては、はじくという処理を行っているためです。

####

5-1-2　頂点カラー

頂点カラーの設定の仕方はMAXのマニュアルにしたがいますが、簡単に説明をしておきます。

オブジェクトを編集可能メッシュ(EditableMesh)にします。このサブオブジェクトボタンを押し頂点を選択し、ここのロールアウトで頂点カラーを設定できます。

出力に際してはVN_D8等を使用してください。

####

5-1-3　スムージングについて(法線)

通常のモデルは一頂点一法線で構成されますが、エッジを立てたり、逆に滑らかにしたりする場合において一頂点に複数の法線を持たせることがあります。これがスムージングです。

MAXにおいては、スムージングスタックでこれを実現できます。

当コンバーターではスムージングのコンバートの仕方として2種類の方法をもっています。

#### Print Verex Info (Polygon Vertex Normal)

一頂点に複数の法線を出力したい場合にチェックします。

スムージンググループを使用したときに見た目を合わせる場合に使用できます。

Normalドロー関数でのみサポートします。

#### Divide EdgeVertex

一頂点に複数の法線がある場合にコンバーター側でポリゴンを分割し、一頂点一法線ににします。こうすることでnormal、simple、easyのどのドロー関数でも表示が可能となります。

スムージンググループを使用したときに見た目を合わせる場合に使用できます。

ただしPrint Verex Info (Polygon Vertex Normal)よりもデータサイズが大きくなります。

これらのオプションを選ばなかった場合は、スムージングは反映されず、ポリゴン面法線から計算された法線を出力します。

####

5-1-4　テクスチャの抜き(Alpha)

テクスチャ画像作成時にアルファチャンネル（Photoshopの場合、#4指定します。）にグレースケール、または白黒の２階調画像を含める事で「抜き」を表現できます。

グレースケールの場合は半透明を表現する事ができます。

※Photoshopアルファチャンネル上で、黒くなっている部分が抜けます。

できた画像は、PICまたは、TGA形式で32bitで保存する事により、「PVR Converter」や、「Photoshop PVR Converter」などで変換できます。

または、「Photoshop PVR Converter」で直接出力できますが、出力時に4bitや5bitの階調などに修正されますので、後で画像編集する事を考慮して、PICまたは、TGA形式でも保存しておく事をお勧めします。

このPVRファイルをポリゴンにテクスチャ・マッピングすると、「抜き」が表現できます（PVRファイル単独のスプライト表示でも抜けます）。

以下の方法でシーンを作成し、「Ninja Export」で出力します。

#### テクスチャに、32bitのTGAファイルを使う。

アルファチャンネルの白い部分が抜けます（TGAファイルのアルファチャンネルを反転して、PVRファイルに変換されます）。

MAXとDreamcastにおいてアルファチャンネルの扱い方が違うので、MAXのレンダリングとDreamcast上での表示は異なりますので注意してください。

#### ［マテリアルエディタ］の ［不透明度］にグレースケール画像（BMP,TGA）を指定する

グレースケール画像は24bitで使用してください。

黒い部分が抜けます。（実際にはRed成分値で判定しています。）

グレースケール画像を、PVRファイルのアルファチャンネルに格納します。

このやり方では、MAXのレンダリングとDreamcast上の表示が一致します。

また、［マテリアルエディタ］の ［不透明度］スピナで数値を調節する事により、そのマテリアルが設定されたオブジェクト全体を半透明にできます。（拡散光のアルファ値が変化します。）

####

5-1-5　テクスチャのUV

MAXではUV(リピート等)の設定がオブジェクト(メッシュ)側と、マテリアル(テクスチャ)側で、できるようになっています。

現在(Rel0.78a1)のバージョンでは、

ppモデル側
・UVWマップモディファイヤで設定したUV(貼る方法、リピート等)
マテリアル(マップ)側
・タイリング
・ミラーリング(フリップ)
・クロップ(露出)

に対応しており、これらを合成することができます。

基本的に上記の対応している方法を使っていれば、MAXでレンダリングした画像とNINJAで出力した画像は一致します。

#### 注意事項

リピートがかかっている場合は、マテリアル(マップ)側の座標ロールアウトのタイリングおよびミラーチェックボックスは必ずどちらか一方をチェックしておいてください。チェックしないと、レンダリング画像と出力結果が異なる可能性があります。基本的にこのチェックボックスはデフォルトがタイリングにチェックされているので、特に気にしなければ問題はありません。

また、不透明度にBMPを貼った場合も、拡散反射光に設定したタイリング値やミラー値を同じように設定することで、MAXとNINJAの見た目をあわせることができます。

#### クランプビットについて

テクスチャの一番右と一番左のピクセルをブレンドすることによってリピートを滑らかに見せるという機能がPowerVRにはあります。ですがこの弊害としてクランプビットがoffになったままでリピートしないテクスチャを一面に張ると、一番右と一番左のピクセルがお互いに干渉を起こします。たとえば一番右は完全なアルファで左が不透明の色だった場合にクランプビットがoffになっていると一番右側に線が現われてしまいます。これを防ぐにはクランプビットを立ててやる必要があります。MAXにおいては、マテリアル(マップ)側の座標ロールアウトのタイリングおよびミラーチェックボックスがまったくチェックされていない状態においてクランプビットを立てるようにしています。ですから一切リピートしないテクスチャの場合はここのチェックボックスをすべてクリアにしてください。こうすることでそのマテリアルに対してクランプビットが立つのでピクセルの干渉が起きません。これはぴったりポリゴン一面にテクスチャをはる場合などに有効です。

バージョン0.95より上記仕様以外にもダイアログによってシーン全体に、マテリアルネームによってマテリアルごとにクランプビットの制御が選択できるようになりました。

####

5-1-6　CharacterStudio [Biped]の使用に関して

このエクスポートプラグインはbipedによるモーションも出力来ます。

CharacterStudio R2.1が使用可能です。2.0以前のものは使用できません。

- MAX上でbipedにオブジェクトをアタッチ(親子階層を形成)し、キャラクターを作ります。
- モーションをつけます。
- これをそのまま出力すれば、コンバーター内で、bipオブジェクト(bipedの作る骨人形)をNullオブジェクトに変換して出力しますから、アタッチしたオブジェクトだけが見え、モーションします。

####

5-1-7　エンベローブ(Character Studio[Physique])

バージョン0.95よりエンベローブの機能が使えるようになりました。

Physiqueによって各頂点に重みつけを行い、モーションを行うことによって、従来の複数のオブジェクトの部品からなっていたモデルがシームレスにつながった一体成型のオブジェクトで表現できます。

エンベローブを使ったモデルを製作するにあたっての解説をしますが、CharacterStudio(Biped&Physique)の最低限の知識があるものとして説明いたします。

#### 制限事項

エンベローブの表現を頂点の各リンクに対する重みのみで実現している関係上、応用的なパラメータは使用できません。具体的には以下に示します。使用すると見た目が合わなくなります。

- イニシャライズ時におけるVertex-Link AssignmentのDeformableは使用できません。Rigidのみです。

  もしDeformableでイニシャライズした場合は、サブオブジェクトからEnvelopeを選択してすべてのリンクをRigidに変換してください。ブレンドも使用不可です。
  (注:Physique Level of Detail のSkinUpdateのDeformableのことではありません。)

- Link(BendやTwist)、Bulge、Tendonsのパラメータは反映されません。デフォルトのままいじらないことです。
- シェイプアニメーションをしているオブジェクトにはNINJAの仕様上エンベローブを使うことはできません。逆も同じです。ただし、シェイプしているオブジェクトとエンベローブをしているオブジェクトが同じ親子階層内に存在しているのはかまいません。

#### 作成方法の一例

1. モデルを用意します。そのモデルに対して、ボーンまたはbipedを作成します。
2. モデルにphysiqueをアタッチします。このとき制限事項にもあるように、イニシャライズダイアログのVertex-Link AssignmentはRigidを選択してください。
3. モーション等をつける前に必ず基本姿勢の状態でMRSファイルを作成しておいてください。後にこのMRSファイルを元に法線を再計算します。
4. モーションをつけてください。頂点がうまくついてくるよう、physiqueのサブオブジェクト[Envelope]または[Vertex]で調整をしてください。
5. ファイルを出力します。さきほど作成した、MRSファイルをEnvelopeOptionsの[MRS File]フィールドに入力します。頂点にウエイト(重み)がついている場合は自動的にコンバーターが頂点チャンクタイプとして[VN_NF](Vertex_Normal_NinjaFlag)で出力しますので、特にダイアログで頂点チャンクタイプを選ぶ必要はありません。
6. 出来上がったモデルファイル[.nj or .nja ]とモーションファイル[.njm or .nam]をNinjaViewer Evolutionに読み込ませて実機上で確認します。

[←] | [INDEX] | [→]