PORTAL2 テストチェンバー製作2

今回の記録の目的は、前回の記録で作り上げた部屋の中にエンティティ要素を配置することである。エンティティの中でも今回はプレイヤードアボタンを配置することを目的にしよう。


では、早速記録してゆく。

前回の記録で作り上げた部屋
ここにエンティティ配置していく。


1、エンティティツールでエンティティを配置する。
エンティティを配置する前に注意事項を1つ。エンティティはブラシで密閉された空間内に配置しないとテストラン前のコンパイル(組み立て)時に"Leak"というエラーが発生してしまう。要は、エンティティを配置したら、そのエンティティを少しの隙間も無く、ブラシで囲えば良いのだ。
画像のようにエンティティを外の世界にさらしてはならない。
部屋の中にいても、壁に隙間があるので外の世界にさらされていることになる。
このように密室にすればエラーは起きない!
前回の記録で作成した部屋は、ブラシで隙間無く覆われているので問題ない。では本題に戻ってエンティティ配置の手順を記す。
  1. エンティティツールを選ぶ。
  2. 3D画面上のエンティティを配置したいところでクリックする。
配置するとこんなカンジになる。
エンティティの設定は、エンティティプロパティから行う。エンティティプロパティを表示するにはエンティティをダブルクリックすればよい。

2、エンティティの設定をする。
エンティティプロパティのプルダウンメニューから使いたいエンティティを選ぶ(上画像参照)。プルダウンメニュー欄にエンティティ名を直接入力すると候補が表示されるので便利。今回は次の5種類のエンティティを紹介する。



<プレイヤーエンティティ>
エンティティ名:info_player_start
プレイヤーエンティティは文字通り、プレイヤー(主人公)となるエンティティである。設定は、プレイヤーの初期位置向く方向を設定するだけで、そのまま配置すれば、その位置がゲームのスタート地点となる。初期位置は2D画面を使って移動させればよい。向く方向は、プロパティの円(Angles:)をクリックして、好きな方向を選ぶ(下画像参照)。選んだら"適用"をクリックして確認しよう。
エンティティツールでは、このinfo_player_startの状態で配置されるのだが、以下の手順でこのデフォルト設定を変更することができる。後に紹介するprop_dynamicは良く使うエンティティだと思ったので、それをデフォルトに設定してみたのが下の画像。
Tools > Options... をクリックすると次の画面が現れる。
"Default PointEntity"をお好みに変更する。



<スタティックエンティティ>
エンティティ名:prop_static
赤矢印は、実際には表示されないよ。)
スタティックエンティティは、ワールドモデルを選択することで、そのモデルをゲーム中に登場させることができるエンティティである。たとえば、パネル、置物、照明器具(光は別)、といった飾り物がこれにあたる。上手く配置すれば、テストチェンバーのルックスがよくなること間違いなし!以下はモデルの適用手順。

  1. "World Model"をクリックして選択する。
  2. "Browse..."をクリックしてモデルブラウザを表示する。
  3. お好みのワールドモデルを選択したら"OK"をクリック。
    分類、モデル名、3Dビュワー、モデルプロパティの順番に確認していくのが良い。"MDL Files"を選択して、"Filter"にキーワードを入力すれば、全モデルを検索対象にして検索できるので、モデルを素早く見つけられる。
  4. "適用"をクリックして、エンティティに適用する。
  5. 必要ならば、"Pitch Yaw Roll"でモデルの向きを変える。



<ダイナミックエンティティ>
エンティティ名:prop_dynamic
赤矢印は、実際には表示されないよ。)
ダイナミックエンティティは、主にアニメーション付きのワールドモデルを選択することで、そのモデルをゲーム中に登場させることができるエンティティである。たとえば、動くパネルやエレベータがそれにあたる。ダイナミックエンティティを上手く配置すれば、テストチェンバーがまるで生きているかのように感じること間違いなし!

モデルを選択する手順はスタティックエンティティと同じ。モデルプロパティの"Sequences"タブで、そのモデルのアニメーションが確認できる。



<ドアエンティティ>
エンティティ名:prop_testchamber_door
その名の通り、これでドアを配置できる。しかし、ゲームということを考えると、ただドアが開くだけでは面白くないもの。「プレイヤーがなにかしらのアクションを起すと、ドアが開く」という設定のほうがおもしろいと思うので、次に紹介するボタンエンティティと一緒に設置することをおすすめする。このドアエンティティはいくつかのアニメーションが用意されている(デフォルトでは扉が両方同時に閉じるアニメーションを繰り返している)。これらアニメーションは、オプションの"Model"タブのプルダウンメニューから全て確認できる。ちなみに、ダイナミックエンティティのアニメーションも同様に確認できる。



<ボタンエンティティ>
エンティティ名(左から順に)prop_button/ prop_under_button/ prop_floor_button/ prop_floor_cube_button/ prop_under_floor_button
これはゲーム中、トリガーの役割を果たす。ボタンを押した時に、なにかのアクションと連動させることができる。他と比べ、少し設定に手間がかかるが、その分ゲームらしさが加わる。以下は”ボタンを押すドアが開く5秒後にドアが閉まる”を実現するための設定手順を記す。
  1. prop_player_startprop_testchamber_doorprop_buttonを下画像のように配置した。
  2. ドアエンティティをダブルクリックし、エンティティプロパティを表示する。ドアに好きな名前をつけて適用する。画像は"door_1"という名前を付けているところ。
  3. ボタンエンティティをクリックし、エンティティプロパティを表示する。"Outputs"タブをクリック。"Add..."をクリックしてボタンの出力設定を追加。出力設定項目は下画像通りに設定しよう。出力設定項目は上から順に「ボタンを"押した時"に"door_1"を"開く"、パラメータ"なし"で"0.00"秒の遅れ付き。」と読める、理解のしやすいレイアウトになっている。これで、ボタンを押すと"door_1"に"開け!"の命令が出力されるようになった。
  4. 開けたドアは閉めたい。ので、5秒後にドアが閉まるように設定しよう。感覚的にドアエンティティに設定したいところなのだが、開く命令はボタンエンティティが出力したものなので、閉じる命令もボタンエンティティに出力してもらおう。ボタンエンティティのプロパティ、”Outputs”タブ内の"Add..."で出力設定を追加。設定項目は「ボタンが”戻った時"に"door_1"を"閉める"、パラメータ"なし"で "5.00"秒の遅れ付き。」にする。"適用"をクリックして適用すればOKだ。


3、テストランをしてみる!
ここまで、来たらエラーバグが発生しないかを確認してみるのがよい。そんなチェックに最適な方法がある。試しにゲームプレイしてみればよいのだ。テストランってやつ。
マップオペレーションツールバー
ウィンドウ上部のツールバーの"Run Map!"をクリックFile > Run Map...をクリック、もしくはF9キーを押しても)
Run Map ウィンドウ
"Run BSP"、"Run VIS"、"Run RAD"の3つのパラメータは"Normal"でも問題ない。"OK"をクリックすれば、コンパイル(組み立て)という作業が自動的に行われるのだが、コンパイルはコンソール(プロンプト)上で行われる。でもこのコンソールは、コンパイルが終了すると勝手に閉じてしまう。エラーが発生した時でも勝手に閉じてしまうので、何のエラーが発生したのかが見れないことがある。そんな時は、"Wait for keypress when done compiling(コンパイル終了時にキー入力を待つ)"にチェックを入れると、コンパイルが終了してもキー入力があるまでコンソールを表示しておいてくれるので、何のエラーがあったのかを確認することができる。コンパイルがエラーなしで終了すると"Hammer"が自動で"Portal 2"を起動してくれる。しばらく待てば見覚えのある部屋が画面に広がる。

ボタンエンティティを押してみたい。
デフォルトでは、キーボード操作の場合"W"前進、"A"左、"D"右、"S"後退のはず。


"E"アクションボタンを押してみると…


ドアが開いてくれると嬉しい

そして秒後に…


ちゃんと閉まった。

大成功!

ドアが開くだけでここまでの喜びがあるとは、、、


エンティティの種類は他にもたくさんあるのだが、今回の目的はプレイヤードアボタンを配置することなので、今回はここまでとする。


次回は、ドアを間仕切り壁に埋め込みたいと思う。トリガーブラシの設置もしてみたい。

さらに余裕があれば、このゲームの肝である"ポータルデバイス"も配置してみたい。

7748965622301105691 https://www.storange.jp/2011/09/portal2-2.html https://www.storange.jp/2011/09/portal2-2.html PORTAL2 テストチェンバー製作2 2011-09-08T13:08:00+09:00 https://www.storange.jp/2011/09/portal2-2.html Hideyuki Tabata 200 200 72 72