ようこそ!
これはFlare Engineの日本語ドキュメントです。
このツールは、横スクロール型アクションゲーム等の2Dプラットフォーマーを素早く作成するための様々なツールを提供します!
このツールは、Unity Editorが簡単に操作できるよう、合理化されたユーザーインターフェイスを備えています。
このツールを使えば、すぐにゲームを作ることができます!
はじめに
多くのカスタム実装と同様、このシステムの核心はRaycastを使うことです。
このRaycastはキャラクターから発せられ、物理エンジンをバイパスして世界を検出する。
これにより、ユーザーはゲーム世界をよりコントロールできるようになります。
この基盤を正しくセットアップするには、各シーンに World Manager ゲームオブジェクトを入れる必要があります。
このコンポーネントがシーンに存在すると、システムのスムーズな動作を保証するために、以下のレイヤーとタグが(まだ存在しない場合)自動的にインストールされます。
Layers
- World – 地面、斜面、壁、天井。固体表面のゲームオブジェクトにこのレイヤーを使用します。
- Platform -移動プラットフォームであるゲームオブジェクトにこのレイヤーを使用します。
- Player – プレイヤーのゲームオブジェクトにこのレイヤーを使います。
- Enemy – 敵のゲームオブジェクトにこのレイヤーを使用します。
Tags
- Friction – Frictionコンポーネントを使用している地面のゲームオブジェクトにこのタグを使用する。
- Block – このタグは、プレイヤーアビリティのPick And ThrowのPush Blockを使用しているブロックに使用します。
- Edge2DUpOnly – このタグは、EdgeCollider2Dを持つゲームオブジェクトで、その中を飛び上がることしかできないものに使います。
- Edge2DDownOnly – このタグは、EdgeCollider2Dを持つゲームオブジェクトで、その中を飛び降りることしかできない場合に使用します。
- NoClimb – プレイヤーが壁や天井を登れる場合、登れないゲームオブジェクトにこのタグを使います。
- UIControl – IsPointerOverGameObjectを無視する必要があるUIに配置します。これは、武器を発射する必要があるUIボタンに便利です。
以上は基本的な項目であり、World Managerを追加することはFlare Engineを使ってゲーム制作を始めるために最初に必要な事となります。
ここからプレイヤーを追加し、能力を選択し、AIの敵をデザインし、インベントリやダイアログのような一般的なシステムを設定し、ゲームのスパイスとなるワールド・インタラクティブブルを実装することができます。
Raycastとは?
Ray とは、直訳すると「光線」という意味です。
シーン上の指定した地点から光線を飛ばし、光線上にあるコライダーの情報を取得するのに用いられます。
その時に使用するのが、Physics.Raycast() です。
戻り値は bool 型で、Ray がコライダーにヒットした場合は「true」、それ以外は「false」を返します。
デモ
現時点で、エンジンにはツールの多くの可能性を紹介する2つのデモが付属しています。
デモは、学習の出発点として使用する必要があります。
デモを開いたあと、Unity Editorのヒエラルキーに入り、ゲームオブジェクトがどのようにセットアップされ、Unity イベントを介して他のシステムとどのように接続されるかを確認してください。
そして、デモから必要と思われるプレハブを自由に作成してください。
最初のデモはピクセルパーフェクトが無効になっているので、時々グリッチ的なアーティファクトに気づくかもしれません。
YouTubeチャンネルの解説も最初に見ておくことをお勧めします
TwoBitMachines DevのYouTubeチャンネルにはFlare Engineの動画解説があります。
このドキュメントを読む前にそちらを見ながら実際に触れてみることをお勧めします。