forked from CIS-5660-Fall-2025/final-project
-
Notifications
You must be signed in to change notification settings - Fork 0
Week 2
Gavin-Sears edited this page Dec 22, 2025
·
6 revisions
- Updated the UI so the menus are now icons that open as drawers on the left.
- Tank now has glass walls and "water" on top
- Fish is shaded and sliders to adjust the body are improved.
Accomplished some of the goals from last week:
- ✔️ Add noise function to map where plants appear in the tank.
- ✖️ Ensure plants don't drift outside of the tank "wall"
- ✖️ Ensure elements in tank don't intersect with each other (realism!)
- ✔️ Add fish house element and update simple sand floor to be a sand -> gravel slider.
Becca is not sure how to really do the intersection code, but provided a hacky way to ensure plants don't drift outside the glass by moving their spawn locations! Gavin thinks that Becca can totally do it! This just wasn't as big of a priority with the short timeframe, so it may get added in the future.
Completed core plant layers
- Egeria, barclaya, and multiple coral types (fan + staghorn + reef) are now fully hooked up with UI:
- Sliders for count, radius / size, branching, and node counts.
- All use the shared collision grid to (technically) avoid overlapping each other and the decorations. Still WIP.
- A “scatter” and “regenerate everything” workflow so the whole tank can be re-rolled with one click.
Richer decorations
- Driftwood: gnarl, twist, detail, grain frequency, and warm/cool controls.
- Boulder fields with adjustable count and regeneration.
- A pineapple "fish house" decoration with stack height, radius, and leafy growth on top.
Treasure chest:
- Random placement via collision system.
- Sliders for treasure amount, rotation, bubble count.
Bubbles + chest interaction
- A bubble particle layer that spawns from the chest and from user interactions.
- Clicking the tank floor in interaction mode spawns “puffs” of bubbles.
Critter prototypes
- Hermit crab with a multi-sphere shell and body/leg breakdown (body/head, legs+claws, shell) for shading.
What I had to cut (and why)
- True volumetric caustics / god-rays. I experimented with more complex water caustic effects, but couldn't get it looking good. I kept a simpler lighting model for now.
Completed fish geometry, shaders
- Controls for size and shape of fins (dorsal, caudal, pectoral, pelvic, and anal fins)
- fish color shaders using trig functions for stripes, fbm and grid-based approach for body/scale colors, plus procedural palette generation
- fish animation shaders using labels and pivots as geometry attributes, allows for symmetrical fin movement and eye controls
What I had to cut (and why)
- Fin types - designing the shapes and modifying existing tools to get proper geometry would be too time consuming, and less interesting than adding animations
⋆。˚ °‧ 𓆝 𓆟 𓆞 𓆝 𓆟 ·。⋆。˚