インディーゲーム開発

C#

【Unity】Releaseビルドのときだけシンボル(#define)を定義したい!!

はじめに ログ出力などのデバッグ機能は、デバッグビルドでは定義したいけどReleaseビルドでは消したい、など条件によって処理実装有無を切り替えたい場合が開発していると出てきます。 ProjectSetting > Player > Oth...
C#

【Unity】Script(Component)の実行順を制御する

はじめに UnityでComponentを作成していると、実行順を制御したい場合が出てきます。 例えばComponentAでインスタンスを作成し、ComponentBでそれを参照したいときなどにはComponentAの実行後にCompone...
C#

【Unity ECS】BakeはStartよりも遅い(場合がある)

はじめに 気付いたきっかけ。 UnityEditor上では問題なく動くのに、Buildすると意図通りに動かない。そんな現象にあたりました。 MonoBehaviour(A)にBakerクラスを追加して、SpawnerComponentを作成...
ECS

【Unity ECS】DOTSインスタンシングしているのにBatchesが減らない

はじめに ECSを使用すると多くのオブジェクトを表示させても、低負荷状態をキープできる低減化手法が色々とあります。 基本的にはECSを実装すると、自然とその最適化が適応されるような仕組みになっていますが、自分がハマったポイントについて残して...
ECS

【Unity ECS】ECSで描画したオブジェクトがなんだか白っぽくなる

はじめに 通常のゲームオブジェクトと完全に同一のマテリアル、シェーダを使用しているはずなのに、ECSで描画するとオブジェクトが白っぽく、色が薄くなる場合があります。 左:通常のGameObjectによる描画右:ECSからの描画 少し薄くなっ...
ECS

【Unity ECS】画面上で重複したオブジェクトがちらつく(Shader Graph)

はじめに 通常のGameObjectでは問題なくても、ECSで描画した場合に画面上で重複したオブジェクトがちらつきを起こす場合があります。 こんな感じです。 位置の重なりは発生していないのですが、画面上で位置が被ったオブジェクト同士が干渉を...
ECS

【Unity】ECSで生成したオブジェクトをSceneViewで表示する

はじめに 最近ECSを触ったのでハマったポイントなどを備忘として残しておきます。 困りごと ECSは通常のシーンと異なり、専用のサブシーン上でオブジェクトを管理します。 しかし、通常のシーンとは異なり、デフォルトではサブシーン上に生成された...
AnankeCsvMaster

Ananke Csv Master 応用4.Prefabなどゲーム内で使用するオブジェクトを設定する

もくじへ ゲーム内で使用するオブジェクトを設定する AnankeCsvMasterでは型の指定にintやVector3などの値型だけではなくGameObjectやAudioClipなどの方も指定することができます。 このときExcelやCs...
AnankeCsvMaster

Ananke Csv Master 応用3.一度作ったDataSetにデータを追加する

もくじへ DataSetにデータを追加する 開発を進めて行くと、新たに必要になった、データを追加したいという場面がほぼ必ず出てきます。 ここではそのようなときにデータを追加する方法について記載します。 例として基本で説明したPlayerに「...
AnankeCsvMaster

Ananke Csv Master 応用2.ID重複を許容する

もくじへ ID重複を許容する AnankeCsvMasterではDataをDictionaryで保持するため、基本的にIDの重複は認めない設計になっています。 しかし、例えば技のHit情報を考えるとき、技のIDをキーとして、複数のHitデー...