Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/erencanpelin/3d-boids-ocean-simulation
3D Boids: Three.js university group major project for our Computer Graphics subject. Simulating 5000+ fish inside an ocean with lots of shaders!
https://github.com/erencanpelin/3d-boids-ocean-simulation
assignment boids-simulation projects threejs university-project
Last synced: 3 days ago
JSON representation
3D Boids: Three.js university group major project for our Computer Graphics subject. Simulating 5000+ fish inside an ocean with lots of shaders!
- Host: GitHub
- URL: https://github.com/erencanpelin/3d-boids-ocean-simulation
- Owner: ErencanPelin
- Created: 2023-03-16T00:36:13.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2023-07-01T09:27:10.000Z (over 1 year ago)
- Last Synced: 2024-10-11T10:31:25.176Z (26 days ago)
- Topics: assignment, boids-simulation, projects, threejs, university-project
- Language: JavaScript
- Homepage:
- Size: 94.2 MB
- Stars: 1
- Watchers: 2
- Forks: 3
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# 3D Boids Ocean Simulation
Contributors: [Stephen](https://github.com/stephenrobxrts), [Nathan](https://github.com/DoMessWithProfile), [Michael](https://github.com/Unizzu), [Erencan](https://github.com/ErencanPelin)## Boids algorithm
- uses octree spatial partitioning to optimise the simulation, can simulate up to 10k boids at 60fps
- boids's behaviour is not affected by boids behind it (boid field-of-view)
- customisable behaviour via GUI sliders
- limited worldsize
- avoids edges of the world
- boids avoid boids which are higher up on the 'food chain' than them, food chain is determined by each boid's ID value.
- boids follow boids which are lower on the 'food chain' than them
- boids will eat and kill boids which are lower in the food chain
- boids will reproduce with nearby boids and create copies of themselves. Each boid can only reproduce once. There is a cap on the number of fish that can be made## Project Dependencies
[@types/dat.gui](https://registry.npmjs.org/@types/dat.gui/-/dat.gui-0.7.7.tgz): "0.7.7"
[lodash](https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz): "4.17.21"
[potpack](https://registry.npmjs.org/potpack/-/potpack-1.0.2.tgz): "1.0.2"
[three](https://registry.npmjs.org/three/-/three-0.153.0.tgz): "0.153.0",
[three-nebula](https://registry.npmjs.org/three-nebula/-/three-nebula-10.0.3.tgz): "10.0.3",
[uuid](https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz): "3.4.0"