はじめに
背景なので飛ばしてもらって構いません。
作るに至った経緯としては今作っている音ゲーの問題点として音ゲー中に動的に譜面をロードするのですがその際に致命的なスパイクが発生しプレイに大きな支障がでます。
これを解決するためにEntityComponentSystemに目を付けて作成しました。
これが今作っている音ゲーです。
https://ddrive-develop.fanbox.cc/posts/6451393
そしてせっかく作るからには公開してしまおうと考えて今に至ります。
Github
作ったものはここで公開しています。
EntitiesRhythmGameSystem
動作動画はこちら
環境
制作環境
- Windows10
- Unity 2022.3.7f1
必須ライブラリ
以下ライブラリに依存しているため使用時は入れてください。
準備
- Githubからunitypackageをダウンロード後上記ライブラリを導入後にインポート
- GeneratorのDJBM(独自形式の譜面ファイル)Pathをフルパスに変更
- 再生
仕様
ざっくりシステムの流れはこうなっています。
Monoは通常のUnity側,ECSはEntities側としています。
詳しいドキュメントはGithubのDocumentsフォルダ内にあるhtmlを見てください。
音ゲー
レーンは2レーン(変更可)
判定はMiss,Good,Perfectの三種類(変更可)
変更する場合はGameSettings.csを変更しプログラムの修正をしてください。
ノーツはシングルノーツとロングノーツのみ
ロングノーツは終点判定アリ
入力
DFJKキーがそれぞれ左から1,2,3,4レーンで使えます。
押し入力と離し入力を拾っています。
オート設定アリ
譜面読み込み
現在は独自形式の譜面を読み込んでいます。そのまま使う人はサンプルを真似して使ってください。
記述方法はサンプルファイルにあります。
最後に
初めてECSで作ったシステムのため拙い部分はあると思いますが作ることができてよかったです。
何か質問等があれば気軽にどうぞ!