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; }
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(); } }
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); }