Feelcerca Game Lib - 解説
概要
Feelcerca制作のUnity向けゲームライブラリです。このライブラリは、ゲーム開発者が Audio再生や2Dの特殊なパーティクル、シンプルなフェード等を迅速かつ簡単に実装するためのツールを提供します。これは、弊社が内製で使用しているライブラリから公開可能な部分を抜粋したバージョンです。
名前空間: Feelcerca.System
これはシステム関連のクラス群です。
-
Singletonクラス
- 機能: シングルトンパターンの管理。
- 使用方法:
Instance
プロパティを通じてシングルトンのインスタンスにアクセスします。
-
Mathクラス
- 機能: 数学的計算のサポート。
- 特色:
CalcBezierPoint()
などの曲線に関するメソッドを含みます。
-
Loggerクラス
- 機能: ログの出力管理。
- メソッド:
- エラーログ:
Error()
- 警告ログ:
Warning()
- 情報ログ:
Info()
- トレースログ:
Trace()
- 詳細ログ:
Verbose()
名前空間:Feelcerca.Audio
Audio Mixerを活用した音声再生のクラス群です。
-
Managerクラス
- 機能: 音量の調整、音楽や効果音の再生、トランジションの管理。
- 特徴: 再生すると、MusicPlayerやSfxPlayerクラスが生成されます。
-
Mixerクラス
- 機能: AudioMixerへの値の受け渡しやトランジションの実行。
- 注意: 基本的にはManagerクラス経由で操作します。ゲームスクリプトからは直接呼び出す必要は通常ありません。
-
MusicPlayerクラス
- 機能: 音楽の再生。
- 注意: Managerクラスを介して操作することが基本です。ゲームスクリプトからは通常、直接アクセスする必要はありません。
-
SfxPlayerクラス
- 機能: 効果音の再生。
- 使用方法:
- 基本的な再生はManagerクラス経由で行います。
- ループ再生した音を停止する場合、Managerクラスで再生した際に生成されるSfxPlayerのStop()メソッドを使用します。
Feelcerca.Audioの使い方
Feelcerca.Audio.ManagerとFeelcerca.Audio.Mixerを使用してAudio再生を行います。設定手順は以下の通りです。
- Feelcerca.Audio.ManagerとFeelcerca.Audio.MixerをGameObjectにアタッチします。
- 必要に応じて、
DontDestroyOnLoad()
を用いてGameObjectを常駐させます。
パラメーター設定
Inspectorから各種パラメーターを設定します。
Feelcerca.Audio.Mixer
- mixer (Feelcerca.Audio.Mixer):
ゲームで使用するAudioMixerをセットします。
Feelcerca.Audio.Manager
- mixer (Feelcerca.Audio.Manager):
アタッチしたFeelcerca.Audio.Mixerをセットします。
- Sfx Group, Music Group, Voice Group:
AudioMixerで設定した適切なGroupをセットします。
- Sfx Volume Param, Music Volume Param, Voice Volume Param:
各GroupでExposeしたVolumeパラメーターの名前をセットします。
- Sfx Group Name, Music Group Name, Voice Group Name:
AudioMixerで設定した適切なGroup名をセットします。(空でも問題はありません)
Audio再生と音量調整
上記設定後に、以下のようにAudioを操作します。
- Audio再生:
Feelcerca.Audio.Manager.Instance.PlaySfx()
やFeelcerca.Audio.Manager.Instance.PlayMusic()
を使用します。
- 音量調整:
SfxVolume
、MusicVolume
等のプロパティを通じて行います。
- スナップショットのトランジション:
Feelcerca.Audio.Manager.Instance.TransitionToSnapshot()
を使用します。
名前空間:Feelcerca.FX
特殊なパーティクル等を扱うクラス群です。
- ConvergingParticles2Dクラス:指定した1点に収束する2Dのパーティクルエフェクトを作成するクラスです。パーティクルは、3点もしくは4点を結ぶベジェ曲線に沿って移動します。このクラスはコンポーネントとしてGameObjectに追加可能で、Inspectorから各種パラメーター設定が可能です。
ConvergingParticles2Dの使い方
GameObjectにFeelcerca.FX.ConvergingParticles2Dをアタッチします。必要に応じてPrefab化します。
パラメーター設定
Inspectorから各種パラメーターを設定します。
- Material: パーティクルで使用するマテリアルをセットします。
- Emit Interval: パーティクルの発生間隔(秒)
- Emit Range: パーティクルの発生地点付近での広がる範囲
- Emit Count: 1フレームで発生可能なパーティクル数
- Attraction Field: パーティクル到着地点付近での広がる範囲
- Scale: パーティクルのサイズ
- Life Time: パーティクルが発生しつづける時間(秒)
- Max Rotations: 最大回転数
パーティクルの表示
インスタンス化したGameObjectからFeelcerca.FX.ConvergingParticles2Dコンポーネントを取得しInit()
メソッドを呼び出します。必要に応じてAddOnParticleEmitAction()
やAddOnParticleArrivedAction()
メソッドでActionをセットし、パーティクルの発生時や到着時にトリガーできます。
Initメソッド
public void Init(Vector3 src, Vector3 dst, int maxParticles, bool useInstancing = false);
引数
- src: パーティクル発生地点
- dst: パーティクル到達地点
- maxParticles: 最大パーティクル数
- useInstancing: Instancingを利用するかどうか
名前空間:Feelcerca.Util
Orthoカメラの拡縮やシンプルなフェーダー(フェードインアウト)を扱うクラス群です。
OrthorCameraScalerクラス
CameraのGameObjectにFeelcerca.Util.OrthorCameraScalerをアタッチします。
パラメーター設定
- Reference Resolution: リファレンス解像度(Canvasの設定に合わせるのを推奨)
- Pixels Per Unit: 基本となるPixels Per Unitの値
- Only On Start: trueはStart時のみ、falseはUpdate呼ばれるごとに再計算
SimpleFaderクラス
任意のGameObjectにSimple Faderをアタッチします。
パラメーター設定
- Image: 最前面等で画面全体を覆うようにしたPanel(Image)をセットします。
フェードイン・アウトの実行
SimpleFader.Instance.FadeIn()
やSimpleFader.Instance.FadeOut()
を使用します。完了タイミングはメソッドの引数のonDone
コールバックにて受け取れます。
※Unityは、ユニティ・テクノロジーズの商標または登録商標です。