Thứ Bảy, 2 tháng 11, 2013

Project RPG Bài 2. Hướng dẫn làm AI cho enemy


 
Bài viết này sẽ giúp các bạn tạo tính năng cho Evil Cube (đã tạo ở Bài 1) có thể rượt theo player. Một tính năng cơ bản trong thuật toán tìm đường (path finding).


B1. Nhấp chuột phải vào thư mục Script và chọn Create | C# Script, đặt tên là EnemyAI nhập đoạn code sau vào:


using UnityEngine;
using System.Collections;

public class EnemyAI : MonoBehaviour {

public Transform target;
public int moveSpeed;
public int rotationSpeed;

private Transform myTransform;

void Awake() {

myTransform = transform;

}

// Use this for initialization
void Start () {
GameObject go = GameObject.FindGameObjectWithTag("Player");
moveSpeed = 5;
rotationSpeed = 5;

target = go.transform;
}

// Update is called once per frame
void Update () {

//Debug.DrawLine(target.transform.position, myTransform.position, Color.yellow);
Debug.DrawLine(target.position, myTransform.position, Color.yellow);

//Look at the target
//myTransform.rotation = Quaternion.Slerp(myTransform.rotation, Quaternion.LookRotation(target.position, myTransform.position), rotationSpeed*Time.deltaTime);
myTransform.rotation = Quaternion.Slerp(myTransform.rotation, Quaternion.LookRotation(target.position - myTransform.position), rotationSpeed*Time.deltaTime);

// Move towards target
//myTransform.position += Vector3.forward * moveSpeed * Time.deltaTime;
myTransform.position += myTransform.forward * moveSpeed * Time.deltaTime;
}
}


B2. Kéo thả file C# vừa tạo vào đối tượng Evil Cube trong thẻ Hierarchy.


B3. Tại thẻ Hierarchy, nhấp chọn Player, qua thẻ Inspector, đặt tag thành Player.

B4. Bấm Ctrl + S để save Scene của bạn lại để có thể tiếp tục thực hiện tiếp các bài hướng dẫn sau.



B5. Ấn Play để kiểm tra kết quả.

 

Không có nhận xét nào:

Đăng nhận xét