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

前情提要:

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

技术概要:

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

先说结论:

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

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

性能瓶颈:

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

优化方案:

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

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

相关推荐
寂寞的船3 小时前
【Unity知识速递】第8期 IL2CPP 托管堆内存碎片与原生堆交互机制深度解析
unity·游戏引擎·交互
寂寞的船20 小时前
【Unity知识速递】第5期 Unity 6.2 深度解析:AI Assistant 登场,World Space UI 与 Sentis 全面升级
人工智能·ui·unity
寂寞的船1 天前
【Unity知识速递】第4期 MCP for Unity:用 AI 自然语言控制编辑器
人工智能·unity·编辑器
淡海水1 天前
09-04-内存-Unity原生对象生命周期
unity·c#·游戏引擎·gc
寂寞的船1 天前
【Unity知识速递】第6期 URP性能优化完全指南:从内存到GPU的三维调优
unity·性能优化·编辑器
寂寞的船1 天前
【Unity Bug挑战】第10期 SerializeReference 内存泄漏之谜
unity·c#·游戏引擎·bug
tealcwu3 天前
【Unity基础】为什么游戏需要物理按键映射?从 Unity Input Manager 到跨引擎输入设计
java·游戏·unity
tealcwu4 天前
【Unity高级】Unity URP:构建同时支持 2D 与 3D 场景的项目完全指南
3d·unity·游戏引擎
淡海水4 天前
10-01-互操作-C#与C++边界的内存管理
unity·c#·游戏引擎·.netcore·gc
小小数媒成员4 天前
UGUI原理(一)
开发语言·游戏·unity·游戏引擎