Exemple #1
0
        public bool RemoveAnimation(string name)
        {
            if (IsContains(name) == false)
            {
                MotionLog.Warning($"Not found Animation : {name}");
                return(false);
            }

            AnimState animState = GetAnimState(name);
            AnimMixer animMixer = GetAnimMixer(animState.Layer);

            if (animMixer != null)
            {
                animMixer.RemoveState(animState.Name);
            }

            animState.Destroy();
            _states.Remove(animState);
            return(true);
        }
Exemple #2
0
        private AnimMixer CreateAnimMixer(int layer)
        {
            // Increase input count
            int inputCount = _mixerRoot.GetInputCount();

            if (layer == 0 && inputCount == 0)
            {
                _mixerRoot.SetInputCount(1);
            }
            else
            {
                if (layer > inputCount - 1)
                {
                    _mixerRoot.SetInputCount(layer + 1);
                }
            }

            var animMixer = new AnimMixer(_graph, layer);

            _mixers.Add(animMixer);
            return(animMixer);
        }