当前位置:网站首页>群组行动控制--自动队列化实现策略
群组行动控制--自动队列化实现策略
2022-08-09 13:02:00 【MOVCat】
在RTS类型的游戏中最为常用的就是群组行为控制了,而士兵的群组行动控制并不像鸟儿一样是一种自由的形态,而是成一种标准的方阵组成的,这种方阵型群组行动的方式则是最适合来呈现虚拟世界中的队伍行动状态。
【提示】
思想最重要,所以本实现策略没有将代码公布出来。喜欢的可以自行实现尝试其中的乐趣。有需要会贴出代码。
【问题分析】
1.士兵们都被存储在一个线性容器中,方便存取
2.有一个目标位置
3.士兵位置队列化
4.队伍以矩阵群组的行为方式达到目标点
5.目标点为队伍的中心点
【抽象分析】 --为方便大家学习我特意画了写草图方便大家理解
矩阵必须为正矩阵即 N*N型的,矩阵的宽为 width = Sqrt(容器长度),如果
width^2 < 容器长度,那么width++。最终则得到一个width^2>=Sqrt(容器长度)的值为矩阵的宽
每名士兵都有一个观测半径,将其半径内包含的士兵个数存储起来,得到一个半径内包含最多士兵的作为队伍的重心即中心点
每名士兵分别计算出中心到自身的矢量向量directionHead(灰色向量指向自身)从而得出自身与中心的相对位置,方便队伍形状在移动时的士兵位置定位
这样就能得出一个以队伍重心为矩形的队伍形状,将每位士兵的矩阵位置<x,y>存储在一个int[2] point的数组内。
能得到详细的士兵与队伍矩形中心的相对位置 = directionHead的标准值 * Vector2(point[0] * space, point[1] * space)。space为两个士兵之间的间距。
【改进】
1.增强了矩阵效果
【问题分析】
1.士兵们都被存储在一个线性容器中,方便存取
2.有一个目标位置
3.士兵位置队列化
4.目标点为队伍的中心点,直接将矩阵中心作为中心点
最后声明未经同意不得转载
边栏推荐
- Bitmaps and bit operations
- 万物皆可柯里化的 Ramda.js
- 【NVIDIA】Tesla V100安装NVIDIA-Driver驱动程序适配CUDA-Toolkit-11.6
- How to reduce the size of desktop icons after the computer is reinstalled
- [极客大挑战 2019]Upload
- FFmpeg multimedia file processing (the basic concept of ffmpeg processing stream data)
- 七夕力扣刷不停,343. 整数拆分(剑指 Offer 14- I. 剪绳子、剑指 Offer 14- II. 剪绳子 II)
- Sandbox中的进程/线程相关-1
- offset、client、scroll、window.pageYOffset比较
- WSA工具箱安装应用商店提示无法工作怎么解决?
猜你喜欢
面试题精选:神奇的斐波那契数列
搭建大型分布式服务(二)搭建会员服务
FFmpeg multimedia file processing (the basic concept of ffmpeg processing stream data)
某高校的R语言数据分析期末作业
Final assignment of R language data analysis in a university
农村区县域农业电商如何做?数字化转型如何进行?
WSA toolkit installed app store tip doesn't work how to solve?
eslint语法规则报错
5G China unicom general exception handling
联通网管协议框图
随机推荐
搭建大型分布式服务(四)Docker搭建开发环境安装Mysql
5G 联通网管设计思路
RTSP协议的实现
Redis源码剖析之字典(dict)
R语言kaggle 游戏数据探索与可视化
Dry+Bean+Dataset R语言数据分析,报告英文
Data Mining-06
昇腾AI开发者创享日南京站!一起CANN机器狗+AI机械臂实现硬核智慧救援!燃爆现场~
R 语言 2010.1至2021.12艾滋病每月发病人数 时间序列分析
IDEA Gradle 常遇问题(一)
telnet+ftp 对设备进行 操控 和 升级
GIN中GET POST PUT DELETE请求
二维数组&指针
ftplib+ tqdm upload and download progress bar
农村区县域农业电商如何做?数字化转型如何进行?
Time series analysis course lab report
5G China unicom general exception handling
某高校的R语言数据分析期末作业
剑指 Offer 56 - II. 数组中数字出现的次数 II(位运算)
Jenkins API groovy调用实践: Jenkins Core Api & Job DSL创建项目