server rotation fix
All checks were successful
studiorailgun/Renderer/pipeline/head This commit looks good

This commit is contained in:
austin 2024-08-12 20:52:41 -04:00
parent b1b3d90b70
commit d25e07f35a
3 changed files with 5 additions and 2 deletions

View File

@ -18,5 +18,4 @@
Hitboxes between server and client feel wayyyy off
+ bug fixes
Walk animation does not interrupt on stopping walking

View File

@ -518,6 +518,8 @@ Jump sound effects
Don't play walking audio when entity is jumping
Server alert client on collision
Sound effect on sword hit
Fix walk animation not stopping on state change in ground movement trees
Fix server entity not rotating when ai commands it to
(08/09/2024)
Math overhaul

View File

@ -213,7 +213,6 @@ public class ServerGroundMovementTree implements BehaviorTree {
}
Quaterniond movementQuaternion = new Quaterniond().rotationTo(MathUtils.getOriginVector(), new Vector3d(facingVector.x,0,facingVector.z)).normalize();
Quaterniond rotation = EntityUtils.getRotation(parent);
rotation.set(movementQuaternion);
//TODO: optimize away and document (I know for the moment if this exception isn't here it will bite me in the ass later)
if(facingVector.length() == 0){
throw new IllegalStateException("Facing vector length is 0. This will break ODE4J");
@ -255,6 +254,7 @@ public class ServerGroundMovementTree implements BehaviorTree {
//state machine
switch(state){
case STARTUP: {
rotation.set(movementQuaternion);
if(poseActor != null){
String animationToPlay = determineCorrectAnimation(MovementTreeState.STARTUP);
if(
@ -308,6 +308,7 @@ public class ServerGroundMovementTree implements BehaviorTree {
);
} break;
case MOVE: {
rotation.set(movementQuaternion);
//check if can restart animation
//if yes, restart animation
if(poseActor != null){
@ -361,6 +362,7 @@ public class ServerGroundMovementTree implements BehaviorTree {
ServerScriptUtils.fireSignalOnEntity(parent, "entityGroundMove", AccessTransforms.getVector(position));
} break;
case SLOWDOWN: {
rotation.set(movementQuaternion);
//run slowdown code
if(poseActor != null){
String animationToPlay = determineCorrectAnimation(MovementTreeState.SLOWDOWN);