note-24
发表于|更新于|图形与引擎
|浏览量:
文章作者: 岁迹
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 岁迹!
相关推荐

2026-06-27
热更新
AssetBundle和Resources资源加载的区别 对比维度 Resources AssetBundle (AB 包) 资源打包方式 自动打包,放在Assets/Resources目录下即被包含 手动打包,需通过脚本或编辑器指定资源打包 是否包含在主包 是,所有资源打包进游戏安装包 否,独立于主安装包,需单独分发 动态更新支持 不支持,修改需重新发布整个安装包 支持,可通过网络更新单个 AB 包 加载方式 Resources.Load(资源名称),无需路径细节 先加载 AB 包,再通过bundle.LoadAsset(资源名) 卸载控制 只能通过Resources.UnloadUnusedAssets()批量卸载 支持AssetBundle.Unload()单独卸载某个包 安装包体积影响 增大初始安装包体积 不影响主包体积,资源可按需下载 内存效率 整体优化,可能占用更多内存 按需加载,内存占用更可控 分平台支持 不支持分平台单独打包 支持为不同平台生成优化后的 AB 包 适用场景 小型项目、静态资源、原型开发 中大型项目、需更新资...

2026-06-27
SurviveShootGame
角色移动通过RigidBody组件,Capsule Collider组件角色添加碰撞器以刚体组件,通过Player Movement脚本挂载到人物的模型上移动 1234567891011121314151617181920212223242526using UnityEngine;public class PlayerMovement : MonoBehaviour{ public float MoveSpeed = 6f; private Rigidbody rb; //private CharacterController player; private void Awake() { rb = GetComponent<Rigidbody>(); //player = GetComponent<CharacterController>(); } private void FixedUpdate() { float x = Inp...

2026-06-27
UnityGameFramework
GF与UGFGameFramework(GF)与UnityGameFramework(UGF)是UnityGameFramework框架的两个核心组成部分,它们的关系和区别主要体现在设计目标、依赖关系和功能分工上。 🔧 1. 核心定位与设计目标 GameFramework (GF):是框架的核心逻辑层。它包含了对象池、事件系统、流程控制、资源管理等19个核心模块的具体实现 。其关键设计目标是与Unity引擎解耦,这意味着GF本身是一个纯C#类库,不引用任何Unity的API,因此理论上可以移植到其他C#环境中 UnityGameFramework (UGF):是GF在Unity引擎上的适配层或“外壳”。它负责将GF的核心功能与Unity引擎的具体实现(如GameObject、AssetBundle、编辑器扩展)连接起来。UGF通过继承MonoBehaviour的组件(Component)来接收Unity的生命周期事件,并作为桥梁,让游戏逻辑层能够通过UGF调用GF的功能 简单来说,GF是独立于引擎的“大脑”和“规则”,而UGF是专为Unity定制的“手脚”和“接口” 📦...

2026-06-27
框架模块
单例模式单例模式(Singleton Pattern)是一种创建型设计模式,它确保一个类只有一个实例,并提供一个全局访问点。这种模式常用于需要全局访问点的对象,如配置管理器、游戏管理器等。 唯一性:确保一个类只有一个实例存在 全局访问:提供全局访问点 延迟初始化:通常采用懒加载方式创建实例 unity中的泛型单例,并且继承了MonoBehaviour,确保能够挂载到场景中的物体上,同时能够使用自带的生命周期函数,以及类型OntriggerEnter之类的物理事件 123456789101112131415161718192021222324252627282930313233343536373839public class Singleton<T> : MonoBehaviour where T : Singleton<T>{ private static T instance; public static T Instance { get { r...

2026-06-27
银河恶魔城
玩家状态机采用了状态机模式,将玩家的不同状态(如闲置和移动)封装到不同的类中,通过状态机来管理状态的切换。 1. Player.cs内容及作用 这是玩家角色的核心脚本,负责管理玩家的基本属性、状态机以及一些基本的行为。 属性: moveSpeed:玩家的移动速度。 wallCheck、wallCheckDistance、groundCheck、groundCheckDistance、whatIsGround:用于检测碰撞,如墙壁和地面。 facingRight、facingDir:控制玩家的朝向。 anim、rb:分别是玩家的动画控制器和刚体组件。 stateMachine、IdleState、MoveState、jumpState、airState:用于管理玩家的状态。 方法: Awake():初始化状态机和各种状态。 Start():获取动画控制器和刚体组件,并将玩家初始状态设置为 IdleState。 Update():每帧更新当前状态。 SetVelocity():设置玩家的速度,并根据速度控制玩家的朝向。 IsGroundDetected():检测玩家是否在地面上。...

2026-06-27
Unity性能优化
性能工具性能问题本质是什么? CPU忙不过来:脚本逻辑、物理、动画、AI、UI计算太多 GPU画不过来:画面太复杂、透明太多、Shader太重、阴影后处理太狠 内存/GC:突然卡一下(尤其是移动端) 加载/IO:进场景、切关卡、打开界面时卡 Profile就是来说明是那个部分在拖后腿 ProfilerUnity 中有两种 Profiler:普通 Profiler 和 Profiler(Standalone Process)。两者的界面和功能基本一致,区别在于普通 Profiler 运行在 Unity Editor 进程内,会对性能产生一定额外开销,可能影响分析结果;而 Standalone Process 以独立进程运行,对主进程干扰更小,数据更接近真实表现。因此,小型项目或日常调试可使用普通 Profiler,而在大型项目或进行精确性能优化时,更推荐使用 Standalone Profiler。 上面:时间轴(Timeline) 像心电图,看到尖峰就说明那帧很慢(卡了)。 中间:模块图(CPU/GPU/Memory等) 选哪个模块...
公告
记录游戏客户端开发、项目复盘和个人成长。