minetest / minetest

Minetest is an open source voxel game-creation platform with easy modding and game creation

Home Page:https://www.minetest.net/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Combining animated & world-aligned textures has alignment issues.

GoodClover opened this issue · comments

commented
Minetest version

5.6.0-dev e765988 (latest master as of writing)

Summary

When using animated world-aligned textures:

  • They don't perfectly align to the block (this may not be a bug)
  • There are weird strips that don't match up, maybe weird off-by-one errors
Steps to reproduce

Test mod: gromit.zip

  1. Enable block bounds for alignment (F4)
  2. Place some gromit:* nodes.
  3. Try to make sense of it.
Video examples (above test mod)
spin-2022-05-03_16.46.31.mp4
spin-big.mp4

I think this happens with non-world aligned animated textures as well. Massive lava lakes show it pretty well, of course I couldn't find one now, so I had to make this manually. You can see the two lava_source nodes on the left are slightly lighter than they should be.
screenshot_20220503_195523_1

I think the API mentions, or used to mention something about animated textures not being guaranteed to align at block borders, though I couldn't find it now.

This could be caused by the chunk borders getting in the way of alignment in textures. I might be wrong.

commented

lua-api.txt:7617:

  • scale is used to make texture span several (exactly scale) nodes, instead of just one, in each direction. Works for world-aligned textures only.
    Note that as the effect is applied on per-mapblock basis, 16 should be equally divisible by scale or you may get wrong results.

If you don't make it an integer divisor of 16 there will be issues, yes. But in my examples I'm using 8 and 16, which fit nicely into 16.

It's never documented that world-aligned and animated textures work together, so this may be something that's just not been tested before?

I use world-aligned animated textures, but it's only for crusted lava, so it's hard to really tell if it worked as it should.

commented

it seems related to chunk borders indeed, as it happens every 16 nodes

textures.mp4
commented

Turns out there's a setting desynchronize_mapblock_texture_animation that is enabled by default for some unknown reason. This half fixes the issue, but there's still the off-by-one error.