Unity尸潮高性能技术方案(寻路+碰撞+动画)

前情提要:

仅个人拙见,有搬运成分。个人在独游项目中使用,写一篇博客记录一下。

技术概要:

群体寻路插件Agent Navigation+GPUInstance动画(URP)+unity自带的碰撞实现

先说结论:

性能表现:面向对象编程,1000个丧尸单位,动画独立控制(但是不能混合),1660ti显卡,稳定100帧左右

掉帧高概率是因为自己写的代码gc有点频繁,或者log插件有点多(初期暂时没考虑优化)

性能瓶颈:

渲染试了一下,10000个单位也能跑30帧。目测性能瓶颈在寻路和大量对象的内存访问。

优化方案:

可以对视野外对象进行lod处理,(其实关不关动画都无所谓,渲染不是性能瓶颈,就是把碰撞和寻路可以关掉或者化简)

也可以使用DOTS面向数据(但是这种不太考虑,大项目会出点问题,虽然寻路是基于dots写的,但是正常编码还是面向对象吧)

相关推荐
Magnum Lehar1 小时前
vulkan游戏引擎game_types.h和生成build.bat实现
java·算法·游戏引擎
Magnum Lehar7 小时前
vulkan游戏引擎的renderer_types实现
游戏引擎
AgilityBaby13 小时前
UE5蓝图中播放背景音乐和使用代码播放声音
c++·ue5·游戏引擎·蓝图
FAREWELL000751 天前
Unity基础学习(十二)Unity 物理系统之范围检测
学习·unity·c#·游戏引擎·范围检测
Magnum Lehar1 天前
vulkan游戏引擎renderer_backend实现
游戏引擎
Magnum Lehar1 天前
vulkan游戏引擎renderer_frontend实现
游戏引擎
NRatel1 天前
Unity 中实现首尾无限循环的 ListView
unity·listview·无限循环·首尾循环
两水先木示1 天前
【Unity】模型渐变技术 BlendShapes变形
unity·游戏引擎
|Ringleader|1 天前
【Unity博客节选】Playable Graph Monitor 安装使用
unity·timeline·playable·graph monitor·visualizer
向宇it2 天前
【unity游戏开发——编辑器扩展】EditorApplication公共类处理编辑器生命周期事件、播放模式控制以及各种编辑器状态查询
开发语言·ui·unity·编辑器·游戏引擎