【目次】
衝突判定用コリジョンデータの複製
コリジョンデータの調整
コリジョン用コンポーネントの適用
コリジョンデータを出力する
衝突判定用コリジョンデータの複製▲
次に衝突判定の組み込みを行ないます。
■ コリジョンデータの複製を行なう
本来であれば Maya や 3dsMax などで作成したシーン情報を元に、キャラクタの減り込みを禁止する
区域に対して Unity の Plane, Quad, Cube などを配置していく作業になるのですが、
今回はシーンそのものが Unity の 3D オブジェクトで構成されていますので、
そちらを活用してコリジョンデータを作成します。
先のステージ設定同様、SimpleStage.unity のシーンを使いますので、
Assets/moenginesample/Scenes にある SimpleStage.unity をダブルクリックで開いてください。

以下のようなポップアップウィンドウが表示されたら「Don't Save」をクリックしてください。

現在のステージに配置しているUnityの3Dオブジェクトは、Hierarchy タブ内の StageRoot/StageObject 内に
収められています。その中身を全選択して、右クリックメニューから Duplicate を選択します。

Duplicate で複製されたオブジェクトを、Collision 直下にドラッグして移動します。

Duplicate の際に、順番がバラバラになってしまいますので、Collision 内のデータについて
・ Plane1
・ Quad4 ~ Quad7
・ Cube4 ~ Cube7
になるように、手動で並べ替えてください。

コリジョンデータの調整▲
複製した3Dオブジェクトに対して、コリジョンデータとして適用させるための調整を行ないます。
■ ワイヤーフレーム表示に切り替える
雰囲気を掴んでもらうために、コリジョンオブジェクトを非表示(ワイヤーフレーム)に切り替えます。
まず、Hierarchy タブ内の Collision 内の全ての3Dオブジェクトを全選択してください。

全選択した状態で、Inspector タブ内の Mesh Renderer のチェックボックスを外してください。

Sceneビューでワイヤーフレームで表示された箇所がコリジョンになります。

■ Quad(外郭の壁)のコリジョンの横幅を広げる
Quadオブジェクト(外郭にある4枚の壁)の部分の四隅の当たり抜けを防止するため、コリジョンの横幅を広げます。
まず、Hierarchy タブ内の Collision 内のうち、Quad4~Quad7 を選択状態にします。

この状態で、Inspector タブ内の Trasform 枠内の Scale-X の値を 20 から 25 に変更します。

この状態にすることで、四隅の当たり抜けを防ぎます。

■ Cube(障害物)のコリジョンの高さを高くする
Cubeオブジェクト(ステージ上に散在している障害ボックス)部分の壁当たり抜けを防止するため、
コリジョンの縦幅を広げます。
まず、Hierarchy タブ内の Collision 内のうち、Cube 4~Cube 7 を選択状態にします。

この状態で、Inspector タブ内の Trasform 枠内の Scale-Y の値を 1 から 10 に変更します。

この状態にすることで、高さのあるユニットの当たり抜けを防ぎます。

コリジョン用コンポーネントの適用▲
現在編集中のコリジョンデータに対し、コリジョン用コンポーネントを適用します。
■ コンポーネントを追加する
まず、Hierarchy タブ内の Collision 内の全ての3Dオブジェクトを全選択してください。

この状態で、Inspector タブ内の AddComponent ボタンをクリックします。

Add Component のプルダウンメニュから、
Scripts > MOengine.Tools.Scripts.Collision > Collision Attribute
を選択してください。

■ 床のコンポーネント属性の追加
コンポーネントを組み込んだオブジェクトのうち、Plane1 に対して床のコンポーネント属性を追加します。
まず、Hierarchy タブ内の Collision 内のうち、Plane1 を選択状態にします。

この状態で、Inspector タブ内の Collision Attribute(Script) 枠内の Attribute 値を Floor に変更します。

■ 壁のコンポーネント属性の追加
コンポーネントを組み込んだオブジェクトのうち、Quad 4~Quad 7 ならびに Cube 4 ~ Cube 7 に対して
壁のコンポーネント属性を追加します。
まず、Hierarchy タブ内の Collision 内のうち、Quad 4~Quad 7 ならびに Cube 4 ~ Cube 7 を選択状態にします。

この状態で、Inspector タブ内の Collision Attribute(Script) 枠内の Attribute 値を Wall に変更します。

コリジョンデータを出力する▲
ここまで編集したコリジョン情報を、一旦データとして出力していきます。
■ StageEditor を開く
Unity のメニューから MoEngine > StageEditor をクリックします。

■ ステージデータの編集を開く
StageEditor が開いたら、作成していた ステージID=1 のステージデータの[編集]ボタンをクリックします。

■ コリジョンデータを出力する
StageDataEditor ウィンドウが開いたら、[コリジョンデータを出力] ボタンをクリックしてください。

所定の場所(Master)にSimpleStage.cbinが作成され、
以下のダイアログが表示されますので [OK] ボタンをクリックします。

■ StageDataEditor および StageEditor を閉じる
コリジョンデータを出力し終えたら、StageDataEditor の右上の×ボタンをクリックして閉じます。

同様に、StageEditor の右上の×ボタンをクリックして閉じます。
