今回はパズル機能が組み込まれている一人称視点のアドベンチャーゲームのテンプレートアセット First person narrative adventures + complete puzzle engine を紹介します。
今回の記事は Unityアセット冬のアドベントカレンダー 2019 Winter! に参加しています。
まずはYouTubeで公開されているプロモーション映像をチェックしてみましょう。
アセットストアに掲載されている英文の機能紹介について機械翻訳してみました。
First person narrative adventures + complete puzzle は、パズル(スクリプト、3Dモデル、および効果音)を作成する強力なエンジンと組み合わせてナラティブアドベンチャーを作成するための完全なセットです。
コードは不要ですべてが完全にカスタマイズ可能です。
モバイルおよびデスクトップに適合したゲームプレイ
2つのデモシーンが含まれています (1つのミニアドベンチャー+ 40のすぐに使えるパズル)
パズル完全システム
7種類のパズル:パイプ、ギア、コード、ロジックパズル、回転シリンダー、スライドパズル、レバー。
利用可能な多くのパラメータ
独自のパズルを簡単に作成:無限のバリエーション
付属の3Dモデルを使用するか、独自のモデルを追加します。
さまざまなオプション:パズルを開始するオブジェクト、秘密のドアまたは隠された通路を開く、何かのロックを解除するオブジェクトが必要です。
40種類のパズルバリエーションが含まれています。
Sound fxが含まれています。
完全なドキュメント
注:このアセットは、ARおよびVRと互換性がありません。
今回アセットをインポートする Unity のバージョンは 2018.4.14f を使用しています。アセットのインポート時にプロジェクト設定の上書きについての注意ダイアログが表示されます。そのまま[インポート]ボタンをクリック。
ちなみにプロジェクト新規作成時にプロジェクト名をアセットのフルネームの First person narrative adventures + complete puzzle engine に設定するとエディタの[Console]ウィンドウに DirectoryNotFoundException というエラーが発生。プロジェクト名がマズかったようです。
プロジェクト名を First person narrative adventures に変更して再度新規プロジェクトを作成。今度は DirectoryNotFoundException エラーは発生しませんでした。
さらに、このUnityパッケージは Package Manager に依存していますという注意ダイアログが表示されます。そのまま[Install/Upgrade]ボタンをクリック。
しばらく待つとアセットのインポートウィンドウが表示されるので[Import]ボタンをクリック。
インポートが完了すると[Console]ウィンドウにいくつものエラーが表示され、エディタのメニュー:Windows から Package Manager の項目が消えてしまいました。注意ダイアログで[Install/Upgrade]ボタンをを選択したのがマズかったようです。
というわけで、一旦プロジェクトを削除してもう一度新しいプロジェクトを作成してアセットをインポート。今度は注意ダイアログで[Skip]を選択してインポートしました。
何度かプロジェクトを作成し直してやっとアセットのインポートが完了しました。 アセット内容を見ていきましょう。フォルダ構成はこのようになっています 。なお、新規プロジェクト作成時に自動作成される Scene フォルダとサンプルシーンファイルは削除しています。
シーンファイルをダブルクリックして開いてみました。[Game]ビューには白い背景に Demoの文字だけ。
[Hierarchy]ウィンドウ > Demo オブジェクトをクリックして[Inspector]ウィンドウを確認するとDetas PM というフィールドに ProjectManagerDatas という ScriptableObject が割り当てられています。このフィールドをクリックして[Project]ウィンドウで確認してみます。
さらに [Project]ウィンドウで ProjectManagerDatas をクリックして [Inspector]ウィンドウを確認するとゲームの初期設定のようです。 Current Datas Project Folder フィールドに Demo と入力されているので、[Project]ウィンドウで探してみます。
Demoゲームで呼び出される実際のファイルは Assets > AP > Assets > Scenes > Demo フォルダにあります。
Demo フォルダにあるシーンファイルのうち、00_MainMenu はファイル名の通りメニュー画面のシーンです。もう一方の01_DefaultScene が実際のゲームシーン。こちらを開いてみました。[Scene]ビューで見るとこのようになっています。
さらに、40個のパズルを収録したショールームと3Dモデルのプレハブを収録したショールームのシーンが [Project]ウィンドウ > AP > Assets > Scenes > Showroom フォルダにあります。
01_ShowRoom_Probs はデモシーンで使用されている多くのプレハブを一覧できるシーンとなっています。
もう一方の 02_ShowRoom_Puzzle シーンは40種類のパズルのプレハブが一覧できます。再生ボタンを押して実際に動作を試すことができます。
[Project]ウィンドウ > AP >Documentation フォルダには 7ファイルのPDF形式のドキュメントが含まれています。 すべて英文ですが、かなり詳しくアセットの使用方法が書かれています。
ドキュメントの目次は次のようになっています。ドキュメントは機械翻訳すればある程度内容が理解できそうです。
ドキュメントファイル Part_4 の内容 10-Graphics で使用されるサンプルシーンも用意されています。
Graphics_Tuto_04 を開いてみました。
用意されているパズルは大きく7種類に分類されます。デモシーンで用意されている40種類のプレハブからピックアップして紹介します。
パイプのパーツを回転させて通り道を接続するパズル。難易度は低めです。
用意されている軸と組み合わせて回転するギアの組みあわせをつくるパズル。
数字やアルファベットの正解を入力するパズル。図で紹介しているものは数値表から正解を導きだす形になっています。
配置されているオブジェクトから正しいパターンに合わせて揃えるパズル
このタイプのパズルが結構難しい感じがしました。例えば上図の右側のパズルの場合、「赤四角 」+「緑プラス 」+「青丸 」の合計が「8」。「青丸 」+「青丸 」+「黄色四角」の合計が「5」なっています。この配置からそれぞれのオブジェクトの数値を推測。正解は下図の通りです。
シリンダーを回転させて正しいパターンに揃えるパズル。図の右端のパズルは円の中央に問題の文章が書かれています。
パネルをスライドさせて正しい順序に並べるパズル。
レバーを正しい順序に操作してすべてのランプを点灯するパズル。これは適当に操作してもすぐに正解できる感じです。
[Project]ウィンドウ > Assets > AP > Prefabs > House フォルダに収録されている3Dモデルのプレハブをサムネイルで紹介します。
室内の巾木と庭の敷石として使用できる石材が用意されています。(画像クリックで拡大)
木製ドア、金属製ドア、彫像レリーフのドアが用意。さらに木製ドアは開閉動作のコンポーネントを組み込み済みのプレハブも用意されています。
チェッカー模様、四角タイル、フローリングの床が用意されています。(画像クリックで拡大)
書棚、テーブル、椅子、ソファなどの家具が用意されています。引出しなど開閉動作のコンポーネントを組み込み済みのプレハブも用意されています。(画像クリックで拡大)
ローソク、スタンドライトなどが用意されています。(画像クリックで拡大)
書物、坪、絵画、置物などが用意されています。(画像クリックで拡大)
手紙や文書、壁にとめるためのピンも用意されています。(画像クリックで拡大)
石造りと木製の2種類の階段が用意されています。
レンガ造りの壁。 窓やドア枠が組み込まれたタイプも用意されています。(画像クリックで拡大)
石造りの壁や柱、石単体のプレハブが用意されています。(画像クリックで拡大)
そのまま使える40個のパズルと、家具や小物の3Dモデルのプレハブも豊富に用意されています。これらを組み合わせてちょっとしたストーリーを付け加えれば色々なタイプのアドベンチャーゲームを作ることができそうです。