Help with quick transitions in animator

Hello everyone!
I'm using this asset: https://www.assetstore.unity3d.com/en/#!/content/15672
and I've been trying for a few weeks to make it work with bolt, but to no avail.
For some reason, some animation states are not being ignored correctly, so I wonder if anyone has ever used this asset and managed to make it work with Bolt.
I made contact with the author of the asset and he told me that he can make it work well with Unet, but that he never tried with Bolt.

All the best.

Comments

  • Here is the script attached to the player:

    using System.Collections;
    using System.Collections.Generic;
    using UnityEngine;
    using com.ootii.Actors;
    using com.ootii.Actors.AnimationControllers;


    public class playerBehavior : Bolt.EntityBehaviour
    {
    private Camera MainCamera;
    [SerializeField]
    private Transform CameraTarget;
    private Animator animator;
    private ActorController aController;
    private MotionController mController;


    public override void Attached()
    {
    mController = GetComponent();
    aController = GetComponent();

    state.SetTransforms(state.Transform,transform);

    state.SetAnimator(GetComponent());
    state.Animator.applyRootMotion = entity.IsOwner();

    if (entity.isOwner)
    {
    MainCamera = Camera.main;
    SmoothFollow smooth = MainCamera.GetComponent();
    smooth.target = CameraTarget;
    smooth.enabled = true;
    animator = GetComponent();
    aController.enabled = true;
    mController.enabled = true;
    }
    else
    {
    aController.enabled = false;
    mController.enabled = false;
    }

    }

    private void Start()
    {
    Application.targetFrameRate = 30;
    }


    public void FixedUpdate()
    {

    if (entity.isOwner)
    {
    state.IsGrounded = animator.GetBool("IsGrounded");
    state.Stance = animator.GetInteger("Stance");
    state.InputX = animator.GetFloat("InputX");
    state.InputY = animator.GetFloat("InputY");
    state.InputMagnitude = animator.GetFloat("InputMagnitude");
    state.InputMagnitudeAvg = animator.GetFloat("InputMagnitudeAvg");
    state.InputAngleFromAvatar = animator.GetFloat("InputAngleFromAvatar");
    state.InputAngleFromCamera = animator.GetFloat("InputAngleFromCamera");
    state.L0MotionPhase = animator.GetInteger("L0MotionPhase");
    state.L0MotionForm = animator.GetInteger("L0MotionForm");
    state.L0MotionParameter = animator.GetInteger("L0MotionParameter");
    state.L0MotionStateTime = animator.GetFloat("L0MotionStateTime");
    state.L1MotionPhase = animator.GetInteger("L1MotionPhase");
    state.L1MotionForm = animator.GetInteger("L1MotionForm");
    state.L1MotionParameter = animator.GetInteger("L1MotionParameter");
    state.L1MotionStateTime = animator.GetFloat("L1MotionStateTime");
    }
    else
    {
    animator.SetBool("IsGrounded", state.IsGrounded);
    animator.SetInteger("Stance", state.Stance);
    animator.SetFloat("InputX", state.InputX);
    animator.SetFloat("InputY", state.InputY);
    animator.SetFloat("InputMagnitude", state.InputMagnitude);
    animator.SetFloat("InputMagnitudeAvg", state.InputMagnitudeAvg);
    animator.SetFloat("InputAngleFromAvatar", state.InputAngleFromAvatar);
    animator.SetFloat("InputAngleFromCamera", state.InputAngleFromCamera);
    animator.SetInteger("L0MotionPhase", state.L0MotionPhase);
    animator.SetFloat("L0MotionParameter", state.L0MotionParameter);
    animator.SetFloat("L0MotionStateTime", state.L0MotionStateTime);
    animator.SetFloat("L1MotionPhase", state.L1MotionPhase);
    animator.SetFloat("L1MotionParameter", state.L1MotionParameter);
    animator.SetFloat("L1MotionStateTime", state.L1MotionStateTime);

    }

    }
    }
Sign In or Register to comment.