https://blog.csdn.net/u011403161/article/details/111068526

书接上回,我们只粗略的用公式表示了一下优先级,来体现相关性

T = distance * angle,即距离越近,视偏角越小,T越小,锁定优先级越高。

但是实际应用的时候,容易发现,这个公式不是很符合直觉:

背面剔除

例如,距离4米视角30°和距离1米视角120°的优先级是相同,

而120°代表怪物在玩家背后,不应该和前方的怪物有相同的优先级。

所以我们先只计算前方的怪物,前方没有怪物的话,再按距离查找后方最近的怪物

(因为在背后,所以这里就没有使用夹角,只用距离)

公式优化

除了T = distance * angle这样的简单相乘,还有很多其他公式也可以表示正相关性,这里先给出结论:

T = distance * Mathf.Sin(angle * Mathf.Deg2Rad);

这个公式可以理解为:

玩家->怪物这条向量,旋转到玩家forward方向的过程中,扫过的扇形面积。

有兴趣也可以试试其他公式,找到最符合“直觉”的那个,比如

可以使用距离的n次方(n>0),乘以夹角的余弦,正切等等

这样就可以了吗?

目前我们只考虑了静态的情况,实际上在游戏运行的时候,还要考虑其他因素,下期讲解

https://blog.csdn.net/u011403161/article/details/113435178

3D动作手游的辅助瞄准算法(二)相关推荐

  1. 3D动作手游的辅助瞄准算法(一)

    前言 手机上的动作游戏,一般操作方式都是, 左边摇杆控制移动,右边滑屏旋转视角, 总的来说操作起来,没有键鼠来的精准, 所以大多数的手游,需要辅助瞄准系统. 已知条件 最简单的情况,我们先假设玩家与怪 ...

  2. 3D动作手游的辅助瞄准算法(三)

    https://blog.csdn.net/u011403161/article/details/111143602 书接上回,现在我们得到了一个基本正确的锁定优先级算法: float T = dis ...

  3. 3D动作绑定_仙侠3D动作手游《剑凌苍穹-超V版》打造一个最真实的修真世界

    唯美仙侠3D动作手游<剑凌苍穹-超V版>打造一个最真实的修真世界 <剑凌苍穹-超V版>双端手游地址:http://www.20lx.com/app/1529.htm 下载游戏盒 ...

  4. 完美世界3D格斗手游[格斗宝贝]今日公測

    狗刨学习网报道 / 经过近两年井喷式的发展,国内手游市场洗牌的信号愈加强烈.用户体验的提升.以及对产品核心品质的要求.促进了手游的精品化.而白热化的市场竞争,也催生了各大厂商在细分市场的抢滩.当中.更 ...

  5. Unity3D教程:手游开发常用排序算法 -下

    五.堆排序(Heap Sort) 1. 基本思想: 堆排序是一树形选择排序,在排序过程中,将R[1..N]看成是一颗完全二叉树的顺序存储结构,利用完全二叉树中双亲结点和孩子结点之间的内在关系来选择最小 ...

  6. 神位纷争服务器维护,《神位纷争》沉寂了一年的硬核动作手游从PVP到PVE的转型...

    由微笑科技推出的第三人称动作手游<神位纷争>在沉寂了一年之后,终于是在此前正式登陆了安卓平台. 经过一系列的调整和更新,此次的正式版本以「神位纷争 2.0」的全新面貌重新展现在玩家面前. ...

  7. 《火柴人联盟》制作人鬼人谈如做好动作手游

    <火柴人联盟>制作人鬼人谈如做好动作手游 发布者: justsolo | 发布时间: 2015-1-21 00:20| 评论数: 19 游戏类型:手游游戏/平板游戏  设计类型:[系统/框 ...

  8. 《鬼泣-巅峰之战》制作人:预约800万的动作手游是怎么做出来的?

    凭借<鬼泣>IP的影响力,由CAPCOM授权.云畅游戏开发的<鬼泣-巅峰之战>手游,在公布之后受到许多玩家的关注,目前游戏全渠道预约人数超过了800万.葡萄君此前也写过这款手游 ...

  9. 分享个甲铁城手游的辅助脚本,能够自动刷副本刷资源

    分享个甲铁城手游的辅助脚本,能够自动刷副本刷资源 甲铁城的卡巴内瑞-这个手游中伙伴穿戴装备以及升星培养(升星只需消耗伙伴碎片)能增加人偶的属性与被动技能效果.伙伴的品质越高能为玩家增加的战斗力也就越多 ...

最新文章

  1. 6、函数返回值、this、递归及回调函数
  2. Python闭包的使用
  3. 笔记-信息系统安全管理-信息安全(混合)
  4. CUDA从入门到精通(三):必备资料
  5. EC笔记:第二部分:11:在operator=中处理“自我赋值”
  6. TCP/IP的七层模型
  7. flink的print()函数输出的都是对象地址而非对象内容
  8. 属于服务器操作系统的是,属于服务器操作系统的是
  9. 浏览器展示CSS伪类的动画和过渡效果应用
  10. ASP.NET 2.0 Web Part编程之定制Web Part
  11. Linux内核中增加一个新的驱动模块
  12. pr如何跳到关键帧_零基础自学剪辑第六天--效果控件与关键帧
  13. xv6 risc-v file system logging layer
  14. 单片机:51最小单片机系统
  15. Android 汇率换算对比小工具
  16. 成为Googler的资源分享!
  17. 安装黑苹果时BIOS的正确设置
  18. 电商设计的文字的选择与排版
  19. VS Code插件Code Runner使用python虚拟环境
  20. 数字图像处理(冈萨雷斯)学习 第3章 灰度变换与空间滤波

热门文章

  1. Python格式化字符串新语法:f-strings
  2. Android 一定要培训吗,安卓开发需要学什么2
  3. 哪个品牌的触控笔质量好?ipad好用的触控笔
  4. DNS List (台湾的比较不错,推荐使用!)
  5. 5G已开始商用 目前提供5G商用服务的国家有哪些?
  6. 用定时器设计门铃,按下按键时蜂鸣器发出叮咚的门铃声
  7. addon游戏_MOD Herobrine Addon
  8. CDR插件开发之Addon插件008 - 在VS中下载安装Addons插件模板并基于模板创建Addon插件工程
  9. 京东换新 Logo :脸蛋胖了,脖子粗了
  10. c++的复制省略(copy elision)