Unityのアドベンチャーゲーム制作アセット Adventure Creator の公式サイトに掲載されている英語のチュートリアル を翻訳しながら進めていきたいと思います。今回は設定した時間が過ぎると閉まるドアを作ります。
原文:Making a door close after a set time
前回のチュートリアルに続いて、プレイヤーがすぐに通過しなければならないような、数秒後に閉まるドアを作ってましょう。
ドアを閉じる設定はCutsceneで行います。そのCutsceneで、ドアが開いた後に設定した時間後にドアが閉まるようにします。
[AC Game Editor]ウィンドウ > [Scene]タブ:Scene managerを選択。Scene prefabs > [Cutscene]ボタンをクリック。New prefab name: フィールドにClose doorと入力。[Add new]ボタンをクリックしてCutsceneプレハブを作成します。Vectorフィールドは、ドアを元の位置に戻すために、開いた位置の逆に設定する必要があります。今回の場合は、X方向に1.95単位になります。
さらに[Translate] [By]に設定。Transition time (s):を1秒に設定し、Move method: を[Smooth]に設定し、Pause until finish?のチェックボックスをオフにします。
また、ドアが閉じたときにボタンを押すインタラクションを再び有効にしたいので、[Add new action]ボタンをクリックして2つ目のアクションを追加します。追加したアクションを次のように設定します。
これでInteractionプレハブ”Red button_Use”が再度有効になります。
アクションパネルの上部にあるのはCutscene propertiesになります。このCutsceneを5秒遅らせるには、Start delayを5に設定します。このCutsceneがゲームプレイをブロックしないように、When runningフィールドをRun In Backgroundに変更します。
では、このCutsceneプレハブ”Close door”を呼び出すための手順を説明しましょう。Interactionプレハブ”Red button_Use”を選択。[Inspector]ウィンドウ > 最後のアクション”Hotspot: Change interaction (Red button – Disable Use)”のCutscene to runを[Close door]に変更します。
さあ、5秒後に再びドアが閉じて、プレイヤーは再びドアを開くことができるようになりました。
左側のドアと右側のボタンアクションも改造して時間が過ぎたら閉まる設定を追加してWebGLでビルドしてみました。
これでちゃんとドアが開閉するようになりました。
というわけで、今回のチュートリアルではInteractionプレハブとCutsceneプレハブのアクション連携が出てきました。複雑なアクションはこんな感じでやっていくんでしょうか?色々試してみたいところです。