自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(9)
  • 收藏
  • 关注

原创 关于Unity的Update

当我们调用Update时,Unity底层会辅助我们执行多想安全检查,首先将验证需要更新的注册对象是都被销毁,且仍处于活动状态,接着将检查对象是否符合激活条件,及Start方法是否已经执行,最终在目标对象通过了这些检查后,Unity还将需要确保其Update方法的可行性。当存在巨量调用的情况下就会暴露出性能问题。

2025-05-12 02:24:31 293

原创 XLua的优化

首先,C#对象被传递到Lua时,实际上传递的是一个索引,Lua这边没有与之对应的类型。接着,需要在Lua中注册C#类型的信息,这包括对象的成员方法、属性、静态方法等。然后在lua中LuaUtil.SetPos(obj, pos.x, pos.y, pos.z),这样的性能会好非常多,因为省掉了transform的频繁返回,而且还避免了transform经常临时返回引起lua的gc。PS:但个人感觉其实使用的比较少,因为除非许多常常调用的,使用的类型限制的比较死,可根据项目强行规范的情况下使用。

2025-04-30 00:23:40 362

原创 对象池的功能,和个人及项目对对象池的自适应

自动扩容的对象池对象池的功能1.反复获取某些资源会产生性能问题2.分配和释放大量对象会导致垃圾回收,频繁的GC会导致一些问题(可以去了解下)3.某种类型的资源数量是有限的,或者您想要限制它们的数量。如unity中音频数量()等4.我们的内存分配模式会导致内存碎片,这使得获取大块内存变得更加困难。连续的内存可以尽量减少内存碎片对象池的扩展1.自动扩容的对象池:根据需要自动增加容量2.跟踪对象的对象池:跟踪对象,允许我们在需要时强制释放对象。

2025-04-17 20:58:50 289

原创 shader:模型空间到世界空间法线转换

需要注意的是,这里的mul实现的矩阵乘法,当向量在左侧时,此向量相当于行向量,其中数值是与矩阵的列元素进行乘法与加法。在这里,矩阵_World2Object是矩阵_Object2World的逆矩阵。由于是法向量,因此取3x3矩阵进行计算。即法线的变换是空间变换_Object2World的逆矩阵的转置transpose(_World2Object)。模型空间-世界空间-观察空间-裁剪空间-屏幕空间。将法线从模型空间转换到世界空间。

2025-04-12 12:27:26 134

原创 关于模仿原神移动系统的问题

2.分层状态机虽然较大程度解决了普通状态机的繁琐问题但是对于ai的支持还是比较弱的,如果到时候添加战斗技能,buff,剧情动作等等起来会越来越麻烦,可能使用行为树对那些很复杂的角色行为项目来说是比较优解,我目前参与的项目多数不管玩家本身或者怪物都有自动的功能或者逻辑一般采用可视化行为树给策划编辑相对来说更方便实现,但是我也发现了问题,实现了各种行为节点,但是要合理的匹配各种顺序和行为其实是需要下功夫的,比如何时操作完进行转向或者何时抬手或者打断都需要程序有敏感的认知,不然会导致动作僵硬等问题。

2025-04-01 03:33:55 840

原创 基于xluaFrameWork框架升级2023,人物移动状态机开发

基于本框架进行升级在本框架上创建的人物移动状态机玩家输入:Input System地图:采用probuilder创建地图实体人物移动的各种动作采用分层状态机,对行为分类摄像机:采用cinemamachine对玩家跟随操作平滑转动人物核心代码是 Unity 中的一个函数,用于在给定的时间内将当前角度平滑地过渡到目标角度。它的效果类似于弹簧阻尼系统,可以避免超过目标角度。

2025-03-11 02:27:28 408

原创 vscode初始化js/ts一直加载中的问题

可能是vscode的ts版本与本地项目ts版本不一致。

2025-01-14 11:45:05 741

原创 从零unity搭建尝试版(day2)———xlua包导入

在生产实践中开发其实大部分为了更新的方便,许多公司都是采用的lua脚本开发,这里展示如何导入热更新的xlua包。下载解压后取Assets目录下的俩个文件导入项目中。后续操作可参考如下链接。

2024-09-19 00:22:45 589

原创 从零unity搭建尝试版(day1)———升级urp

1.在 Project 窗口中单击右键,然后选择 Create > Rendering > URP Asset。或者,导航到顶部的菜单栏,然后选择 Assets > Create > Rendering > Universal Render Pipeline > Pipeline Asset。3.在 Scriptable Render Pipeline Settings 字段中,添加先前创建的通用渲染管线资源。添加通用渲染管线资源时,Graphics settings 中的可用设置会立即更改。

2024-09-05 20:46:55 326

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除