blueberrymuffin3 / osu-js

https://osu-js.pages.dev
MIT License
2 stars 1 forks source link

A lot of hit object render improvements & additions #63

Open kionell opened 2 years ago

kionell commented 2 years ago

I don't even know where to start lmao. I put a lot of effort into it and it still needs some minor fixes.

Most notable changes:

  1. Fixed almost all wrong animations including slider path snaking.
  2. Added explosion particles.
  3. Rework of the triangles generator.
  4. Triangles now use a seeded randomizer and are tied to the start time of a hit object.
  5. Reverse arrows now pulse to the beat.

Cloudflare deployment to test it: https://3f12a5fd.kionell-osu-js.pages.dev/

Here is the final result: https://streamable.com/whzzm5

kionell commented 2 years ago

I also wanted to randomize alpha of triangles a little bit, but I don't know how to do it. Triangles are using the same shader (white texture), which makes it impossible to give its own alpha value for each particle.

kionell commented 2 years ago

Currently if you stack too many triangles on top of each other, the number glow texture will become too bright.

blueberrymuffin3 commented 2 years ago

@kionell Randomizing the alpha is not possible with the current setup, as all of the triangles are rendered as a single "instance". The two solutions I see are using a custom shader+attribute, or rendering each triangle as a separate instance (probably bypassing the batch render).

Unfortunately, I have a lot going on right now, so I probably won't get a chance to look through your PR for a while.