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

前回の記録はここを参照


今回は、
の設置についての記録をする。


今回紹介するキューブドロッパーエマンシペーショングリッドは一から作成していく方法が基本なのだが、PORTAL2の開発ツールにはすでに作成されたものが、VMF(マップデータ)として用意されているので、それをfunc_instanceで読み込むだけでカンタンに設置できるようになっている。ここで紹介する方法は、このfunc_instanceを用いた方法である。




I、キューブドロッパー

キューブドロッパーはPORTALではおなじみのキューブを落とす(ドロップする)土管だ。PORTAL2ではキューブの種類が増え、標準型キューブ、コンパニオンキューブ、反射キューブ、球型キューブ、旧式キューブ、モンスターキューブなどの種類がある。キューブの詳細についてはここを参考(英語サイト)。キューブドロッパーの役割は、ただ単純にキューブをドロップするだけではない。キューブの個数がマップ内で指定数を超えないように調整する役割もある。つまり、最初に一個のキューブをドロップした後、追加でもう一個のキューブをドロップしようとしても、最初のキューブが消滅してから、次のキューブがドロップしてくるようになっている。このように、キューブを消滅させて個数調整をするのもキューブドロッパーの役割の1つだ。

-Step.1
"func_instance"エンティティを設置し、次の設定を行う。

Property NameValue説明
Fix Up Namecube_dropper1識別名
VMF Filenameinstances/gameplay/cube_dropper_normal.vmfファイルパス

基本、この2つの項目を設定すればよい。"VMF Filename"のファイルを変更することでドロッパーの種類を(キューブの種類も)変更することができる。キューブドロッパーのVMFファイルはinstances/gameplay/にある。ファイル名の先頭でキューブの種類を、末尾でドロッパーの種類を判断することができる。先頭がcubeなら標準的なキューブ用。reflectocubeなら反射キューブ。末尾がnormalなら標準型のドロッパー。dirtyならば汚れの付いたドロッパーを示す。次に大まかな種類を挙げておく。
  • "cube_dropper_a4"、"cube_dropper_mosnter"はモンスターキューブ。
  • "cube_dropper_large"、"cube_dropper_normal"は標準型キューブ。
  • "cube_dropper_player"は変り種でプレーヤー(自身)を落としてくれる。
  • "reflectocube_dropper"は反射キューブ。
  • "sphere_dropper"は球型キューブをドロップする。
-Step.2
トリガーの設定をする。ここでは"prop_button"をトリガーとし、ボタンを押した時にキューブを落とすように設定してみた。

My Output Target EntityTarget InputP...DelayO...
OnPressedcube_dropper1instance:@cube_dropper;Trigger
0.00No
OnPressedcube_dropper1instance:@cube_dropper_autorespawn;Enable0.00No

これでキューブドロッパー設置完了。



II、エマンシペーショングリッド

エマンシペーショングリッドは日本語では確か”物質消去グリッド”であったと思う。英語での別名はFizzler。ポータルデバイスや人体などの認証された物質以外を消去してしまうエネルギーフィールドだ。このグリッドがあるために、キューブやタレットを外に持ち出せないようになっている。このグリッドを通過する直前までにセットしていポータルは、通過時にリセットされる。旧式と新型(左画像)の2種類がある。基本的な設置場所は、テストチェンバー(もしくは部屋)の出入り口である。

-Step.1
・新型のFizzlerを設置するなら"func_instance"エンティティを設置し、次の設定を行う。

Property NameValue説明
Fix Up Namefizzler1識別名
VMF Filenameinstances/gameplay/fizzler_black_clean_128x128.vmfファイルパス

Fizzlerもこの2つの項目を設定すればよい。"VMF Filename"のファイルを変更することで両サイドのブラシのテクスチャと、汚れを変更できる。また、プロパティの"Edit Instance"をクリックして変更する方法もある。


・旧式のFizzlerを設置するなら"prop_static"を配置し、次の設定を行う。

Property NameValue説明
World Modelmodels/props_underground/underground_fizzler.mdl
もしくは
models/props_underground/underground_fizzler_wall.mdl
ファイルパス

"World Model"の項目で"underground_fizzler_wall"を選択した場合、向かい合わせになるように2つ配置する必要がある。配置し終えたら、消去グリッドをブラシで作る。テクスチャは、"effects/fizzler_underground"か、あるいは"effects/fizzler_underground_side_emitters"を適用する。テクスチャはテクスチャツールによってブラシの大きさに合わせて上手く調節するとよい。次に、このブラシを選択したまま、"toEntity"ボタンをクリックして、このブラシをエンティティ化する。

左がfizzler.mdl。 右がfizzler_wall.mdl

編集画面(ブラシのエンティティ化直後)

エンティティ化したブラシを"trigger_portal_cleanser"にして、次の設定を行う。

Property NameValue説明
Namefizzler1識別名
VisibleYes消去グリッドを表示するならYes
Use ScanlineNoスキャンライン(横線)を表示するならYes

"Flags"タブ
Flagチェック
Clientsチェック
Everything (not including physics debris)チェック
Correctly account for object mass and multiple component physobjs

ゲームプレイ画面

これでエマンシペーショングリッド設置完了。



III、サーマルディスカレージメントビーム

サーマルディスカレージメントビーム(別名:レーザー)は、PORTAL2では、パズル要素のひとつである。トリガーの役割になったりや、物体(主にタレット)を破壊することができる。レーザーはプレイヤーが触れるとダメージを受けるが、キューブを使えば遮ることができる。また反射キューブを使うとレーザーを床と平行なまま、任意の方向に反射させることができる。ここでは発射装置と受光装置のペアを設置する方法を記録する。また、オプションとしてリレー装置の設置方法も記録した。

-Step.1
発射装置の"env_portal_laser"と受光装置の"prop_laser_catcher"を設置する。オプションのリレー装置は"prop_laser_relay"である。


"env_portal_laser"
Property NameValue説明
Namelaser_emitter1識別名
Laser modelmodels/props/laser_emitter.mdlファイルパス
Start off?Noゲームスタート時からレーザーを放つ場合はNoに設定。
Deal lethal damageNon-lethalレーザー接触時のダメージを最大にするときはLethalに設定。
Should auto aim?Yes自動照準の設定。デフォルトのYes推奨。
SkinClean表面をサビ付かせるならRusted

"prop_laser_catcher"
Property NameValue説明
Namelaser_catcher1識別名
SkinClean表面をサビ付かせるならRusted
laser catcher modelmodels/props/laser_catcher.mdlファイルパス

"prop_laser_relay"
Property NameValue説明
Namelaser_relay1識別名
laser relay modelmodels/props/laser_receptacle.mdlファイルパス

"env_portal_laser"と"prop_laser_catcher"のモデル名をcenterにすると、下画像のモデルに変更できる。
-Step.2
"prop_laser_catcher"と"prop_laser_relay"をトリガーとして設定したい場合の出力設定。

  • レーザーが入力されている状態………"OnPowered"
  • レーザーが入力されていない状態……"OnUnpowered"

反射キューブを設置する時は、キューブドロッパーを使用するか、"prop_weighted_cube"の設定を次のようにする。

Property NameValue説明
Nameref_cube1識別名
Skin (OLD)Reflective反射キューブにするのでReflectiveを設定。
Cube TypeStandardここはReflectiveにしない
Skin TypeClean表面をサビ付かせるならRusted

これでサーマルディスカレージメントビーム設置完了。


今回の記録は以上である。

次回の記録はハードライトブリッジ、トラクタービーム、動くパネル、その他おまけを記録するつもりである。


6294911822976999755 http://www.storange.jp/2011/09/portal2-6.html http://www.storange.jp/2011/09/portal2-6.html PORTAL2 テストチェンバー製作6 2011-09-26T15:54:00+09:00 http://www.storange.jp/2011/09/portal2-6.html Hideyuki Tabata 200 200 72 72