llealloo / audiolink

Audio reactive prefabs for VRChat
Other
364 stars 40 forks source link

Suggestion: Reduce Texture Size For Controller Icons #306

Closed JLChnToZ closed 4 months ago

JLChnToZ commented 5 months ago

Feature Description: As I observed, every time I upload a world contains a AudioLink controller, it includes controller icon textures but in unreasonably high resolution (1024x1024 each). I don't think it worth to be that large, so I suggests it can be convert to SDF/MSDF format with a much lower resolution to reduce build size. P.S. if I have those source (vector) files, I can help convert them.

Additional context: image image image image

There are several more textures/icons I think they are too large as well, but I think it is enough to show above as examples.

float3 commented 5 months ago

good point, we should do this or at least clamp import size

float3 commented 5 months ago

I think clamping import size for now is a good start and then we should look into need, do we want to build msdf baking infrastructure inside of unity for futureproofing?

JLChnToZ commented 5 months ago

As I know MSDF baking requires external executable, IDK is it good to include the whole pipeline within AudioLink package.

pema99 commented 5 months ago

If you are going to bake SDF textures for the icons I would just do it once, don't have to bother making baking infrastructure. I'm not personally familiar with tools for doing this, but if either of you would like to give it a shot I can provide guidance on how the controller shader is written (though I imagine the shader changes should be fairly straight forward?).

@llealloo might still have the source files lying around

JLChnToZ commented 5 months ago

I do have experience on doing this, I did it for all icons in my own video player.

Once I got the source files I could immediately work on this. 😉

float3 commented 5 months ago

As I know MSDF baking requires external executable, IDK is it good to include the whole pipeline within AudioLink package.

not in the package but in Audiolinkdev unity project in the repo, which isn't shipped to users

pema99 commented 5 months ago

I'm just say it doesn't have to be included. If @JLChnToZ goes for this and decides to include it, that's also fine.