public static void doDone(ActorMovingAction3D actionObject) { EntityView entity = SceneViews.instance.getCurFBScene().getSceneEntity <EntityView>(actionObject.objectID); entity.setPosition(actionObject.targetPosition); entity.startSamplePosition = actionObject.targetPosition; }
public static void doProgress(ActorMovingAction3D actionObject, float progress) { if (actionObject.ignoreTimeAction) { return; } ActorView entity = SceneViews.instance.getCurFBScene().getSceneEntity <ActorView>(actionObject.objectID); if (entity.startSamplePosition.HasValue) { if (entity.isRunState()) { var speed = (actionObject.targetPosition - entity.startSamplePosition.Value).magnitude * 60.0f; entity.updateAnimtorSpeed(speed, actionObject.moveType); entity.animator.SetFloat("moveType", (float)actionObject.moveType); entity.showRunEffect(); } } //获取本次移动位置 Vector3 thisEndPostion = MovingProcessorUtility.getMovePosition(entity.startSamplePosition, actionObject.targetPosition, progress); entity.setPosition(thisEndPostion); }