
UNITY
文章平均质量分 87
小小数媒成员
分享学习笔记~编程慢慢长路,寻找志同道合的朋友20岁的年纪,只管大方勇敢向前
展开
-
渲染管线和shader是什么?
渲染管线是将3D场景转为2D图像的处理流程,分为应用阶段、几何阶段和光栅化阶段。应用阶段由CPU主导,准备场景数据并输出渲染图元;几何阶段在GPU进行坐标变换等处理;光栅化阶段计算像素覆盖和颜色。DrawCall是CPU调用GPU渲染的命令,过多DrawCall会消耗CPU资源导致帧率下降。Shader是GPU可编程阶段,通过顶点着色器和片元着色器等控制渲染细节,需要配合整个渲染管线实现画面效果。原创 2025-05-29 11:58:26 · 352 阅读 · 0 评论 -
Unity—lua基础语法
Lua是一种轻量级脚本语言,采用解释执行方式,具有跨平台特性。摘要要点包括:语言特性:基于C编写的嵌入式脚本语言,支持热更新,广泛应用于游戏开发(如魔兽世界、王者荣耀)语法特点:动态类型,变量自动推导索引从1开始,table实现数组和字典功能支持多返回值函数提供元表机制实现面向对象开发应用:与C/C++混合编程(核心逻辑用C,业务逻辑用Lua)通过xLua等插件与Unity3D集成现代游戏框架如skynet的核心组件特殊机制:冒号语法糖实现方法调用迭代器遍历table原创 2025-05-26 11:10:03 · 1050 阅读 · 0 评论 -
EasySave3中文文档翻译
对于大多数项目来说,在Start()中加载,在OnApplicationQuit()或OnApplicationPause(true)中保存是有意义的。,您可以在它们的文档中找到它的位置。如果您想从程序集访问EasySave3,请将EasySave3 asmdef添加到程序集的asmdef的程序集定义引用列表中。保存和加载类、组件和ScriptableObjects的方式与保存任何其他数据的方式相同。你也可以保存和加载数组、列表、字典、队列、堆栈和哈希集,就像你保存和加载任何其他数据一样。翻译 2024-09-03 17:00:06 · 667 阅读 · 0 评论 -
动画重定向——当给一个人物模型用别人物的动画时,会遇到人物与动画不匹配问题,怎么解决呢?
我知道了答案!就是两个角色的骨骼层级结构不一样,导致的动画重定向失败我想了好多种可能的原因,一个个都试了一下,又都给排除了,发现原因无他就是骨骼层级不一致,我也试了一下能能在untiy内部解决,发现也不太能实现,导入模型软件中调整又太麻烦了(程序同学也可能不会),最好的办法就是(有时可能需要去骨骼)导入到mixamo,重新生成两个层级结构一样的骨骼,便可以调用一样的动画,便可实现动画重定向!!原创 2024-06-26 12:46:59 · 2157 阅读 · 0 评论 -
Unity-Sprite Atlas+UGUI系统的运行原理
如果两个不同的物体,使用的两个材质,只是纹理上的差别,那就把他们的纹理合并到一起,这样就可以使用同一个材质。造成CPU性能消耗的主要是渲染状态的切换导致的,例如切换到不同的材质,这会导致在图形驱动中产生密集的资源验证和切换。而调用DrawCall的次数越多,对GPU和CPU的性能开销就越大,本身电脑的性能就有限,因此我们便要减少DrawCall的次数,减轻对GPU的性能负担。【也就是说,Unity在制作一个图元,或者一个按钮,或者一个背景时,都会先构建一个方形网格,再将图片放入网格中。原创 2024-05-25 21:59:46 · 1229 阅读 · 0 评论 -
网络Http和Socket通讯(基于面试)
套接字是将IP地址与主机端口号合并在一起后的数据,IP地址定位主机位置,端口号知道通讯入口与出口,从而实现主机的数据交换Socket基于传输层实现TCP编程方式(c#)连接(三次握手)——>断开(四次挥手)——>监听,绑定(服务器开发)——>接收——>发送发送数据含头部信息,网卡里有缓存,累积之后再发怎么处理数据包处理面试问什么是数据粘包?TCP协议中,发送方发送的若干包数据到接收方接收时粘成一包,从接收缓冲区看,后一包数据的头紧接着前一包数据的尾。原创 2024-05-11 10:46:54 · 1103 阅读 · 0 评论 -
LisJson解析配置表
if (int.TryParse(number, out parseNumber)) //int.TryParse(string s, out int i) 的参数: s是要转换的字符串,i 是转换的结果。//对每个字符尝试转换。原创 2024-04-12 16:33:21 · 917 阅读 · 0 评论 -
Unity—UI
大都使用AssetBundle来加载资源,也有部分使用Unity的本地打包机制(即使用Resources这个API接口)来加载资源。在游戏开始前或在进入某个场景前预先加载一些UI,让实例化和初始化的消耗在游戏前平均分摊到等待的时间线上。代替隐藏会更好(~……把字体中的常用字拆分出来,另外生成一个字体文件,让字体文件变小,消耗内存变少。,这样在初始化时可以针对不同的对象重载,区别对待不同类型的对象。动静分离后,CPU在重绘和合并时的消耗就大大降低了。分离开来,让合并的范围缩小,,在生成和滑动UI元素时,原创 2024-03-05 13:35:58 · 689 阅读 · 0 评论 -
Unity—MVC分层开发思想
8.出售按钮点击后,背包控制器接收到数据,调用Server数据类修改JsonData底层数据,后期将数据存储在Server数据类的Data成员变量中,删除数据,不能赋值为null,必须将数据重置后,再遍历原始数据重新赋值。进入背包时,需要将首页中读取的角色拥有道具信息数据,传递过来Intatiate执行时,会调用Awake声明周期函数,同时执行的代码,会先于Start执行,所以Start可以取到传递过来的数据。在首页Start中,调用服务器模拟数据,传递给视图,最终显示。将背包控制器挂在背包页面预制体上。原创 2024-02-26 17:17:59 · 1433 阅读 · 0 评论 -
Unity—JSON
/T:C#接收类型 参数:JSON字符串//加载JSON道具表的TextAsset//获取内部文字//解析JSON//Item表对象下Data成员变量下的第一条数据下的Name成员变量(羊刀)原创 2024-02-20 19:48:03 · 3166 阅读 · 4 评论 -
热更新、Xlua中Lua调用C#代码
开发者将测试好的代码,发布到应用商店的审核平台,平台方会进行稳定性及性能测试。测试成功后,用户即可在AppStore看到应用的更新信息,用户点击应用更新后,需要先关闭应用,再进行更新广义:无需关闭应用,不停机状态下恢复漏洞,更新资源等,重点是更新逻辑代码狭义定义(ios热更新):无需将代码重新打包提交至AppStore,即可更新客户端的执行代码,即不用下载app 而自动更新程序。原创 2024-02-08 21:41:40 · 996 阅读 · 1 评论 -
Unity—配置lua环境变量+VSCode 搭建 Lua 开发环境
弹出cmd后输入lua -v并按Enter键,如果出现如下字样就说明已成功启动LuaREPL程序,配置官方二进制版本的Lua环境变量成功了。链接:https://pan.baidu.com/s/14pAlOjhzz2_jmvpRZf9u6Q?此电脑——>属性——>系统——>高级系统设置。Windows 11下配置lua环境变量。选择Lua,点击,即可编写Lua代码。打开 VSCode,安装 Lua。检查是否成功配置Lua环境变量。配置完成,打开VScode。帮忙配置lua环境变量]修改 Lua 的路径。原创 2024-01-19 20:16:59 · 1945 阅读 · 0 评论