- Boidsアルゴリズムによる群衆シミュレーションサンプルになります。
- シミュレーション計算はComputeShader、オブジェクト描画はGPUインスタンシングを使用しています。
- 参考にさせていただいたリポジトリ
- Unity
- 2022.3.16f1
| フォルダ名 | 概要 |
|---|---|
| 3D Assets | シミュレーション用の3D素材 |
| ComputeShaders | ComputeShader |
| Presets | シミュレーション用パラメータサンプル |
| Shaders | 描画シェーダー |
| Materials | 描画マテリアル |
| Runtime | ランタイム用コード |
| フォルダ名 | 概要 | イメージ |
|---|---|---|
| Assets/Boids/Scenes/Boids2D.unity | Boids2Dシミュレーション | ![]() |
| Assets/Boids/Scenes/Boids3D.unity | Boids3Dシミュレーション | ![]() |
| フォルダ名 | 概要 |
|---|---|
| Runtime/BoidsSimulationBase.cs Runtime/Boids2DSimulation.cs Runtime/Boids3DSimulation.cs |
シミュレーション実行クラス |
| Runtime/BoidsRenderBase.cs Runtime/Boids2DRender.cs Runtime/Boids3DRender.cs |
オブジェクト描画クラス |
| ComputeShader/Boids2D.compute ComputeShader/Boids3D.compute |
シミュレーション用ComputeShader |
| Shaders/Boids2DRender.shader Shaders/Boids3DRender.shader |
オブジェクト描画シェーダー |
※2D、3Dシミュレーション共通
| パラメータ | 概要 |
|---|---|
| Max Boids Num | Boids生成最大数 |
| Simulation Area Center | シミュレーション範囲 中心位置 |
| Simulation Area Size | シミュレーション範囲 サイズ |
| Max Speed | 速度の最大値 |
| Max Steer Force | 操舵力の最大値 |
| Separation Distance | 適用する他の個体との半径: 分離 |
| Alignment Distance | 適用する他の個体との半径: 整列 |
| Cohesion Distance | 適用する他の個体との半径: 結合 |
| Separation Coefficient | 適用時の重み係数: 分離 |
| Alignment Coefficient | 適用時の重み係数: 整列 |
| Cohesion Coefficient | 適用時の重み係数: 結合 |
| Avoid Wall Weight | 壁を避ける強さの重み |


