public override void Initialize()
        {
            if (face != null && !face.Ready())
            {
                return;
            }
            if (skeleton != null && !skeleton.Ready())
            {
                return;
            }
            // TODO: asap needs some default joints...
            VJoint[] vJoints = new VJoint[0];
            if (skeleton != null)
            {
                vJoints = skeleton.GenerateVJoints();
            }

            IFaceTarget[] faceTargets = new IFaceTarget[0];
            if (face != null)
            {
                faceTargets = face.GetFaceTargets();
            }

            agentSpec = new AgentSpec(agentId, vJoints, faceTargets);
            ASAPToolkitManager atkm = FindObjectOfType <ASAPToolkitManager>();

            if (atkm != null)
            {
                atkm.OnAgentInitialized(this);
            }
            initialized = true;
        }
Example #2
0
        public override void Initialize()
        {
            Debug.Log("Initializing ASAPAgent_UMA_Pregenerated " + id);
            ep = GetComponent <UMA_Pregenerated_ExpressionPlayer>();
            expressionControlValues = new float[ExpressionPlayer.PoseCount];
            AddMecanimToHAnimDefaults();
            if (retarget != null)
            {
                GetBoneList(retarget.transform);
            }
            else if (humanoidRoot != null)
            {
                GetBoneList(humanoidRoot);
            }
            else
            {
                GetBoneList(transform);
            }

            AlignBones();
            AlignCos();
            VJoint[] vJoints = GenerateVJoints();

            List <IFaceTarget> faceTargets = new List <IFaceTarget>();

            faceTargets.Add(new ExpressionPlayerFaceTarget("Surprise",
                                                           new ExpressionControlMapping(new string[] { "midBrowUp_Down", "rightBrowUp_Down", "leftBrowUp_Down", "leftEyeOpen_Close", "rightEyeOpen_Close" },
                                                                                        new float[] { 1.0f, 1.0f, 1.0f, 0.6f, 0.6f })));
            faceTargets.Add(new ExpressionPlayerFaceTarget("Aggressive",
                                                           new ExpressionControlMapping(new string[] { "midBrowUp_Down", "leftLowerLipUp_Down", "rightLowerLipUp_Down", "leftUpperLipUp_Down", "rightUpperLipUp_Down", "jawOpen_Close" },
                                                                                        new float[] { -1.0f, -0.3f, -0.3f, 0.4f, 0.4f, 0.1f })));

            foreach (string target in ExpressionTargetEditor.ExpressionTargets)
            {
                faceTargets.Add(new ExpressionPlayerFaceTarget(target, ExpressionTargetEditor.LoadMapping(target)));
            }

            agentSpec = new AgentSpec(id, vJoints, faceTargets.ToArray());
            Debug.Log("UMA Agent initialized, id=" + this.agentSpec.agentId + " Bones: " + this.agentSpec.skeleton.Length + " faceControls: " + this.agentSpec.faceTargets.Length);

            FindObjectOfType <ASAPManager>().OnAgentInitialized(this);

            if (debug)
            {
                CreateManualAnimationRig();
            }
        }
Example #3
0
        public override void InheritFrom(AgentAlgorithm otherAlgo)//候補集合、初期値を引き継ぐ。
        {
            if (otherAlgo is IAATBasedAgent)
            {
                AgentSpec spec = (otherAlgo as IAATBasedAgent).publishSpec();

                Thought           = new Thought(spec.PriorBelief);
                CandidateSelector = spec.CandidateSelector;

                Body = otherAlgo.Body;
                //候補集合と現在の重要視度だけは引き継ぐ
            }
            else
            {
                throw new Exception(otherAlgo.GetType().Name + "は互換性のない型です。");
            }
        }
        public override void Initialize()
        {
            Debug.Log("Initializing ASAPAgent_ToonFace " + id);

            VJoint[] vJoints = new VJoint[0];

            List <IFaceTarget> faceTargets = new List <IFaceTarget>();

            foreach (ToonFaceConfiguration ftc in faceTargetConfig)
            {
                faceTargets.Add(new ToonFaceTarget(ftc.name, ftc));
            }


            agentSpec = new AgentSpec(id, vJoints, faceTargets.ToArray());
            Debug.Log("UMA Agent initialized, id=" + this.agentSpec.agentId + " Bones: " + this.agentSpec.skeleton.Length + " faceControls: " + this.agentSpec.faceTargets.Length);

            FindObjectOfType <ASAPManager>().OnAgentInitialized(this);
        }