分类: 游戏引擎

39 篇文章

thumbnail
Unity 的 RVO 避障
概述 在Unity的NavMesh官方文档中提到,转向逻辑采用下一个拐角的位置并基于该位置计算出到达目标所需的方向和速度,但使用所需的速度移动物体可能会导致与其他物体发生碰撞。 动态避障系统将选择新的…
thumbnail
Unity 之 Playable
Unity常见动画方案 Animation:使用简单,但功能太少 Animator + AnimatorController:好用且功能多,但有一定束缚 Animator + Playable:使用麻…
thumbnail
UnityProfiler 小 Tips
Unity下常见的等待函数 WaitForTargetFPS:等待达到目标帧率,一般这种情况CPU与GPU都没什么负载问题; Gfx.WaitForGfxCommandsFromMainThread/…
thumbnail
Unity 之 GPU Instancing
简述 指示GPU绘制图像需要花费时间。为其提供数据(包括网格和材质属性)也需要时间。我们已经知道有两种方法可以减少DrawCall的数量,即静态和动态批处理。 Unity可以将静态对象的网格合并为更大…
thumbnail
Unity 之 Static Batching
如果我们需要渲染1000个三角形,那么把它们按1000个单独的网格进行渲染(1000次DrawCall)所花费的时间要远大于直接渲染1个包含了1000个三角形的网格(1次DrawCall)。使用批处理…
thumbnail
Unity 与 Mono 与 IL2CPP 与 .NET
概述 在了解 Mono 前,首先要知道一个 .NET 语言(如C#)在编译成本地代码的过程中发生了什么: 阶段一(编译期):翻译成CIL 我们知道 C++ 经过预编译、编译、汇编、连接等步骤后会直接生…
thumbnail
Unity 的资源加载方式对比
静态引用 即在脚本中创建public变量或Serializable特性修饰的变量,然后在Inspector窗口中通过拖拽挂载到物体上; 优点 简单粗暴快捷,刚学Unity的时候就喜欢用这玩意orz 缺…
thumbnail
Unity 中的 SpriteAtlas 精灵图集
概述 2D项目使用Sprite和其他图形来创建其场景的视觉效果。这意味着单个项目可能包含许多纹理文件。Unity 通常会为场景中的每个纹理发出一个DrawCall;但是,在具有许多纹理的项目中,多个绘…
thumbnail
Unity 的 ScriptableObject
简介 Unity官方说法:ScriptableObject 是一个可独立于类实例来保存大量数据的数据容器。ScriptableObject 的一个主要用例是通过避免重复值来减少项目的内存使用量。如果项…