Unity Asset:パズル機能が組込まれてアドベンチャーゲーム制作が捗る! First person narrative adventures + complete puzzle engine

今回はパズル機能が組み込まれている一人称視点のアドベンチャーゲームのテンプレートアセット First person narrative adventures + complete puzzle engine を紹介します。

First person narrative adventures + complete puzzle engine

今回の記事は Unityアセット冬のアドベントカレンダー 2019 Winter! に参加しています。

Unityアセット冬のアドベントカレンダー 2019 Winter!

First person narrative adventures + complete puzzle engine の特徴と機能

まずはYouTubeで公開されているプロモーション映像をチェックしてみましょう。

Target | First person narrative adventures + complete puzzle engine | Trailer | Unity 3D Asset

アセットストアに掲載されている英文の機能紹介について機械翻訳してみました。

機能概要

First person narrative adventures + complete puzzle は、パズル(スクリプト、3Dモデル、および効果音)を作成する強力なエンジンと組み合わせてナラティブアドベンチャーを作成するための完全なセットです。

コードは不要ですべてが完全にカスタマイズ可能です。

モバイルフレンドリー

モバイルおよびデスクトップに適合したゲームプレイ
2つのデモシーンが含まれています (1つのミニアドベンチャー+ 40のすぐに使えるパズル)

アセットに含まれている機能

パズル完全システム
7種類のパズル:パイプ、ギア、コード、ロジックパズル、回転シリンダー、スライドパズル、レバー。

利用可能な多くのパラメータ
独自のパズルを簡単に作成:無限のバリエーション
付属の3Dモデルを使用するか、独自のモデルを追加します。
さまざまなオプション:パズルを開始するオブジェクト、秘密のドアまたは隠された通路を開く、何かのロックを解除するオブジェクトが必要です。

40種類のパズルバリエーションが含まれています。

機能の完全なセット

  • キャラクターコントローラー(マウス/キーボード、パッド、モバイル入力)
  • 足音
  • 物体検査システム
  • 相互作用の自動検出
  • オートカメラフォーカスシステム
  • 開閉家具
  • ドアの開閉

ダイアリーとオブジェクトの完全なシステム

  • インベントリ
  • オブジェクトビューア
  • 日記システム
  • 情報フィードバックシステム
  • ボイスオーバーシステム+字幕システム+ローカリゼーションシステム
  • 完全なデータ保存システム(ゲームの読み込み/保存)。
  • イベントトリガー
  • フィードバックカットシーン
  • ロックドア

UIメニュー:デスクトップおよびモバイル対応

すぐに使用できる完全なインターフェース

  • メインメニュー
  • 設定メニュー:入力、グラフィック品質、音量(音楽、雰囲気、音声、音声エフェクト)
  • 保存、ロード、一時停止、再開、終了。

すぐに使える300以上の環境とパズル要素プレハブ

  • 多くのオブジェクト、モジュラー壁、床、階段と屋根、家具、照明、パズル要素。
  • フレームレートを最適化するメッシュコンバイナースクリプトが含まれています。
  • コライダーが設定済み。
  • ライトマップ対応+照明プリセット。

Sound fxが含まれています。

完全なドキュメント

アップデート

アップデート 1.0.6

  • 新しいモジュール:手がかり/ヒントシステム。
  • ドラッグアンドドロップシステムを改善します。
  • ドキュメントの更新。

アップデート1.0.5

  • 新しいモジュール:カスタムアクション

アップデート1.0.4

  • プレーヤーのしゃがみを追加
  • 新しいモバイル入力の追加

注:このアセットは、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 フォルダとサンプルシーンファイルは削除しています。

アセットのフォルダ構成

デモシーン

[Project]ウィンドウ > Assets > AP > Demo フォルダにある Demo シーン。ミニアドベンチャーゲームのデモシーンです。

Demo フォルダにある Demo シーン

シーンファイルをダブルクリックして開いてみました。[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形式のドキュメントが含まれています。 すべて英文ですが、かなり詳しくアセットの使用方法が書かれています。

7ファイルのPDF形式のドキュメント

ドキュメントの目次は次のようになっています。ドキュメントは機械翻訳すればある程度内容が理解できそうです。

Part1: Tutorials

  • 1-Configuring the project
  • 2-Tuto 01: Setup a new project
  • 3-Tuto 02: Create the first adventure
  • 4-Tuto 03: Learn more features

Part2: Everything in details

  • 5-Automatic features quick overview.
  • 6-Puzzles (Step by step to create and customize each type of puzzle)
  • 7-Window Tab w_ObjCreator (create Items, door, wardrobe, drawer…)
  • 8-Debugger
  • 9-Character and Character Controller.
  • 10-Graphics

ドキュメントファイル Part_4 の内容 10-Graphics で使用されるサンプルシーンも用意されています。

Graphics_Tuto_04 を開いてみました。

パズルの種類

用意されているパズルは大きく7種類に分類されます。デモシーンで用意されている40種類のプレハブからピックアップして紹介します。

パイプ

パイプのパーツを回転させて通り道を接続するパズル。難易度は低めです。

ギア

用意されている軸と組み合わせて回転するギアの組みあわせをつくるパズル。

コード

数字やアルファベットの正解を入力するパズル。図で紹介しているものは数値表から正解を導きだす形になっています。

ロジックパズル

配置されているオブジェクトから正しいパターンに合わせて揃えるパズル

このタイプのパズルが結構難しい感じがしました。例えば上図の右側のパズルの場合、「赤四角 」+「緑プラス 」+「青丸 」の合計が「8」。「青丸 」+「青丸 」+「黄色四角」の合計が「5」なっています。この配置からそれぞれのオブジェクトの数値を推測。正解は下図の通りです。

回転シリンダー

シリンダーを回転させて正しいパターンに揃えるパズル。図の右端のパズルは円の中央に問題の文章が書かれています。

スライドパズル

パネルをスライドさせて正しい順序に並べるパズル。

レバー

レバーを正しい順序に操作してすべてのランプを点灯するパズル。これは適当に操作してもすぐに正解できる感じです。

3Dモデルのプレハブ

[Project]ウィンドウ > Assets > AP > Prefabs > House フォルダに収録されている3Dモデルのプレハブをサムネイルで紹介します。

Boards Pavements

室内の巾木と庭の敷石として使用できる石材が用意されています。(画像クリックで拡大)

Doors

木製ドア、金属製ドア、彫像レリーフのドアが用意。さらに木製ドアは開閉動作のコンポーネントを組み込み済みのプレハブも用意されています。

Floors Roofs

チェッカー模様、四角タイル、フローリングの床が用意されています。(画像クリックで拡大)

Furnitures

書棚、テーブル、椅子、ソファなどの家具が用意されています。引出しなど開閉動作のコンポーネントを組み込み済みのプレハブも用意されています。(画像クリックで拡大)

Lights

ローソク、スタンドライトなどが用意されています。(画像クリックで拡大)

Objects

書物、坪、絵画、置物などが用意されています。(画像クリックで拡大)

Papers

手紙や文書、壁にとめるためのピンも用意されています。(画像クリックで拡大)

Stairs

石造りと木製の2種類の階段が用意されています。

Walls

レンガ造りの壁。 窓やドア枠が組み込まれたタイプも用意されています。(画像クリックで拡大)

Walls Rock

石造りの壁や柱、石単体のプレハブが用意されています。(画像クリックで拡大)

まとめ

そのまま使える40個のパズルと、家具や小物の3Dモデルのプレハブも豊富に用意されています。これらを組み合わせてちょっとしたストーリーを付け加えれば色々なタイプのアドベンチャーゲームを作ることができそうです。