Ejemplo n.º 1
0
        public static void StopIK(this IRigged rig, string name)
        {
            Ensure.That(rig, nameof(rig)).IsNotNull();

            rig.IKChains.Find(name).Match(
                chain =>
            {
                chain.Interpolation = 0f;
                chain.Stop();
            },
                () => throw new ArgumentOutOfRangeException(
                    nameof(name), $"No IKChain exists with the name: '{name}'.")
                );
        }
Ejemplo n.º 2
0
        public static SkeletonIK StartIK(
            this IRigged rig,
            string name,
            Transform target,
            float amount = 1f)
        {
            Ensure.That(rig, nameof(rig)).IsNotNull();
            Ensure.That(name, nameof(name)).IsNotNull();

            var chain = rig.IKChains[name];

            chain.Target        = target;
            chain.Interpolation = Mathf.Clamp(amount, 0, 1);

            chain.Start();

            return(chain);
        }
Ejemplo n.º 3
0
 public static IEnumerable <Bone> GetBones(this IRigged rig) => GetBones(rig?.Skeleton);