コード例 #1
0
 // Token: 0x06002754 RID: 10068 RVA: 0x000B65C8 File Offset: 0x000B47C8
 private void LateUpdate()
 {
     Core.Solvers solvers = this.solver;
     if (solvers != Core.Solvers.CyclicDescend)
     {
         if (solvers == Core.Solvers.FastReach)
         {
             for (int i = 0; i < this.otherChains.Length; i++)
             {
                 FastReachSolver.Process(this.otherChains[i]);
             }
             FastReachSolver.Process(this.rLeg);
             FastReachSolver.Process(this.lLeg);
             FastReachSolver.Process(this.rArm);
             FastReachSolver.Process(this.lArm);
         }
     }
     else
     {
         CyclicDescendSolver.Process(this.rLeg);
         CyclicDescendSolver.Process(this.lLeg);
         CyclicDescendSolver.Process(this.rArm);
         CyclicDescendSolver.Process(this.lArm);
         for (int j = 0; j < this.otherChains.Length; j++)
         {
             CyclicDescendSolver.Process(this.otherChains[j]);
         }
     }
     for (int k = 0; k < this.otherKChains.Length; k++)
     {
         ChainKinematicSolver.Process(this.otherKChains[k]);
     }
 }
コード例 #2
0
        private void LateUpdate()
        {
            switch (solver)
            {
            case Core.Solvers.CyclicDescend:
                CyclicDescendSolver.Process(rLeg);
                CyclicDescendSolver.Process(lLeg);
                CyclicDescendSolver.Process(rArm);
                CyclicDescendSolver.Process(lArm);
                for (int i = 0; i < otherChains.Length; i++)
                {
                    CyclicDescendSolver.Process(otherChains[i]);
                }
                break;

            case Core.Solvers.FastReach:
                FastReachSolver.Process(rLeg);
                FastReachSolver.Process(lLeg);
                FastReachSolver.Process(rArm);
                FastReachSolver.Process(lArm);
                for (int i = 0; i < otherChains.Length; i++)
                {
                    FastReachSolver.Process(otherChains[i]);
                }
                break;
            }

            for (int i = 0; i < otherKChains.Length; i++)
            {
                ChainKinematicSolver.Process(otherKChains[i]);
            }
        }
コード例 #3
0
 // Token: 0x0600274F RID: 10063 RVA: 0x000B62EC File Offset: 0x000B44EC
 public static bool Process(Core.Chain chain)
 {
     if (chain.joints.Count <= 0)
     {
         return(false);
     }
     if (!chain.initiated)
     {
         chain.InitiateJoints();
     }
     chain.MapVirtualJoints();
     for (int i = 0; i < chain.iterations; i++)
     {
         FastReachSolver.SolveInward(chain);
         FastReachSolver.SolveOutward(chain);
     }
     FastReachSolver.MapSolverOutput(chain);
     return(true);
 }