Exemplo n.º 1
0
        public void Setup()
        {
            go = new GameObject();
            var childGO = new GameObject();

            childGO.transform.parent = go.transform;

            var targetGO = new GameObject();

            targetGO.transform.parent = childGO.transform;

            go.transform.position       = Vector3.zero;
            childGO.transform.position  = new Vector3(1.0f, 0.0f, 0.0f);
            targetGO.transform.position = new Vector3(3.0f, 0.0f, 0.0f);

            ikGO    = new GameObject();
            manager = ikGO.AddComponent <IKManager2D>();
            var lsGO = new GameObject();

            solver = lsGO.AddComponent <LimbSolver2D>();
            lsGO.transform.parent = ikGO.transform;

            effectorGO = new GameObject();
            effectorGO.transform.parent = solver.transform;

            chain          = solver.GetChain(0);
            chain.target   = targetGO.transform;
            chain.effector = effectorGO.transform;

            solver.Initialize();

            manager.AddSolver(solver);
        }
        public void AddSolversToManager_ManagerHasSolverInList()
        {
            var go1     = new GameObject();
            var solver1 = go1.AddComponent <LimbSolver2D>();

            go1.transform.parent = ikGO.transform;

            var go2     = new GameObject();
            var solver2 = go1.AddComponent <LimbSolver2D>();

            go2.transform.parent = ikGO.transform;

            manager.AddSolver(solver1);
            manager.AddSolver(solver2);

            Assert.IsTrue(manager.solvers.Contains(solver1));
            Assert.IsTrue(manager.solvers.Contains(solver2));
        }
        public void Setup()
        {
            editorManager = IKEditorManager.instance;

            go = new GameObject();
            var child1GO = new GameObject();

            child1GO.transform.parent = go.transform;

            var child2GO = new GameObject();

            child2GO.transform.parent = child1GO.transform;

            var child3GO = new GameObject();

            child3GO.transform.parent = child2GO.transform;

            targetGO = new GameObject();
            targetGO.transform.parent = child3GO.transform;

            go.transform.position       = Vector3.zero;
            child1GO.transform.position = new Vector3(1.0f, 0.0f, 0.0f);
            child2GO.transform.position = new Vector3(3.0f, 0.0f, 0.0f);
            child3GO.transform.position = new Vector3(6.0f, 0.0f, 0.0f);
            targetGO.transform.position = new Vector3(10.0f, 0.0f, 0.0f);

            ikGO    = new GameObject();
            manager = ikGO.AddComponent <IKManager2D>();
            var lsGO = new GameObject();

            solver = lsGO.AddComponent <FabrikSolver2D>();
            lsGO.transform.parent = ikGO.transform;

            effectorGO = new GameObject();
            effectorGO.transform.parent   = solver.transform;
            effectorGO.transform.position = new Vector3(10.0f, 0.0f, 0.0f);

            chain                = solver.GetChain(0);
            chain.target         = targetGO.transform;
            chain.effector       = effectorGO.transform;
            chain.transformCount = 5;

            solver.Initialize();

            manager.AddSolver(solver);

            editorManager.Initialize();
        }
Exemplo n.º 4
0
        public void Setup()
        {
            go = new GameObject();
            var child1GO = new GameObject();

            child1GO.transform.parent = go.transform;

            var child2GO = new GameObject();

            child2GO.transform.parent = child1GO.transform;

            var child3GO = new GameObject();

            child3GO.transform.parent = child2GO.transform;

            targetGO = new GameObject();
            targetGO.transform.parent = child3GO.transform;

            go.transform.position       = Vector3.zero;
            child1GO.transform.position = new Vector3(1.0f, 0.0f, 0.0f);
            child2GO.transform.position = new Vector3(3.0f, 0.0f, 0.0f);
            child3GO.transform.position = new Vector3(6.0f, 0.0f, 0.0f);
            targetGO.transform.position = new Vector3(10.0f, 0.0f, 0.0f);

            ikGO    = new GameObject();
            manager = ikGO.AddComponent <IKManager2D>();
            var lsGO = new GameObject();

            // Using FABRIKSolver2D here, but tests are generalised for all Solver2Ds
            solver = lsGO.AddComponent <FabrikSolver2D>();
            lsGO.transform.parent = ikGO.transform;

            effectorGO = new GameObject();
            effectorGO.transform.parent = solver.transform;

            var chain = solver.GetChain(0);

            chain.target         = targetGO.transform;
            chain.effector       = effectorGO.transform;
            chain.transformCount = 5;
            chain.Initialize();

            manager.AddSolver(solver);
        }
Exemplo n.º 5
0
        private void OnSelectMenu(object param)
        {
            Type solverType = param as Type;

            GameObject solverGO = new GameObject(GameObjectUtility.GetUniqueNameForSibling(m_Manager.transform, "New " + solverType.Name));

            solverGO.transform.SetParent(m_Manager.transform);
            solverGO.transform.localPosition = Vector3.zero;
            solverGO.transform.rotation      = Quaternion.identity;
            solverGO.transform.localScale    = Vector3.one;

            Solver2D solver = solverGO.AddComponent(solverType) as Solver2D;

            Undo.RegisterCreatedObjectUndo(solverGO, Contents.createSolverString);
            Undo.RegisterCompleteObjectUndo(m_Manager, Contents.createSolverString);
            m_Manager.AddSolver(solver);
            EditorUtility.SetDirty(m_Manager);

            Selection.activeGameObject = solverGO;
        }