Certain block configurations seem to incorrectly remove faces

Discussion in 'Backlog' started by Garaman, Jul 5, 2023.

  1. Garaman

    Garaman Captain

    Joined:
    Aug 23, 2020
    Messages:
    581
    Likes Received:
    723
    Build: 1.10.1 4233
    Mode: Creative / Survival
    Mode: Single Player / Multiplayer

    Reproducibility: Always
    Severity: Minor

    Type: Block face removal

    Summary: Some block configurations can result in large numbers of faces suddenly disappearing from structure blocks, resulting in holes that can break POI navigation

    Description:
    Firstly, I have not yet witnessed this in the wild on any vanilla POIs. We discovered this issue after the update to version 1.10 on the Anvil RE server in a custom Anvil POI based on the Rados Missile Base. It did not manifest on 1.9. I was able to reproduce the issue in vanilla by cutting down the vanilla Rados Missile Base to a section of blocks that manifests the issue, which I have attached to this bug report.

    The issue is that something about the layout of blocks on this chunk of POI plus its specific pivot point values results in a vertical stack of blocks suddenly having all of their faces disappear (about 24-3o blocks). This results in a large hole in the POI which allowed enemy spawns to drop under the base to kill players.

    Usually when I see faces disappear like this it has to do with an excessive triangle count. However, in this case you can restore the missing faces by adding blocks, or by repositioning certain blocks to add back faces that were removed. This leads me to believe this is a bug in the face removal code rather than a chunk triangle limit issue.

    I was unable to reproduce the issue on the vanilla missile base until I altered its pivot point. Clearing the pivot point on the Missile Base changes the Y coordinate of the pivot point from 129 to 128, and this change plus the specific block layout is what seems to trigger this particular case.

    Steps to Reproduce:
    1. Load MB_Y128.epb and MB_Y129.ebp into a creative session. These two blueprints contain the same blocks, however the Y-coordinate of the pivot point differs in each (128 vs 129)
    2. Note the orange blocks on one side of MB_Y129, and that they are missing in MB_Y128
    3. There are several modifications you can make to MB_Y128 to make the orange blocks re-appear:
      1. Remove any of the ladder blocks (all other deco/devices have been removed), or
      2. Remove certain blocks (I can't quite understand which blocks trigger this), or
      3. Add new blocks to certain locations, or
      4. Rotate some existing blocks to expose new faces
    Screenshots:

    MB_Y129 showing the orange blocks rendering fine:
    [​IMG]

    MB_Y128 showing the orange block faces missing:
    [​IMG]

    MB_Y128 before adding a new elbow pipe block to increase triangle count:
    [​IMG]

    MB_Y128 after adding the pipe block:
    [​IMG]

    MB_Y128 after rotating one of the slope blocks to expose a previously-removed face:
    [​IMG]
     

    Attached Files:

    #1
    Ente and Insopor like this.
  2. A.F.T

    A.F.T Grand Admiral

    Joined:
    Nov 7, 2015
    Messages:
    22
    Likes Received:
    7
    If it that about what i thinking then it is not a bug. EGS have some "limit of blocks faces" - when structure have to much "complex" blocks with hard geometry then faces of some blocks can dissapear. To check it you can place many Cylynder 6-way blocks. At some point faces of the blocks start dissapear. Possible solution - check the POI for blocks and try to reduce the "hard blocks" (like interrior walls for example).
     
    #2
  3. Garaman

    Garaman Captain

    Joined:
    Aug 23, 2020
    Messages:
    581
    Likes Received:
    723
    I am aware of that limitation, and initially though that's what this was. And I accept that this may be what's happening here. But if so then I expected that adding the high-triangle pipe block in my screenshot would have resulted in even more faces being removed. Instead, all the missing faces came back. Hence I wanted a dev to look over this and see if it made sense or if it was a bug.
     
    #3

Share This Page