private void OnTriggerStay(Collider other) { if (other.tag == "Player") { MoveEnemy.EnemyState state = moveEnemy.GetState(); //敵が追いかける状態でなければ追いかける状態に if (state == MoveEnemy.EnemyState.Wait || state == MoveEnemy.EnemyState.Walk) { moveEnemy.SetState(MoveEnemy.EnemyState.Chase, other.transform); } } }
void OnTriggerStay(Collider other) { //プレイヤータグだったら発見 if (other.tag == "Player") { MoveEnemy.EnemyState state = moveEnemy.GetState(); if (state != MoveEnemy.EnemyState.Chase) { Debug.Log("プレイヤー発見"); moveEnemy.SetState(MoveEnemy.EnemyState.Chase, other.transform); } } }
void OnTriggerStay(Collider col) { // プレイヤーキャラクターを発見 if (col.tag == "Human") { // 敵キャラクターの状態を取得 MoveEnemy.EnemyState state = moveEnemy.GetState(); // 敵キャラクターが追いかける状態でなければ追いかける設定に変更 if (state != MoveEnemy.EnemyState.Chase) { Debug.Log("プレイヤー発見"); moveEnemy.SetState(MoveEnemy.EnemyState.Chase, col.transform); } } }
void OnTriggerStay(Collider other) { if (other.tag == "Player") { MoveEnemy.EnemyState state = moveEnemy.GetState(); //主人公の方向 Vector3 playerDirection = other.transform.position - transform.position; //敵の前方からの主人公の方向() float angle = Vector3.Angle(transform.forward, playerDirection); //サーチする角度内だったら発見 if (angle <= searchAngle) { if (state != MoveEnemy.EnemyState.Chase) { Debug.Log("主人公発見:" + angle); moveEnemy.SetState(MoveEnemy.EnemyState.Chase, other.transform); } } } }