摘要:我们在游戏一些逃生游戏中很可能让主角不能在怪物前方的三角区域内, 如果存在里面玩家就会被发现. 这种判断的该如何实现呢? 请看下图: (此图是主角探索怪物) using UnityEngine; using System.Collections; using UnityEditor; using System; public class Test : MonoBehav... 阅读全文
posted @ 2015-08-10 23:38 盘子脸 阅读 (248) 评论 (0) 编辑
摘要:使用Physics.OverlapSphere来检测不方便调试, 其他都可以. 核心代码: //检测敌人 public void CheckEnemy() { Collider[] cols = Physics.OverlapSphere(this.transform.position, attackRange); ... 阅读全文
posted @ 2015-08-10 17:24 盘子脸 阅读 (1992) 评论 (0) 编辑
摘要:建议阅读: 判断敌人在玩家的某一个区域: http://www.cnblogs.com/plateFace/p/4716799.html 我们可以根据玩家和敌人的坐标, 进行叉乘来获取一个向量可以用它来判断敌人的位置, 敌人是否在攻击范围内. 下面我简单实现下对单体敌人是否攻击做判定 这种方式有一种重大的BUG, 假设我把敌人大小增加100倍, 很显然玩家已经在敌人的体内了. 我们是通过... 阅读全文
posted @ 2015-08-10 15:28 盘子脸 阅读 (188) 评论 (0) 编辑
摘要:我们制作3D动作游戏的时候,常常主人公是一对多人进行攻击,或者敌人在角色前方一定范围内进行攻击. 我们怎么实现这种效果呢? 1. 使用触发器(多体攻击) 方便调试,可视化(推荐) 2. 运用点乘和叉乘,判断敌人的角度和位置(单,多) 一般 3. 使用Physics的Physic... 阅读全文
posted @ 2015-08-10 13:37 盘子脸 阅读 (316) 评论 (0) 编辑
摘要:我们常常在游戏中遇到这种问题. 比如敌人遇到了主角就会朝他旋转过去. 或者判断主角在左边还是右边等等 效果图: 向量A,B的叉乘获得一个垂直于他们的C向量,我们可以通过这上面的值来判断敌人四个区域的某一区 代码的实现: using UnityEngine; using System.Collections; public class Test : MonoB... 阅读全文
posted @ 2015-08-10 00:32 盘子脸 阅读 (480) 评论 (0) 编辑