Пример #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;
 }
Пример #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);
    }
Пример #5
0
 protected override void OnStart()
 {
     _headLook          = GetComponent <HeadLookController>();
     _timeLeftWandering = Settings.WanderTime;
     _timeSpentIdling   = 0;
     _wanderZone        = new Bounds(Vector3.zero, Vector3.zero);
 }
Пример #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);
        }
Пример #8
0
 private void Awake()
 {
     if (this._head == null)
     {
         this._head = this.transform;
     }
     this._headLookController = this.GetComponent <HeadLookController>();
 }
Пример #9
0
 void Start()
 {
     // モデル未指定時にはunitychanを探します。
     if (character == null)
     {
         character = GameObject.Find("unitychan");
     }
     headLookController = character.GetComponent <HeadLookController>();
 }
Пример #10
0
    void Awake()
    {
        Transform = GetComponent<Transform>();
        Self = gameObject;
        CharDetails = GetComponent<CharacterDetails>();

        Animation = GetComponent<Animation>();
        ViewController = GetComponent<HeadLookController>();
    }
Пример #11
0
    ////////////////////////////////////////////////////////////////////////////

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

        if (driver == null)
        {
            SetDriver(GetComponentInParent <IBipedDriver>());
        }
    }
Пример #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;
 }
Пример #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();
    }
Пример #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;

    }
Пример #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;
    }
Пример #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);
			

	}
Пример #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;
 }
Пример #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);
    }
Пример #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);
    }
Пример #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;
    }
Пример #24
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;
    }
Пример #25
0
	// Use this for initialization
	void Start () 
	{
		armIK = GetComponent<ArmIK>();
		gunAimer = GetComponent<GunAimer>();
		lookController = GetComponent<HeadLookController>();
	}
Пример #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);
    }
Пример #27
0
 // Use this for initialization
 void Start()
 {
     controller = GameObject.FindObjectOfType<HeadLookController>();
 }
Пример #28
0
 // Use this for initialization
 void Start()
 {
     controller = GameObject.FindObjectOfType <HeadLookController>();
 }
Пример #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;
     }
 }
Пример #30
0
 private void Awake()
 {
     this._headLookController = this.GetComponent <HeadLookController>();
     this._lookTarget         = this.GetComponent <LookTarget>();
 }
Пример #31
0
 // Use this for initialization
 void Start()
 {
     controller = GetComponent <HeadLookController>();
 }
Пример #32
0
 void Start()
 {
     headController = GetComponent <HeadLookController>();
     FPSController  = GameObject.Find("FPSController");
 }
Пример #33
0
 private void Awake()
 {
     this._headLookController = this.GetComponent <HeadLookController>();
 }
Пример #34
0
    public void updateHeadController(string TargetName)
    {
        HeadLookController head = _body.GetComponentInChildren <HeadLookController>();

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