Colliding with a ghost voxel mesh

Describe the bug:
I am not sure how to call this other than “ghost voxel mesh”. Basically I have a locator with two voxel meshes under it. One of them have collision off, another on. There is additionally trigger. Trigger is positioned above the mesh with collision on, so player can walk above the collideable entity only if trigger was triggered first.
Now I move the locator using SetVelocity. When I need to reset that, I use SetPosition followed by SetVelocity(Vector.Zero). Problem is - sometimes (randomly). SetPosition does not work completely. It looks like all entities are reset back to their starting positions. The trigger seems to be reset definitely, however collideable voxel mesh becomes a ghost. Either it did not reset its position or server somehow gets the double. Problem is - character is able to “walk” (really kindof flying) on invisible voxel mesh. The behaviour of character is really weird, because character plays falling animation, while visibly walking above invisible surface…

How do you cause this bug?
Note: ATM I only know how to reproduce in my game. Later I might try to make an easier reproduceable example if have time. Also ATM I have fixed this for my game with a bit ugly hack when I call :Clone and :Destroy on the collideable entity in addition to SetVelocity SetPosition pair, which seems to be resetting the collideable “box” as well, so to reproduce first step have to be “disable workaround by commenting out line self.properties.lava.LavaMoveDebug:Reset() in Arcade:Stop”

  • Start playing “Spellfire” (currently only available in Editor)
  • Walk a bit so lava moves with you
  • Jump down to die from death plane
  • When arcade restarts, and you start moving, you might notice the ghost voxel mesh somewhere (depends on how much it moved before you died)
    Bug seems to be removed after lava starts moving again (caused by SetVelocity call)
    It looks like it happens because server and client have different opinions about one of entity positions, but I cannot figure out why, because I am not doing anything spectacular on client. All calls moving the locator happen only on server

Screenshots / video of bug:
The flying starts to happen after 0:21

Which platform: PC

Which input: keyboard + mouse

Your Crayta username: strowk

Game seen in (including “Hub” or “Editor for XYZ”): Editor of Spellfire

How regularly do you see this? (E.g. 2/3 times - please try 3 times if possible): sometimes, maybe one of five?

Time + date seen: 09:01 PM 06.03.2022

Version number (found in Help tab in Settings): 0.e5.40.115857

Hey there @str !

I have entered a ticket for our internal team to investigate with the information you have provided. Sadly I was unable to reproduce the issue. But as you mentioned you seemed to have kind of fixed it ? and that you might work on something later-on when you have the time.

I would encourage to please comment on here if you do manage to pinpoint additional information for our internal team can take a closer look into this for you.

1 Like