マップ作り#6
mountainが落ち着いたので次のマップを作り始めた。その前にいろいろHammer EditorによるMappingで出来ることを確かめておこうということでいろいろ調べた。
ドアの作り方
func_doorを使うとあらかじめ指定した方向に移動するオブジェクトが作れる。
というわけで、TF2のRespawn Roomみたいな自動ドアを作りたいときの手順は以下
- シャッターのテクスチャを貼付けたブラシを作成
- これをTie to Entityでブラシエンティティに変換する
- func_doorに種別を変更し、シャッターの名前を door_01 と設定する
- 稼働方向を上方向に設定、速度は400
- シャッターの足下にNODRAW テクスチャのブラシを作成
- Tie to Entityでブラシエンティティに変換
- trigger_multipleに種別を変更
- OnTouchStartAllのときはdoor_01にOpenを送信するように設定
- OnTouchEndAllのときはdoor_01にCloseを送信するように設定
こうすると、シャッターの近くに行ったとき、足下のNO DRAW(不可視)のテクスチャに触れる。
そしてOnTouchStartAllイベントが発生して、シャッターにOpenイベントが送信され、シャッターが上にあがる。足下からプレイヤーが離れたときにOnTouchEndAllイベントが発生して、シャッターにCloseイベントが送信され、シャッターが閉じる
レーザーを発射する
レーザーの起点をenv_laserエンティティ、終点をinfo_targetエンティティで作成する。
env_laserのプロパティに終点の設定があるのでそこで設定をする。
env_laserにTurnOnイベントを送信すると、レーザーが射出される。このレーザーに触れるとダメージがある。TurnOffイベントを送るまでずっとレーザーは有効なので注意
TurnOnイベント送信したときに同時に3秒後とかにTurnOffイベントも送信しておくと便利
炎を使う
なんかTF2だとenv_fireが使えないっぽい。env_fireを作ってStartFireってイベントを送ると燃焼しはじめるんだけど、いっさい見えない炎があるっぽくてダメージはちゃんとはいるんだけど、見えない。蜃気楼みたいに歪んだ感じになる。いや陽炎というのかこういうのは。うーんというかんじ。
スイッチで増減する水を作成する
func_water_analogでやる。あとはfunc_doorとまったく一緒でOpen送ると指定の方向に移動して、Close送るともとに戻せる。水は増やせる訳じゃなくて移動しかできないっぽい。壁の中に水を隠しておいて移動させる感じ。いろいろ不便ですね。。これ何とかならんのかなぁ。SourceEngineだと無理なのかな。
物理演算が適用される箱を作る
ブラシで形を作ってTie to entityして、func_physboxを指定するだけ。mass scaleを0.01とかにしないと重すぎてプレイヤーが動かせない感じだけど