Example #1
0
 public void NewGazeTarget(HeadLookController headlook, GameObject newTarget)
 {
     headlook.target                   = newTarget.transform.position;
     randomEyesComp                    = headlook.gameObject.GetComponent <RandomEyes3D>();
     randomEyesComp.lookTarget         = newTarget;
     randomEyesComp.lookTargetTracking = newTarget;
 }
Example #2
0
    public MultiCharacterAgentController(SingleCharacterDemo.ScenarioData scenarioData, RolePlayCharacterAsset rpc,
                                         IntegratedAuthoringToolAsset iat, UnityBodyImplement archetype, Transform anchor, DialogController dialogCrt)
    {
        m_scenarioData     = scenarioData;
        m_iat              = iat;
        m_rpc              = rpc;
        m_dialogController = dialogCrt;
        _body              = GameObject.Instantiate(archetype);

        UnityEngine.Random.InitState((int)System.DateTime.Now.Ticks);
        var r = UnityEngine.Random.Range(0, 600);

        _body.GetComponentInChildren <Animator>().Play(0, -1, r);

        _body.tag   = rpc.CharacterName.ToString();
        just_talked = false;
        lastAction  = null;
        var t = _body.transform;

        t.SetParent(anchor, false);
        t.localPosition = Vector3.zero;
        t.localRotation = Quaternion.identity;
        t.localScale    = Vector3.one;


        HeadLookController head = _body.GetComponentInChildren <HeadLookController>();

        head._target = GameObject.FindGameObjectWithTag("MainCamera");

        m_dialogController.SetCharacterLabel(m_rpc.CharacterName.ToString());

        //  m_rpc.Perceive(new Name[] { EventHelper.PropertyChange("DialogueState(Player)", "Start", "world") });

        lastDialog = new DialogueStateActionDTO();
    }
    // Update is called once per frame
    void Update()
    {
        for (uint i = 0; i < agents.Length; i++)
        {
            //Transform walker = agents[i].unity_walker;
            //float x = agents[i].anim_x.Evaluate(Time.time);
            float x = GetCenterOfMassX(reader, i, Time.time);
            //float z = agents[i].anim_z.Evaluate(Time.time);
            float z = GetCenterOfMassZ(reader, i, Time.time);
            agents[i].unity_walker.localPosition = new Vector3(x, 18, z);
            //Might be very dumb
            //float o = agents[i].anim_o.Evaluate(Time.time);
            float ox = GetOrientationX(reader, i, Time.time);
            //float o2 = agents[i].anim_o.Evaluate(Time.time - Time.fixedDeltaTime);
            float oz = GetOrientationZ(reader, i, Time.time);
            //Rotate the character by the change in its rotation from the last frame.
            //agents[i].unity_walker.Rotate(0,o-o2,0);
            float      angle = Mathf.Atan2(ox, oz);
            Quaternion dfa   = new Quaternion(0, angle, 0, 1);
            agents[i].unity_walker.localRotation = dfa;              // localRotation(0, angle, 0);


            //Update the head's target.
            float tx = GetTargetX(reader, i, Time.time);
            float ty = 18.0f;
            float tz = GetTargetZ(reader, i, Time.time);
            HeadLookController otherscript = agents[i].unity_walker.GetComponent <HeadLookController>();
            otherscript.target = new Vector3(tx, ty, tz);
        }
    }
    /************** HEAD LOOK **************/
    public void AddHeadLook()
    {
        //Dont add multiple scripts
        if (currentImportedModel.GetComponent <HeadLookController>())
        {
            return;
        }

        HeadLookController hlc = currentImportedModel.AddComponent <HeadLookController>();

        headLookAdded = true;
        HeadLookUI.SetActive(true);

        hlc.target            = GameObject.Find("Camera (eye)").transform.position; //Set target for HLC
        hlc.overrideAnimation = true;
        hlc.rootNode          = currentImportedModel.transform;
        //Set values for Neck and Head segment
        headAndNeckSegment.thresholdAngleDifference = 0;
        headAndNeckSegment.bendingMultiplier        = 0.7f;
        headAndNeckSegment.maxAngleDifference       = 30;
        headAndNeckSegment.maxBendingAngle          = 80;
        headAndNeckSegment.responsiveness           = 4;

        //Scan imported model for all bones and list them for the UI
        modelChildrenBones = currentImportedModel.GetComponentsInChildren <Transform>();

        AddBonesToDropdown(NeckDropdown);
        AddBonesToDropdown(HeadDropdown);
    }
Example #5
0
 protected override void OnStart()
 {
     _headLook          = GetComponent <HeadLookController>();
     _timeLeftWandering = Settings.WanderTime;
     _timeSpentIdling   = 0;
     _wanderZone        = new Bounds(Vector3.zero, Vector3.zero);
 }
Example #6
0
        private void Start()
        {
            this.controller = GetComponent <HeadLookController>();
            this.animator   = GetComponent <Animator>();

            itweenAnimationName = this.gameObject.name + "HeadLookAnimation";
            iTween.Init(this.gameObject);
        }
        private void Start()        
        {
            this.controller = GetComponent<HeadLookController>();           
            this.animator = GetComponent<Animator>();

            itweenAnimationName = this.gameObject.name + "HeadLookAnimation";
            iTween.Init(this.gameObject);
        }
Example #8
0
 private void Awake()
 {
     if (this._head == null)
     {
         this._head = this.transform;
     }
     this._headLookController = this.GetComponent <HeadLookController>();
 }
Example #9
0
 void Start()
 {
     // モデル未指定時にはunitychanを探します。
     if (character == null)
     {
         character = GameObject.Find("unitychan");
     }
     headLookController = character.GetComponent <HeadLookController>();
 }
Example #10
0
    void Awake()
    {
        Transform = GetComponent<Transform>();
        Self = gameObject;
        CharDetails = GetComponent<CharacterDetails>();

        Animation = GetComponent<Animation>();
        ViewController = GetComponent<HeadLookController>();
    }
Example #11
0
    ////////////////////////////////////////////////////////////////////////////

    private void Awake()
    {
        animator       = GetComponent <Animator>();
        lookController = GetComponent <HeadLookController>();

        if (driver == null)
        {
            SetDriver(GetComponentInParent <IBipedDriver>());
        }
    }
Example #12
0
 private void Awake()
 {
     if (this._eye == null)
     {
         this._eye = this.transform;
     }
     this._seeing             = false;
     this._headLookController = this.GetComponent <HeadLookController>();
     this._defaultRotation    = this._eye.transform.rotation;
 }
Example #13
0
    void Start()
    {
        m_Animator           = GetComponent <Animator>();
        m_HeadLookController = GetComponent <HeadLookController>();
        m_AICharacterControl = GetComponent <AICharacterControl>();
        m_AudioSource        = GetComponent <AudioSource>();

        //setMoveTarget(player.position, 15f);
        //setMoveTarget(objectTransform, 15f);
        setRandomMoveTarget();
    }
Example #14
0
 private void ToggleDisableLocomotion(bool state)
 {
     disableLocomotion = state;
     for (int c = 0; c < clones.Count; c++)
     {
         LegAnimator legA = clones[c].GetComponent(typeof(LegAnimator)) as LegAnimator;
         legA.enabled = !state;
         HeadLookController head = clones[c].GetComponent(typeof(HeadLookController)) as HeadLookController;
         head.enabled = !state;
     }
 }
    protected void Start()
    {
        rb = GetComponent<Rigidbody>();
        anim = GetComponent<Animator>();
        hlc = GetComponent<HeadLookController>();
        head = transform.Find("Head").gameObject;
        LHand = Helper.FindComponentInChildWithTag<Transform>(gameObject, "Left Hand");
        RHand = Helper.FindComponentInChildWithTag<Transform>(gameObject, "Right Hand");
        xAxisClamp = 0.0f;

    }
Example #16
0
    private HeadLookController headLC;          // HeadLookControllerコンポーネント


    // Use this for initialization
    void Start()
    {
        // HeadObjのタグが付いたオブジェクトを取得
        FindHeadObjTag();

        blink = BLINK_OFF;
        smile = SMILE_OFF;

        // HeadLookControllerコンポーネントを取得し非アクティブにする
        headLC         = this.GetComponent <HeadLookController>();
        headLC.enabled = false;
    }
Example #17
0
            void Start()
            {
                movement.ccOrigin = (movement.ccOrigin == null) ? this.transform : movement.ccOrigin;
//                helpers = new AIHelpers();
                agent           = this.GetComponent <NavMeshAgent>();
                agent.speed     = movement.walkSpeed;
                senses.eyes     = (senses.eyes == null) ? transform : senses.eyes;
                currentState    = AIStates.Calm;
                waypoint_target = movement.waypoints[0];
                hlController    = (hlController == null) ? GetComponent <HeadLookController>() : hlController;
                FindAllEnemies();
            }
	// Use this for initialization
	void Start () {
		headLookCont = GetComponent<HeadLookController>();
		playerManager = GetComponent<PlayerManager>();
		//thirdPersonController = GetComponent<ThirdPersonController>();
		
		if (headLookCont==null) Debug.Log("Head Look Controller is null!");
		
		//position when character is not on ground
		lookOriginalTransform = new Vector3(0 , 0, 10);
			

	}
Example #19
0
 private void Awake()
 {
     AssignDestinationPoints();
     gameManager     = FindObjectOfType <GameController>();
     carScript       = FindObjectOfType <ThiefCarScript>();
     alarmController = FindObjectOfType <AlarmLight>();
     soundScript     = thiefAnim.gameObject.GetComponent <Footsteps>();
     player          = GameObject.FindGameObjectWithTag("Player").transform;
     headScript      = GetComponent <HeadLookController>();
     agent           = GetComponent <NavMeshAgent>();
     col             = GetComponent <SphereCollider>();
     agent.autoTraverseOffMeshLink = false;
 }
Example #20
0
    // Use this for initialization
    void Start()
    {
        headLookCont  = GetComponent <HeadLookController>();
        playerManager = GetComponent <PlayerManager>();
        //thirdPersonController = GetComponent<ThirdPersonController>();

        if (headLookCont == null)
        {
            Debug.Log("Head Look Controller is null!");
        }

        //position when character is not on ground
        lookOriginalTransform = new Vector3(0, 0, 10);
    }
Example #21
0
    // Update is called once per frame
    void Update()
    {
        PetController colPet = pet.GetComponent <PetController>(); //コントローラのスクリプト取得

        headLook = refObj2.GetComponent <HeadLookController>();

        Transform playerPos = player.transform;
        Transform handPos   = hand.transform;

        //視線先設定
        if (colPet.dirStart == 1) //ハンドが離脱して30フレーム経過した
        {
            //次の視線先ターゲットをプレイヤー(カメラ)に設定
            nextObj    = player;
            nextTarget = playerPos;

            //現在の視線先ターゲットをFaceComplisionに切り替え
            headLook.lookTarget = transform;

            colPet.dirStart = 0;
        }
        else if (colPet.dirStart == 2 && headLook.lookTarget != handPos) //ペットとハンドが衝突した
        {
            Debug.Log("ターゲットをFaceComplisionに一時移動");

            //次の視線先ターゲットをハンドに設定
            nextObj    = hand;
            nextTarget = handPos;

            //現在の視線先ターゲットをFacaComplisionに切り替え
            headLook.lookTarget = transform;

            colPet.dirStart = 0;
        }


        //移動距離
        if (nextTarget == null)
        {
            direction = headLook.lookTarget.position - transform.position;
        }
        else
        {
            direction = nextTarget.position - transform.position;
        }

        //移動
        direction          = direction.normalized;
        transform.position = transform.position + (direction * speed * Time.deltaTime);
    }
Example #22
0
 private void Reset()
 {
     if (!searchNearPlayer)
     {
         searchNearPlayer = gameObject.GetComponent <SearchNearPlayer>();
     }
     if (!facialController)
     {
         facialController = GameObject.FindWithTag("Model").GetComponent <FacialController>();
     }
     if (!headLookController)
     {
         headLookController = GameObject.FindWithTag("Model").GetComponent <HeadLookController>();
     }
     if (!anime)
     {
         anime = GameObject.FindWithTag("Model").GetComponent <Animator>();
     }
 }
    // Use this for initialization
    void Start()
    {
        thirdPersonController       = GetComponent <ThirdPersonController>();
        thirdPersonFlyingController = GetComponent <ThirdPersonFlyingController>();

        mouseOrbit     = GameObject.Find("LookTarget").GetComponent <MouseOrbit>();
        mouseAimFlying = GameObject.Find("LookTarget").GetComponent <MouseFlying>();

        //playerLookTarget = GetComponent<PlayerLookTarget>();
        headLookController = GetComponent <HeadLookController>();


        _lookDirection = thirdPersonController.MoveDirection();
        _inAirVelocity = 0.0f;

        _health = 100;

        _catsCollected = 0;
    }
    // Use this for initialization
    void Start()
    {
		thirdPersonController = GetComponent<ThirdPersonController>();
        thirdPersonFlyingController = GetComponent<ThirdPersonFlyingController>();
		
		mouseOrbit = GameObject.Find("LookTarget").GetComponent<MouseOrbit>();
        mouseAimFlying = GameObject.Find("LookTarget").GetComponent<MouseFlying>();

		//playerLookTarget = GetComponent<PlayerLookTarget>();
		headLookController = GetComponent<HeadLookController>();
				
		
		_lookDirection = thirdPersonController.MoveDirection();
		_inAirVelocity = 0.0f;

        _health = 100;
		
		_catsCollected = 0;
    }
Example #25
0
	// Use this for initialization
	void Start () 
	{
		armIK = GetComponent<ArmIK>();
		gunAimer = GetComponent<GunAimer>();
		lookController = GetComponent<HeadLookController>();
	}
Example #26
0
    internal float AnimationSpeed = 1.0f;                                //How fast the animations should play.
    #endregion

    void Awake()
    {
        //Cache our frequent lookups.
        Transform = GetComponent<Transform>();
        Self = gameObject;

        //Get our basic components.
        Animation = GetComponent<Animation>();
        NavAgent = GetComponent<NavMeshAgent>();
        ViewController = GetComponent<HeadLookController>();
        CharDetails = GetComponent<CharacterDetails>();

        NavAgent.enabled = false;   //We disable the nav agent, so that we can move the Agent to its starting position (Moving with NavAgent enabled causes path finding and we simply want to "place" them at the start.) 
   
        if(!StaticDemo)
            Transform.position = BedTarget.position;    //Place the agent at the start.

        MoveDirection = Transform.TransformDirection(Vector3.forward);  //Get their initial facing direction.

        //Add the basic animation info.
        AnimationKeys = new Dictionary<string, string>();
        AnimationKeys.Add("run", "VB_Run");
        AnimationKeys.Add("walk", "VB_Walk");
        AnimationKeys.Add("idle", "VB_Idle");
        AnimationKeys.Add("greet", "VB_Greeting");
        AnimationKeys.Add("talk", "VB_Talk");

        Inventory = new AgentInventory(this);
    }
 // Use this for initialization
 void Start()
 {
     controller = GameObject.FindObjectOfType<HeadLookController>();
 }
Example #28
0
 // Use this for initialization
 void Start()
 {
     controller = GameObject.FindObjectOfType <HeadLookController>();
 }
Example #29
0
 private void LateUpdate()
 {
     if (Time.deltaTime == 0f)
     {
         return;
     }
     Vector3[] array = new Vector3[this.nonAffectedJoints.Length];
     for (int i = 0; i < this.nonAffectedJoints.Length; i++)
     {
         IEnumerator enumerator = this.nonAffectedJoints[i].joint.GetEnumerator();
         try
         {
             if (enumerator.MoveNext())
             {
                 Transform transform = (Transform)enumerator.Current;
                 array[i] = transform.position - this.nonAffectedJoints[i].joint.position;
             }
         }
         finally
         {
             IDisposable disposable = enumerator as IDisposable;
             if (disposable != null)
             {
                 disposable.Dispose();
             }
         }
     }
     BendingSegment[] array2 = this.segments;
     for (int j = 0; j < array2.Length; j++)
     {
         BendingSegment bendingSegment = array2[j];
         Transform      transform2     = bendingSegment.lastTransform;
         if (this.overrideAnimation)
         {
             for (int k = bendingSegment.chainLength - 1; k >= 0; k--)
             {
                 transform2.localRotation = bendingSegment.origRotations[k];
                 transform2 = transform2.parent;
             }
         }
         Quaternion rotation   = bendingSegment.firstTransform.parent.rotation;
         Quaternion rotation2  = Quaternion.Inverse(rotation);
         Vector3    normalized = (this.target - bendingSegment.lastTransform.position).normalized;
         Vector3    vector     = rotation2 * normalized;
         float      num        = HeadLookController.AngleAroundAxis(bendingSegment.referenceLookDir, vector, bendingSegment.referenceUpDir);
         Vector3    axis       = Vector3.Cross(bendingSegment.referenceUpDir, vector);
         Vector3    dirA       = vector - Vector3.Project(vector, bendingSegment.referenceUpDir);
         float      num2       = HeadLookController.AngleAroundAxis(dirA, vector, axis);
         float      f          = Mathf.Max(0f, Mathf.Abs(num) - bendingSegment.thresholdAngleDifference) * Mathf.Sign(num);
         float      f2         = Mathf.Max(0f, Mathf.Abs(num2) - bendingSegment.thresholdAngleDifference) * Mathf.Sign(num2);
         num  = Mathf.Max(Mathf.Abs(f) * Mathf.Abs(bendingSegment.bendingMultiplier), Mathf.Abs(num) - bendingSegment.maxAngleDifference) * Mathf.Sign(num) * Mathf.Sign(bendingSegment.bendingMultiplier);
         num2 = Mathf.Max(Mathf.Abs(f2) * Mathf.Abs(bendingSegment.bendingMultiplier), Mathf.Abs(num2) - bendingSegment.maxAngleDifference) * Mathf.Sign(num2) * Mathf.Sign(bendingSegment.bendingMultiplier);
         num  = Mathf.Clamp(num, -bendingSegment.maxBendingAngle, bendingSegment.maxBendingAngle);
         num2 = Mathf.Clamp(num2, -bendingSegment.maxBendingAngle, bendingSegment.maxBendingAngle);
         Vector3 axis2 = Vector3.Cross(bendingSegment.referenceUpDir, bendingSegment.referenceLookDir);
         bendingSegment.angleH = Mathf.Lerp(bendingSegment.angleH, num, Time.deltaTime * bendingSegment.responsiveness);
         bendingSegment.angleV = Mathf.Lerp(bendingSegment.angleV, num2, Time.deltaTime * bendingSegment.responsiveness);
         vector = Quaternion.AngleAxis(bendingSegment.angleH, bendingSegment.referenceUpDir) * Quaternion.AngleAxis(bendingSegment.angleV, axis2) * bendingSegment.referenceLookDir;
         Vector3 referenceUpDir = bendingSegment.referenceUpDir;
         Vector3.OrthoNormalize(ref vector, ref referenceUpDir);
         Vector3 forward = vector;
         bendingSegment.dirUp = Vector3.Slerp(bendingSegment.dirUp, referenceUpDir, Time.deltaTime * 5f);
         Vector3.OrthoNormalize(ref forward, ref bendingSegment.dirUp);
         Quaternion to  = rotation * Quaternion.LookRotation(forward, bendingSegment.dirUp) * Quaternion.Inverse(rotation * Quaternion.LookRotation(bendingSegment.referenceLookDir, bendingSegment.referenceUpDir));
         Quaternion lhs = Quaternion.Slerp(Quaternion.identity, to, this.effect / (float)bendingSegment.chainLength);
         transform2 = bendingSegment.lastTransform;
         for (int l = 0; l < bendingSegment.chainLength; l++)
         {
             transform2.rotation = lhs * transform2.rotation;
             transform2          = transform2.parent;
         }
     }
     for (int m = 0; m < this.nonAffectedJoints.Length; m++)
     {
         Vector3     vector2     = Vector3.zero;
         IEnumerator enumerator2 = this.nonAffectedJoints[m].joint.GetEnumerator();
         try
         {
             if (enumerator2.MoveNext())
             {
                 Transform transform3 = (Transform)enumerator2.Current;
                 vector2 = transform3.position - this.nonAffectedJoints[m].joint.position;
             }
         }
         finally
         {
             IDisposable disposable2 = enumerator2 as IDisposable;
             if (disposable2 != null)
             {
                 disposable2.Dispose();
             }
         }
         Vector3 toDirection = Vector3.Slerp(array[m], vector2, this.nonAffectedJoints[m].effect);
         this.nonAffectedJoints[m].joint.rotation = Quaternion.FromToRotation(vector2, toDirection) * this.nonAffectedJoints[m].joint.rotation;
     }
 }
Example #30
0
 private void Awake()
 {
     this._headLookController = this.GetComponent <HeadLookController>();
     this._lookTarget         = this.GetComponent <LookTarget>();
 }
Example #31
0
 // Use this for initialization
 void Start()
 {
     controller = GetComponent <HeadLookController>();
 }
Example #32
0
 void Start()
 {
     headController = GetComponent <HeadLookController>();
     FPSController  = GameObject.Find("FPSController");
 }
Example #33
0
 private void Awake()
 {
     this._headLookController = this.GetComponent <HeadLookController>();
 }
Example #34
0
    public void updateHeadController(string TargetName)
    {
        HeadLookController head = _body.GetComponentInChildren <HeadLookController>();

        head._target = GameObject.FindGameObjectWithTag(TargetName);
    }
Example #35
0
 private void Awake()
 {
     _headLookController = GetComponent <HeadLookController>();
 }
 // Use this for initialization
 void Start()
 {
     armIK          = GetComponent <ArmIK>();
     gunAimer       = GetComponent <GunAimer>();
     lookController = GetComponent <HeadLookController>();
 }