유니티 보이드(Boid) 시뮬레이션 샘플 프로젝트
보이드(Boids, bird-oid object)는 새 또는 물고기의 무리 짓기 행동(flocking behaviour)과 관련된 집단 운동을 시뮬레이션하는 분산 행동 모델로 세 가지 기본 규칙인 분리, 정렬, 응집을 적용하여 동물 무리의 자연스러운 움직임을 재현합니다.
분산 행동 모델(Distributed Behavior Model) 보이드(Boids)
분산 행동 모델(Distributed Behavior Model) 보이드(Boids) 유니티 시뮬레이션 레퍼런스
분산 행동 모델(Distributed Behavior Model) 보이드(Boids) 유니티 시뮬레이션 레퍼런스분산 행동 모델분산 행동 모델(Distributed Behavior Model)은 다수의 개체가 중앙 제어 없이 각각 독립적인 로컬 규칙에
learnandcreate.tistory.com
1)아래는 유니티에서 세 가지 규칙( 분리, 정렬, 응집)을 적용하여 보이드 시뮬레이션을 구현한 Sebastian Lague의 샘플 프로젝트입니다.
https://github.com/SebLague/Boids/tree/master
GitHub - SebLague/Boids
Contribute to SebLague/Boids development by creating an account on GitHub.
github.com
2)깃허브에서 프로젝트를 다운로드하고 유니티에서 데모씬을 열기합니다(Obstacles)

객체 집단의 보이드를 시뮬레이션할 환경

Spawner
3)Spawner는 씬에 반경내의 개수만큼 참조 보이드 객체 프리팹을 생성합니다.

Spawner에서 참조하는 보이드 프리팹(Boid) 을 무작위 위치에 생성

보이드 객체는 Boid 스크립트를 포함

BoidManager
4)BoidManager 스크립트는 게임을 시작할때 전체 보이드 객체를 보이드 설정(BoidSettings)으로 초기화

Boid의 초기화 함수(Initialize)

5)BoidSettings(ScriptableObject)는 개별 보이드의 분리, 정렬, 응집( Cohesion, Seperate, Target )를 포함하여 속도, 인지반경, 회피반경등을 설정합니다.

6)BoidManager 업데이트함수에서 보이드 시뮬레이션 업데이트( 컴퓨트 쉐이더 업데이트 , 개별 Boid 객체 업데이트)

개별 Boid 객체 UpdateBoid함수(SteerTowards 방향설정, 충돌회피,기타)

'유니티게임개발 > 기초공부' 카테고리의 다른 글
| 유니티 게임 개발 Random.InitState 시드 고정(동일한 난수 시퀀스 사용) (0) | 2025.10.17 |
|---|---|
| 유니티 URP 에서 카메라 거리에 따라서 그림자 맵 해상도 설정(Shadow Cascade Count) (1) | 2025.09.01 |
| 유니티 스크립트에서 더 이상 사용되지않는 API 수동 업데이트 (1) | 2025.09.01 |
| 유니티 URP 프로젝트에서 사용할수있는 굴절 쉐이더(UnityRefractionURP) (0) | 2025.06.11 |
| 유니티에서 현실감있는 주변환경 반사를 위한 리플렉션 프로브(Reflection Probe) 사용하기 (0) | 2025.06.11 |