Display entities have been an amazing addition to Java Edition server development, however their implementation has made certain (seemingly basic) functionality unreasonably hard to implement. These are some grievances that would be nice to update:
- It's hard to rotate display entities in full circles, repeatedly due to how linear interpolation and euclidean degrees work. If I want to interpolate a display entity facing 0 degrees to rotate to 360, nothing happens (as 0 and 360 are the same direction, understandably). If I, instead, decide to split the animation into two segments, one lerp (linear interpolation) for 180 and another lerp for 360, the displays will rotate halfway, and back the other way in reverse, rather than a full circle. If I decide to then split the animation into four 90-degree segments, I can achieve the desired result, but at the performance cost of four times the packets sent to the client, and the issue described next:
- Display entity transforms and client interpolations can't be sent out on the same tick, or else nothing visually happens. If I wish to string together multiple interpolations back-to-back, like described above, I must wait 1 tick in between each step to allow the entity to update it's starting transforms before giving it the next lerp. This makes the animations visually jarring and makes the desirability of client-sided smooth animations obsolete.
- I'm about to reach the character limit so I'll describe the rest of my suggestions in comments.
1 Comments
Please sign in to leave a comment.
Post a new comment: