Unity | 使用 DOTS 实现万人同屏战斗场景(一)

开屏小广告:本人待业中,擅长 unity、cocos 开发,如各位大佬有岗位推荐,感激不尽,同时也接受技术咨询,外包等服务

1. 项目配置

1. 编辑器版本为2022.3.17f1c1
2. DOTS 相关插件版本:
  • Burst:1.8.18

  • Collections:2.5.1

  • Entities:1.3.5

  • Entities Graphics:1.4.3

  • Jobs:0.70.0-preview.7

3. 模型规格:

2. 效果预览

1. 模型动画

模型具有移动、攻击、攻击待机、死亡动作,使用 GPUECSAnimationBaker 插件进行动作烘焙

2. Shader Graph

除了基本动作外,增加单位受击时闪白效果

3. 避障、索敌、攻击

使用 Nebukam 中的 ORCA 进行避障,并基于 KD-Tree 进行碰撞检测

  • 绿圈为单位体积,用于避障

  • 内部红圈为攻击范围,进入攻击范围后,开始进行攻击

  • 外部红圈为视野范围,敌人进入视野范围后,会朝向敌人位置移动

4. 避障分层

不同层级的单位移动时不参与避障效果

5. 子弹

子弹具有范围碰撞检测

6. 万人同屏战斗

基于DOTS及以上功能,实现万人同屏的战斗场景 核显 AMD Radeon 780M Graphics 中运行效果:3W单位时帧率稳定30+

RTX4070 Super 中运行效果:10w单位时帧率稳定30

如果模型增加LOD,根据摄像机距离降低模型面数,帧率可以继续提升

3. 教程规划

  1. 后续依次讲解 DOTS 及上述功能的实现

  2. 项目源码购买链接:https://weidian.com/item.html?itemID=7446136345

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值