erich666 / Mineways

Exports models from Minecraft for 3D printing or rendering
http://mineways.com
Other
408 stars 60 forks source link

Signs use lower resolution textures than they should #124

Open erich666 opened 10 months ago

erich666 commented 10 months ago

Like the title says. Signs are special textures, in the directory assets\minecraft\textures\entity\signs for example. They are 24 texels wide and 12 texels high. This is a higher resolution than the corresponding plank textures that Mineways uses for these, which are 16 texels wide.

Mineways is pretty much all about textures being 16x16 (or other power of two). 24 texel textures could be added as two 16x16 textures next to each other, one pair per sign (ignoring the post part of the texture). If you look at the full texture for each sign, it's 64x32, with about 5 16x16 tiles being relevant: front and back, sides, tops and bottoms, and post. So, to fully add sign support at these resolutions would involve adding 11 x 5 = 55 separate textures. For just front textures (and reusing these) it would be 11 x 2 = 22 textures. I think I will have to pass on doing this work for now. Remapping the textures and glueing them back together in Mineways' code is many hours of work for little reward.

The user workaround is to extract a 24x24 texture sample from the actual sign textures and apply it manually to the sign, by substituting the plank texture used curently.

Original: 2024-01-26_11 30 31

Mineways: sign_test

_Bug reported by HukoJlau06

erich666 commented 10 months ago

Oh, cool: jmc2obj does it right. If this is an issue, seriously consider switching over to their exporter. Me, I'm fine pushing the "competition" - if their system did everything I wanted, I'd probably abandon supporting Mineways entirely. Here's jmc2obj: jmc2obj

erich666 commented 2 weeks ago

Another potential solution is to use MiEx, if you are importing USD files. MiEx uses the sign textures directly (and handles many other things, such as letters on signs).