Entity Culling Fabric/Forge

Entity Culling Fabric/Forge

80M Downloads

Entities pop in and out.

Xrey274 opened this issue ยท 12 comments

commented

Entities pop in and out of existance, which can look very jarring.

2021-02-22.14-53-26.mp4
commented

The issue is that the "visual hitbox"(basically the same as the normal hotbox except for I think one entity) that can be made visible with f3+b just isn't correct for a lot of entities like sheep/cows, that's why it is so obvious in this case. In the future I'll try to make it more resistant to edge-cases, and try to make the visual hitbox a bit bigger. Also not from the modpage:

Drawbacks/Visual issues

Since the updates are done outside of the main game's logic, it may take a split second for culled things to become visible. Updates are done every ~10ms (on a 60hz screen that's less than one frame ~16ms), so it shouldn't be too noticeable. [...] Also in certain (literal) edge cases, you may be able to see when an entity turns invisible/visible. This is due to the (limited)tracing points of the entity not lining up with the camera. Maybe a future improved implementation can use the hitboxes themselves to achieve a perfect result, but for now "if you want to break it, you can break it".

commented

I don't know much about 3d graphics programming and minecraft's internal code, but couldn't you use the model's bounding box, instead of the hitbox?

commented

You can't really use the model since to somehow know that the model is visible in the final image, it needs to be rendered(defeating the purpose of not rendering it). Basically, this needs more accurate entity view boxes, and probably a better tracing implementation that can handle more tricky block setups(using a cone that tries to reach the hitbox while not doublechecking positions and going one "ray" at a time?).

commented

The same issue happens with paintings, and here it is even more jarring:
https://user-images.githubusercontent.com/48808497/109478596-bf0f1400-7a79-11eb-823d-1c9717363af0.mp4

commented

This might be an issue with paintings having a completely invalid hitbox, and/or the current tracing having a bias in certain +/- directions. I started on hitbox-based tracing yesterday that should hopefully make popins a thing of the past, but I need to put more time into it to get the performance right. Might have dev builds later today that have the working algorithm with the "perfect" tracing, but not at all perfect performance(but I guess still more than usable for "normal" use-cases).

commented

It seems to work just perfectly now with the new update! Thanks! ๐Ÿ˜

commented

Awesome(was hell to get working right too xD). I'll keep this issue open for a bit to see if more issues creep up, but I think that should be it.

commented

Sorry for having to annoy you again, but I think I found a bug with especially 1x2 holes and large paintings behind it (smaller paintings work fine):

2021-03-05.10-36-46.mp4
commented

Is that with the newest version(1.0.3)? Because I did a quick check, and the hitbox of paintings at least looked correct? But maybe they have an issue with giving the correct visual hitbox?

commented

grafik

Huh there is in fact something wrong(should be all around the itemframe, not only the corners. I think it might be an issue because it's only 1 thick.

commented

I think this is fixed in the newest Fabric version on Curse. @NebelNidas can you confirm?

commented

Sorry for the late response. Yes, I can confirm that it works now! ๐Ÿ‘