1 功能描述

类似lol中英雄躲草丛:

1.当我方单位(包括我)进入草丛,自己变为半透明,并且能探测到草丛中敌方单位。

2.当我方单位离开草丛,恢复不透明,如果草丛中有敌人,且该草丛中没有别的友军,丢失该敌军视野。

3.当敌方进入草丛,该草丛没有我方单位,敌方全透明,不能被外面我方单位探测到。

4.当敌方离开草丛,可以被探测到。

2 详细设计

草丛增加BoxCollider,触发选项勾上。单位增加BoxCollider,触发选项勾上,并且增加刚体。草丛上绑定GrassCtrl脚本,通过OnTriggerEnter,OnTriggerExit检测到进出草丛的单位,并且把这些单位的保存在list中做统一处理。

上图所示,草地为白色cube模拟,敌人A躲在草丛中,即使在我的视野中(图中绿框),也不会被探测到。而友军A视野之内(图中红框)有敌人B,所以小地图上显示3个点(我,友军A,敌人B)。

List<UnitCtrl> m_listWeUnit = new List<UnitCtrl>();//这个草丛中我方单位List<UnitCtrl> m_listOtherUnit = new List<UnitCtrl>();//敌方单位

GrassCtrl中的类成员,保存进入该草丛的我方单位和敌方单位。

2.1 单位进入草丛时

public void OnTriggerEnter(Collider other){UnitCtrl unit = other.GetComponentInParent<UnitCtrl>();unit.m_isInGrass = true;if (unit.m_camp == MainMgr.self.m_camp){//加入我方阵营表m_listWeUnit.Add(unit);unit.transparentSet(true);foreach (var item in m_listOtherUnit)//探测草丛中活着的敌人{item.visibleSet(true);item.transparentSet(false);//即使是尸体也要更新状态item.m_viewCtrl.unitShowInMiniMap();//活着的敌人才能出现在小地图中}}else {m_listOtherUnit.Add(unit);if (m_listWeUnit.Count > 0)//里面有友军,这个敌人只透明{unit.transparentSet(true);}else if (m_listWeUnit.Count == 0)//没有友军,消失在屏幕视野中{unit.visibleSet(false);unit.m_viewCtrl.unitHideInMinimap();}}}

2.2单位离开草丛时

public void OnTriggerExit(Collider other){UnitCtrl unit = other.GetComponentInParent<UnitCtrl>();unit.m_isInGrass = false;if (unit.m_camp == MainMgr.self.m_camp){m_listWeUnit.Remove(unit);if (m_listWeUnit.Count == 0)//草丛里没有友军,草丛中的敌人不可见{foreach (var item in m_listOtherUnit){item.visibleSet(false);item.m_viewCtrl.unitHideInMinimap();}}}else{m_listOtherUnit.Remove(unit);}unit.transparentSet(false);unit.visibleSet(true);
}

3 运行情况

当我进入草丛中,探测到草丛中的敌方A,把它显示出来,并在小地图显示它icon。

Unity3d+moba+草丛视野相关推荐

  1. android moba源码,Unity3D MOBA游戏 完整源码 uMOBAv 1.34

    uMOBA是一个简单且完整的MOBA游戏项目,它包含了一个MOBA类游戏核心的功能. uMOBA v1.3 – Unity asset uMOBA is a simple and powerful p ...

  2. 王者荣耀进阶教学攻速/移速/减伤机制/视野/意识

    目录 攻速阈值 移速机制 减伤机制 防御与减伤的计算公式 穿透值 护甲最佳收益值 真实伤害 免伤 格挡机制 控制效果详解 1.减速 2.缴械 3.沉默 4.嘲讽 5.击飞 6.眩晕 7.压制 经济获取 ...

  3. 2019年4月份整理的Unity3D游戏完整源码

    Unity3D ×××游戏完整源码 GI Racing 2 http://www.idoubi.net/unity3d/complete-project/3570.html Unity3D 街机几何跳 ...

  4. 王者荣耀s15服务器维护,王者荣耀s15赛季王者峡谷调整 远程打野基本废了

    [海峡网] 辅助装修改 王者荣耀s15赛季王者峡谷调整:辅助装修改 打野刀效果修改 草丛视野规则调整,看看王者荣耀s15赛季王者峡谷调整:辅助装修改 打野刀效果修改 草丛视野规则调整. 一.王者峡谷调 ...

  5. 王者荣耀s15服务器维护,王者荣耀16日S15赛季更新内容

    王者荣耀S15赛季将在16日星期二版本大更新后正式跟大家见面,新版本取名为万物有灵,涉及到非常多的内容改动,包括装备.英雄技能.荣耀战令等等.下面给大家带来王者荣耀16日S15赛季更新内容和王者荣耀S ...

  6. cfile 修改某些位_王者荣耀:打野刀效果再次修改,自定义房间配置试运行!

    王者荣耀体验服昨晚更新,把最近爆料的改动都加入体验服了,辅助装修改.暗影主宰加强.打野刀效果修改.草丛视野规调整.王者快跑玩法.实战模拟玩法.对局环境优化(信誉积分和重开规则改版).征召模式BP流程优 ...

  7. 米莱狄机器人怎么那么多_米莱狄究竟应该怎么玩?

    最近在知乎上有一个问题:米莱狄究竟应该怎么玩? 受邀做了回答.但是做的不是很细致,铭文的搭配用的都是烂大街搭配,所以今天在公众号更新. 1.米莱狄铭文和装备推荐 1)装备推荐 解析:米莱狄召唤出来的儿 ...

  8. 好嗨游戏:TapTap9.9分,《鸡你太美》这到底是什么魔鬼游戏?

    要说最近最火的全民梗,一定是"鸡你太美"啦.火爆程度相比去年的大碗宽面绝对有过之而无不及,甚至连凡凡本人,也趁机发行了一首<大碗宽面>蹭了一波热度,借机用自黑的方式赢回 ...

  9. lol手游服务器维护到什么时候,lol10.1版本维护到几点 lol维护公告最新2020

    lol维护到几点今天?英雄联盟全服停机维护到什么时候?几点能登陆游戏?英雄联盟在2月11日凌晨3点进行了游戏的停机更新.下面,就和小编一起来了解一下最新的维护内容吧! lol10.1版本维护到几点 L ...

最新文章

  1. raw格式图片读取与显示C++,opencv
  2. CV:基于人工智能算法实现人脸口罩的实时检测(结合无人机可,实现实时警告提醒)
  3. 太吾绘卷存档修改2020_太吾绘卷/神级初始存档
  4. Zookeeper的来源
  5. HashSet集合介绍
  6. 男朋友的回答可以多敷衍?
  7. AjaxFileUploader上传插件 兼容性好
  8. delphi 连接DBF
  9. codeup21280:LIS最长不下降子序列问题(可不连续-dp基础题)
  10. 计算机网络课程思政教学目标,计算机学院举行课程思政示范教学活动
  11. 连接查询和子查询哪个效率高
  12. python计算斜率以及给定一组点两两求斜率
  13. 教你如何做一个三角形
  14. Unity3D学习——UGUI对话气泡实现
  15. 物联网案例(二):物联网系统如何进行实时决策
  16. QT下获取汉字拼音首字母
  17. 怎样在photoshop中把字体加粗并倒影
  18. android 个人云存储,个人云存储app-个人云安卓版-地之图下载
  19. 浏览器默认主页被360篡改解决办法
  20. 【shaderforge学习笔记】 UVTile节点

热门文章

  1. C#操作MicroSoft Word的代码
  2. 从零学会Photoshop经典教程300集
  3. SQL面试题练习记录
  4. 抖音粉丝快速增长的有效方法 抖音怎么增加1000粉丝
  5. 关于所谓U盘有占用空间,却看不到文件的一些看法
  6. 自然语言处理--信息模型
  7. ps如何切html用的图片,前端实战(一)-----用ps把PSD切成HTML能用的图片
  8. nmon analyser 使用中报错“宏”不可用的问题及处理
  9. 概率统计基础(一): 随机变量与随机事件
  10. 计算机拓展训练论文,素质拓展训练论文拓展训练论文