【发布时间】:2019-03-28 01:58:40
【问题描述】:
我正在尝试制造 2 种类型的敌人,近战和远程,所以我尝试让两者都向玩家发送光线,以了解他们是否可以看到玩家并且足够靠近,但我有两个问题。第一个是当我检查敌人和玩家之间的距离时总是为0,第二个是Raycast在应该打印的时候没有打印。 让我解释一下,我在敌人面前,它打印出看到我,但其他时候不是,在相同的条件下,所以我不知道我错过了什么。
这是我的代码:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class EnemyMelee : EnemyBase {
public int rangoAttack;
RaycastHit hit;
int layerMask = 1 << 2;
void Update () {
perseguir();
attackMele();
}
void attackMele() {
if (Physics.Raycast(transform.position, player.transform.position, layerMask)){
print(hit.distance);
}
Debug.DrawLine(transform.position, player.transform.position, Color.red);
}
}
敌人在第 2 层
Pd: EnemyBase 脚本只是通过 nav.SetDestination (player.position) 向玩家移动;
敌人的图片(还不能上传图片):https://ibb.co/eq7pMV
【问题讨论】: