現在、Unityにて味方AIを敵のキャラクター方向へLooKAtを使い常に向くようにしているのですが添付画像のように少しずれた方向を向いてしまいます。スクリプトも貼っておきます。
他のキャラクターモデルで同じスクリプトを使ったときは問題ありませんでした。
これはモデルの問題なのでしょうか、またモデルの問題であればどうすれば解決するでしょうか?
using System.Collections; using System.Collections.Generic; using UnityEngine; public class SoldierContoller : MonoBehaviour { private GameObject nearObj;//向きたい方向オブジェクト void Start() { nearObj = serchTag(gameObject, "Zombie"); } void Update() { //最も近かったオブジェクトを取得 nearObj = serchTag(gameObject, "Zombie"); //対象の位置の方向を向く transform.LookAt(nearObj.transform); } //指定されたタグの中で最も近いものを取得 GameObject serchTag(GameObject nowObj, string tagName) { float tmpDis = 0; //距離用一時変数 float nearDis = 0; //最も近いオブジェクトの距離 //string nearObjName = ""; //オブジェクト名称 GameObject targetObj = null; //オブジェクト //タグ指定されたオブジェクトを配列で取得する foreach (GameObject obs in GameObject.FindGameObjectsWithTag(tagName)) { //自身と取得したオブジェクトの距離を取得 tmpDis = Vector3.Distance(obs.transform.position, nowObj.transform.position); //オブジェクトの距離が近いか、距離0であればオブジェクト名を取得 //一時変数に距離を格納 if (nearDis == 0 || nearDis > tmpDis) { nearDis = tmpDis; //nearObjName = obs.name; targetObj = obs; } } //最も近かったオブジェクトを返す //return GameObject.Find(nearObjName); return targetObj; } }
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2022/01/13 12:29