00:20前回の記録はここから参照。今回は、ハードライトブリッジトラクタービームパネルの設置方法を記録する。]ハードライトブリッジは、太陽光によって生成された光の橋である。プレイヤーはこの上を歩くことができる。キューブやタレットなどはこの上に置くことができる。ポータルを通すことができる。これを垂直に照射することで、タレットの弾丸を防ぐ盾として使用することもできる。]設置方法はとても簡単で、"prop_wall_projector"を配置するだけ。パラメータにも難しい項目はない。Enabledゲーム開始時から照射するときはYesに設定。Helper照射位置の補助を無効化するときはYesに設定。]トラクタービームはその名の通り、プレイヤーを牽引するビーム。ビームに触れると、ビーム中央まで引き込まれてから牽引される。ビームに牽引されている状態なら落下することはない。ポータルを通すことができる。キューブやタレットなども、プレイヤー同様、牽引される。青色のビームが照射されているときは照射装置から離れていく方向へ牽引され、オレンジ色のビームのときは照射装置へ引き寄せられる。]設置方法は簡単で"prop_tractor_beam"を設置し、それに重ねてブラシを配置するだけ。ブラシのテクスチャはtoots/toolsplayerclipを使用する。ブラシを設置する理由は、プレイヤーが"prop_tractor_beam"をすり抜けてしまうため。プレイヤーの落下防止用にブラシを配置するのだ。テクスチャのPlayerClipは、プレイヤーだけ通行止めにする特殊なテクスチャ。ここは通って欲しくないという場所や、すり抜けやそのほかの不慮の事故を防止する時に使うとよい。Enabledゲーム開始時から照射するときはYesに設定。Helper照射位置の補助を無効化するときはYesに設定。Force牽引力設定。-250~250で指定。-250がオレンジ色ビーム。トリガー出力設定ではSetLinearForceでParameterに値を入力。]パネルという見出しだが、これはパネル(ブラシ)と可動アームのセットの紹介である。ここから、アームで動くパネル(可動パネル)を実現する手段を紹介する。PORTAL2では、特に後半のテストチェンバーに、多く用いられているのが伺えた。アームはいくつかの種類があり、それぞれで形状と動き方(シークエンス)が異なる。1つのアームに豊富な種類のシークエンスが存在するので、思い描くテストチェンバーを実現できる可能性は高い。Step.1"prop_dynamic"を以下の設定で設置する。Step.2ブラシをアームのパネルの大きさ(64Lx64Wx4H)に合わせて作成する。作成したブラシはパネルの上にぴたりと重ねて配置する(画像参照)。このブラシをエンティティ化して"func_brush"にする。"func_brush"のプロパティ設定は以下の通りである。panel_arm1Parent設定によりブラシはParentに入力されたエンティティ名に準拠した処理を行うようになる。Step.1で配置したアームの名前を、ブラシのParentに設定することでブラシは、アームに合わせて動くようになるのだ。Parentを設定しただけではプログラム上設定不十分だということに注意。動きは合わせられても、アームのどの部分を基準に動きを合わせるのか?という設定が欠けているのだ。Step.3そこで、アームの基準点をパネルとなるブラシに設定する。"func_brush"自体にそんな設定項目はない。どこにあるかというと、別のエンティティ(トリガー)の出力設定の項目にあるのだ。そこで今回は"logic_auto"の力を借りる。これはゲーム開始時に自動的にトリガーを引いてくれるエンティティ。このトリガーに設定すればよい。Outputsタブ内でAdd...をクリックして次の出力設定を追加する。Yesこれで、ゲーム開始と同時にパネルとなるブラシにアームのpanel_attachを基準にしなさい、と出力するようになるのだ。さぁ、あとはアームにお好みのシークエンスを設定してやれば、可動パネルの完成となる。Step.4今回はトリガーに"logic_relay"を使う。このエンティティ宛てにTriggerを出力すると、このエンティティに設定してあるすべての出力設定を一斉に出力してくれる。出力設定専門のエンティティだと思えばよい。プロパティのNameはarm_relay1に設定しよう。次にOutputタブ内に以下の出力設定を追加しよう。Yesここでは128_out_straightというシークエンスを設定した。これで、"logic_relay"にTriggerが入力されると、アームがシークエンス128_out_straightで動き、同時にそのアームの動きに合わせてパネルも動く。シークエンスはアームプロパティのModelタブ内のプルダウンメニューを参照すると良い。選択すればエディタ画面上で動きを確認できる。Step.5"logic_relay"への入力を設定する。"trigger_once"を通過することで出力するようにしよう。"trigger_once"の出力に次の設定を追加する。Yesアームとパネルがひとつだけしか設置されていないので、わざわざトリガーの出力を"logic_relay"経由でアームに出力しているのは現状無意味になっているのだが、仮に様々な出力を1つのトリガーで実現したい場合、たとえばドアを閉めてBGMを流し同時に複数の可動パネルを動かすといった処理を出力する場合、"logic_relay"を介して出力すれば、それらすべてを統括できるので便利だ。万一それら複数の出力をするトリガーを変更することになっても、"logic_relay"に出力設定が記されていたなら、変更は簡単になることはお分かりいただけるだろう。トリガーに直接出力を設定していたら、そのすべてを変更先トリガーにコピーしなければいけなくなるのだから。attachments"を参照。アームの種類と、SetParentAttachmentMaintainOffsetパラメータがそれぞれ載っている。N/Aは未定値(値なし)の意味。Noはシークエンスがないことを意味する。今回で、このPORTAL2テストチェンバー製作の記録群は一旦終了。おまけとして、細かな機能も紹介したかったのだがこちらの勝手な都合で省かせて頂く。気付きや発見といった動向があれば追って記録する予定。質問や要望などをコメントやフィードバックなど何らかの手段で連絡して頂ければ、可能な限り調査して記録したい意思である。