こんにちは、スタジオ・デジタルプラスの磯野です。前回はゲームモードを作成し空間を歩き回れるようにしました。今回は、動画のようにプレイ中にドアが開いたり、ファンが回るなどの設定をしていきましょう。Engine4のバージョンは4.21を使用していきます。椅子の物理を有効にするプレイヤーが椅子にぶつかると、椅子が動くようにします。動きを制御したい軸にチェックを入れます。プレイヤーが衝突すると椅子が押されて移動するようになりましたシーリングファンを回転させる天井のシーリングファンを回転させてみましょう。第8回でインポートしたシーリングファンの羽根をレベルから削除します。(回転させたい羽根だけでOK)比較できるよう今回はいくつか残しました。それでは回転する羽根を作っていきます。ブループリントクラスを作ります。名前をつける(ここでは〔Fans〕としました)〔Fans〕を開いて設定していきます。Meshを割り当てます。コンパイルして閉じます出来たら、レベルに配置します。〈Fans〉をクリックし「詳細パネル」にある〔Time〕のZ値を500に回転速度を決めたら、他のシーリングファンも配置しましょう。配置したらシミュレートして確認。メモ変数の詳細パネルに「ツールヒント」というのがあります。ここに文字を入力しておくと、レベルに配置した時にBPクラスの詳細に出てくるので、何の変数だったかを確認するのに便利です。変数(Time)のツールヒントに〔回転速度〕と入力BPクラスの詳細で〔Time〕にカーソルを合わせると〔回転速度〕と出てきます。変数の補足説明代わりに便利なので、積極的に使ってみましょう。ドアを開けるドアの開閉については2パターン紹介します。一つは、レベルブループリントで組む方法。一つは、シーリングファンの時のように、ブループリントクラスを組む方法。レベルブループリントの方法は手軽で簡単ですが、ブループリントクラスを使う方法であれば、同じドアを別の場所やレベルでも使いまわせるので、マンションやビルなどには便利かと思います。始めにレベルブループリントで組む方法をご紹介します。レベルブループリント近づいたら開き、離れると閉まるドアを作ります。レベルブループリントは以下のようにしました。※左クリックが赤、右クリックが黄色のサインです。「モードパネル」の「基本」から「ボックストリガー」をレベルにドラッグ&ドロップで配置このボックスに当たるとドアが開くので位置は高くし過ぎないように。「タイムライン(変数)」をGet。レベルに戻り、ドアを選択した状態で「レベルブループリント」を開く「イベントグラフ」で右クリック。「Lerp(vector)」のXYZ値を入力します。Aは現在の位置、Bがドアが開いた後の位置レベルに戻り位置の値をコピー&ペーストXとZの値は変わらないのでAB同じ値を入れます次に、「ボックストリガー」から離れるとドアが閉まるようにBPを追加します。Overlap」とつなぎ「Duration」を3.0に「ボックストリガー」から離れて少し待ってからドアを閉めたいので「Delay」を入れました。プレイして確認します「レベルブループリント」の作業はこれで完了です。ドアの開閉速度を変えたい場合は変数〈Time〉の値を変更してください。次に、ブループリントクラスを使用した方法をご紹介します。ブループリントクラスまずドアとドア枠は必要ないので削除しておいてください。それでは初めていきましょう。新規にブループリントクラスを作ります。プレイヤーの衝突を判定するためのボックスを追加します。位置とサイズを調整しますこのボックスに当たるとドアが開くので位置は高くし過ぎないように。準備できたのでブループリントを組んでいきましょう。0」と「Lerp(vector)」の「Alpha」をつなぐここで変数を作ります。「Lerp(vector)」のAは現在の位置、Bはドアが開いた後の位置です。このBの値(位置)をレベルに配置した状態で変更できるようにしたいと思います。「変数」の「+」を選択し名前を〔OpenLocation〕に「詳細パネル」の「変数の型」を「Vector」にここで「3Dウィジェットを表示」にチェックを入れたいのですが、コンパイルしないとできませので、コンパイルします。目玉はONにしなくても大丈夫です。作った〔OpenLocation〕を「イベントグラフ」にドラッグ&ドロップ直接「Lerp(vector)」のBまで持っていくと自動的につながりますここで作った変数〔OpenLocation〕については後で説明します。ここまではドアが開くというBPを作りました。次はドアが閉まるBPを追加していきます。Overlap」と「Delay」をつなぐコンパイルして完成です。レベルに配置してみましょう。ここで作った変数〔OpenLocation〕について説明します。レベルに配置すると、ドアの付近に紫の正八面体があると思います。これは変数の詳細でチェックを入れた「3Dウィジェットを表示」をONにすると表示されます。このチェックを外すとレベルに表示されなくなりました。01:00~「3Dウィジェット」の位置はドアが動いた後の位置、ENDの位置になります。位置を調整してプレイしてみましょう。ブループリントクラスで作ればシーンに複数配置する事も簡単にできます。試しに複数配置してみましょう。今回は、色々な物を動かしてみました。家具などに動きがつくとより一層空間を楽しむことができるようになるのではないでしょうか。次回はウィジェットで簡単なメニュー画面を作っていく予定です。最後まで読んでいただきありがとうございました。~データフォーマットDatasmithを使ったワークフロー~第11回:スタート画面を作ろう2019.05.27スタジオ・デジタルプラスの磯野です。前回はプレイ中に空間を楽しめるよう、ドア・椅子・ファンに動きをつけました。30日間無償で体験できます。30日間無償で体験できます。製品のご購入に関してご連絡を希望される場合は、こちらからお問い合わせください。