یونیتی_مسیریابی دشمن(در اینجا enemy) تا target یا هدف (در اینجا player1 با تگ player):
جمعه, ۳۰ مرداد ۱۳۹۴، ۰۴:۰۹ ق.ظ
منبع :gameover.blog.ir
یک plane به عنوان زمین و چند تا cube به عنوان مانع بذارید روی plane .
یه sphere با متریال زرد رنگ به نام player1 با تگ Player ایجاد کنید.
یه cube با متریال قرمز رنگ به نام enemy به عنوان دشمن ایجاد کنید که
قراره هوش بدیم بهش و یه rigid body component بدید بهش.(چطوری؟ بپرسید
تازه کارا )
-
یه اسکریپت سیشارپ به نام EnemyAI با اسکریپت زیر بسازید:
کد PHP:
//EnemyAI.cs
using UnityEngine;
using System.Collections;
public class EnemyAI : MonoBehaviour {
public Transform target;
public float moveSpeed;
public float rotationSpeed;
public float maxdistance;
private Transform myTransform;
void Awake(){
myTransform = transform;
}
void Start () {
GameObject go = GameObject.FindGameObjectWithTag("Player");
target = go.transform;
maxdistance = 0;
}
void Update () {
Debug.DrawLine(target.position, myTransform.position, Color.red);
myTransform.rotation = Quaternion.Slerp(myTransform.rotation, Quaternion.LookRotation(target.position - myTransform.position), rotationSpeed * Time.deltaTime);
if(Vector3.Distance(target.position, myTransform.position) > maxdistance){
//Move towards target
myTransform.position += myTransform.forward * moveSpeed * Time.deltaTime;
}
}
}
player رو بندازید روی پاراکتر target از اسکریپت اضافه شده در inspector.
سرعت حرکت رو بدید 10 و سرعت چرخش رو بدید 2
-
اجرا کنید تا دشمن player1 رو پیدا کنه.
۹۴/۰۵/۳۰