- 博客(66)
- 收藏
- 关注
翻译 EasySave3中文文档翻译
对于大多数项目来说,在Start()中加载,在OnApplicationQuit()或OnApplicationPause(true)中保存是有意义的。,您可以在它们的文档中找到它的位置。如果您想从程序集访问EasySave3,请将EasySave3 asmdef添加到程序集的asmdef的程序集定义引用列表中。保存和加载类、组件和ScriptableObjects的方式与保存任何其他数据的方式相同。你也可以保存和加载数组、列表、字典、队列、堆栈和哈希集,就像你保存和加载任何其他数据一样。
2024-09-03 17:00:06
572
原创 动画重定向——当给一个人物模型用别人物的动画时,会遇到人物与动画不匹配问题,怎么解决呢?
我知道了答案!就是两个角色的骨骼层级结构不一样,导致的动画重定向失败我想了好多种可能的原因,一个个都试了一下,又都给排除了,发现原因无他就是骨骼层级不一致,我也试了一下能能在untiy内部解决,发现也不太能实现,导入模型软件中调整又太麻烦了(程序同学也可能不会),最好的办法就是(有时可能需要去骨骼)导入到mixamo,重新生成两个层级结构一样的骨骼,便可以调用一样的动画,便可实现动画重定向!!
2024-06-26 12:46:59
1853
原创 Unity-Sprite Atlas+UGUI系统的运行原理
如果两个不同的物体,使用的两个材质,只是纹理上的差别,那就把他们的纹理合并到一起,这样就可以使用同一个材质。造成CPU性能消耗的主要是渲染状态的切换导致的,例如切换到不同的材质,这会导致在图形驱动中产生密集的资源验证和切换。而调用DrawCall的次数越多,对GPU和CPU的性能开销就越大,本身电脑的性能就有限,因此我们便要减少DrawCall的次数,减轻对GPU的性能负担。【也就是说,Unity在制作一个图元,或者一个按钮,或者一个背景时,都会先构建一个方形网格,再将图片放入网格中。
2024-05-25 21:59:46
1161
原创 网络Http和Socket通讯(基于面试)
套接字是将IP地址与主机端口号合并在一起后的数据,IP地址定位主机位置,端口号知道通讯入口与出口,从而实现主机的数据交换Socket基于传输层实现TCP编程方式(c#)连接(三次握手)——>断开(四次挥手)——>监听,绑定(服务器开发)——>接收——>发送发送数据含头部信息,网卡里有缓存,累积之后再发怎么处理数据包处理面试问什么是数据粘包?TCP协议中,发送方发送的若干包数据到接收方接收时粘成一包,从接收缓冲区看,后一包数据的头紧接着前一包数据的尾。
2024-05-11 10:46:54
1068
原创 LisJson解析配置表
if (int.TryParse(number, out parseNumber)) //int.TryParse(string s, out int i) 的参数: s是要转换的字符串,i 是转换的结果。//对每个字符尝试转换。
2024-04-12 16:33:21
907
原创 无重复字符的最长子串
/1.上一个此字符出现的位置,用当前下标减去上一个位置下标。//记录当前字符的位置 当作之后比较这个字符上次出现在i位置。//2.前一个字符,往前推了多远,用前一个位置推的长度加一。//当前字符推的长度与之前字符推的长度里最大的作比较。//将当前字符推的长度当作下一轮比较的上一个位置长度。//两个因素哪个推的远要哪个,记录当前字符推的长度。//从一位置开始遍历,以此推断往前能推多远。//上一个位置,往左推了多长,初始值为1。,请你找出其中不含有重复字符的。//从1开始,0位置记在0位置。
2024-03-30 10:55:52
305
原创 【让所有司机获得总体最多的分配问题】
第i个司机去A可得收入为income[i][0],第i个司机去B可得收入为income[i][1],返回所有调度方案中能使所有司机总收入最高的方案是多少钱?0[9,13] 表示0号司机去A收入9元,去B收入13元;0号司机可去A,也可去B。//说明B区域已经满了,当前司机一定要去A区域income[index][0]//说明A区域已经满了,当前司机一定要去B区域income[index][1]1[9,13] 司机可去A,也可去B。2[9,13] 司机可去A,也可去B。6[9,13] 司机可去A,也可去B。
2024-03-29 21:28:22
295
原创 Unity—UI
大都使用AssetBundle来加载资源,也有部分使用Unity的本地打包机制(即使用Resources这个API接口)来加载资源。在游戏开始前或在进入某个场景前预先加载一些UI,让实例化和初始化的消耗在游戏前平均分摊到等待的时间线上。代替隐藏会更好(~……把字体中的常用字拆分出来,另外生成一个字体文件,让字体文件变小,消耗内存变少。,这样在初始化时可以针对不同的对象重载,区别对待不同类型的对象。动静分离后,CPU在重绘和合并时的消耗就大大降低了。分离开来,让合并的范围缩小,,在生成和滑动UI元素时,
2024-03-05 13:35:58
672
原创 Unity—MVC分层开发思想
8.出售按钮点击后,背包控制器接收到数据,调用Server数据类修改JsonData底层数据,后期将数据存储在Server数据类的Data成员变量中,删除数据,不能赋值为null,必须将数据重置后,再遍历原始数据重新赋值。进入背包时,需要将首页中读取的角色拥有道具信息数据,传递过来Intatiate执行时,会调用Awake声明周期函数,同时执行的代码,会先于Start执行,所以Start可以取到传递过来的数据。在首页Start中,调用服务器模拟数据,传递给视图,最终显示。将背包控制器挂在背包页面预制体上。
2024-02-26 17:17:59
1404
原创 Unity—JSON
/T:C#接收类型 参数:JSON字符串//加载JSON道具表的TextAsset//获取内部文字//解析JSON//Item表对象下Data成员变量下的第一条数据下的Name成员变量(羊刀)
2024-02-20 19:48:03
3045
4
原创 热更新、Xlua中Lua调用C#代码
开发者将测试好的代码,发布到应用商店的审核平台,平台方会进行稳定性及性能测试。测试成功后,用户即可在AppStore看到应用的更新信息,用户点击应用更新后,需要先关闭应用,再进行更新广义:无需关闭应用,不停机状态下恢复漏洞,更新资源等,重点是更新逻辑代码狭义定义(ios热更新):无需将代码重新打包提交至AppStore,即可更新客户端的执行代码,即不用下载app 而自动更新程序。
2024-02-08 21:41:40
977
1
原创 Lua语法
对两个字符串相加时,会将它们转换为数字类型,转换失败会报错,如果转换成功,则进行加运算后,得到数字结果。作业二:使用函数将无固定值的参数进行排序(冒泡),并返回参数个数及数据构成的。,虽然是局部变量,但是作用域为当前文件,所以在循环体内,可以取得值。是函数结构,是一个代码片段,可以重复调用执行,有参数有返回值。:查找的内容,返回值:起始找到的位置下标和结束找到的位置下标。索引开始,索引连续的数据个数,中间断开,计数结束。参数一:需要被格式化的字符串,其中包含占位符,初始化时,对于没有索引的值,索引是从。
2024-02-08 15:13:26
1623
原创 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
1866
原创 C#语言高阶开发
数据结构描述数据之间的关系行为:添加数据、删除数据、插入数据、查找数据追加数据:向结构的末尾添加一个数据删除数据:向结构中删除指定的数据插入数据:向结构中某位置插入指定的数据查找数据:可以查找并访问到该数据修改数据:对该结构指定的数据进行重新赋值链式,是非连续的内存空间,是每个数据分成三部分头、数据、尾,每个数据的尾部连接下一个数据的头部所以在内存不是连续的空间,而是一个一个的空间,通过头尾地址连接在一起集合Collection是C#写好的数据结构类库。
2023-11-22 16:26:27
1442
1
原创 二叉树算法
二叉树二叉树节点结构Class Node{V value; Node left; Node right;} 【搜索二叉树】:对于每一棵子树来说,左树节点都比它小,右树节点都比它大 【完全二叉树】:最后一层满或从左到右依次变满判断方式:二叉树按宽度来遍历依次遇到每个节点过程中,出现情况:1) 遇到任何一个节点,如果有右孩子,没左孩子,直接返回false2)在1)成立条件下,如果第一个左、右两孩子不双全,后续遇到所有皆为叶节点,否则false 方法一:先求树的最大深度l,再统计树的节点个数N。满足N
2023-08-02 11:51:04
419
原创 链表的算法
哈希表的简单介绍有序表的简单介绍有序表的固定操作单链表结构双链表结构笔试:方法一:1—>2—>3—>3—>2—>1,依次放到栈里,从栈里弹出的顺序与原链表逆序的顺序对比方法二:用N2方法,找快慢指针;左边开始遍历,每遍历一个,栈弹出一个对比怎么只把右部分放入栈里去?快慢指针 快指针每次走2步,慢指针每次走1步快指针走完时,慢指针来到中间位置,这时把慢指针后边放入栈里去快指针每次走2步,慢指针每次走1步快指针走完时,慢指针来到中间位置A如果A,B每步都一样则回文。
2023-07-30 09:55:42
321
原创 排序算法汇总
一个操作如果和样本的数据量没有关系,每次都是固定时间内完成的操作,叫做常数操作时间复杂度为一个算法流程中,常数操作数量的一个指标。常用O(读作bigO)来表示。具体来说,先要对一个算法流程非常熟悉,然后去写出这个算法流程中,发生了多少常数操作,进而总结出常数操作数量的表达式。在表达式中,只要高阶项,不要低阶项的系数,剩下的部分如果为f(N),那么时间复杂度为O(f(N))评价一个算法流程的好坏,先看时间复杂度的指标,然后再分析不同数据样本下的实际运行时间,也就是“常数项时间”
2023-07-26 19:03:12
1261
3
原创 Unity——2D小游戏笔记整理
【每日一句:清晨和夜晚都请用尽全力去生活】1.瓦片地图Tilemaps创建 2DObject——>Tilemap——>Rectangular瓦片集 Sprite Mode从Single改为MultiplePixel Per Unit值从100更改为642.添加瓦片地图碰撞:组件选择的瓦片不再被视为碰撞体:在Inspector找到Collider Type属性,Sprite更改为None优化瓦片地图碰撞体组件,会自动添加Rigidbody2D,在Tilemap Collider2D,
2023-06-02 22:06:11
1741
原创 Unity—游戏设计模式+GC
"少年一贯快马扬帆 道阻且长不转弯 要盛大要绚烂要哗然 要用理想的泰坦尼克去撞现实的冰川 要当烧赤壁的风而非借箭的草船 要为一片海就肯翻万山。如何避免产生常见的Unity垃圾?
2023-02-17 12:47:39
1238
3
原创 Unity——第一/三人称控制器的使用
第一人称控制器MainCameraPlayerCapsule PlayFollowCamera—>相机跟随 PlayerCameraRoot第三人称控制器PlayerArmature MainCamera PlayerFollowCamera—>Follow:PlayerArmature子物体的PlayerCameraRoot1.把机器人的模型换成人物的2.PlayerAramature的Avater组件的Avater
2023-02-07 17:58:35
874
原创 Unity—对话系统&&GalGame游戏文字对话制作
/获取Text的文本信息,保存到words中,然后动态更新文本显示内容,实现打字机的效果。"诸天神尊牺牲毕生修为,献祭无上神器,才得以斩杀魔神。"过去镜指出,五百年前的魔王,原身是个凡人,叫澹台烬。"那一战,众神陨落,神器破碎,换来了,世间万年安宁。"自古魔王能号令天下魔物,因其天生邪骨,超脱六界。"那时的魔王还是凡人,你要抽出他邪骨,阻止他觉醒。"上古时期,魔神出世,颠覆六界,屠戮生灵""他残忍嗜血,暴虐无道,比上古魔神更甚。"然而万年后,第二位魔神横空出世,""师父,师妹年纪还小,让我代她吧"
2023-02-07 17:13:59
3534
2
原创 Unity背景移动特效
第一步、确保所要滚动的图像:Wrap Made—Repeat第二步、画布下滚动图像使用 Raw Image组件(可以访问UV)第三步、创建脚本ScrollControl挂载在滚动图像上
2023-02-02 20:59:35
605
原创 Unity—委托
有一处不确定的,其余代码都是确定好的,这个不确定的部分,就靠传进来的委托类型的参数所包含的这个方法来填补,所以一定是有返回值Func委托类型的参数方法。委托是一个引用类型,将委托当作方法的参数,传递到别的方法中,间接的去调用委托所封装的方法,从而形成动态调用方法的代码结果。委托myDelegate指向的目标方法是一个[参数列表为空][返回值为void类型]的方法【目标兼容】//声明委托类型的变量间接的调用方法。这个委托类型的实例,可以和任何其他方法相关联起来,即可以存储这些方法的引用只要。
2023-01-13 18:07:50
4174
原创 Unity—事件
事件是委托类型字段的包装器、限制器,限制外界对委托类型字段的访问,委托类型字段通过事件包装、限制后,外界只能去访问它的+=、-=操作符(添加/移除事件处理器),提供了与之匹配的事件的事件处理器,能够记录、引用方法的这个任务,只有。事件不能在外部直接调用,只有事件的拥有者通过某些内部逻辑才能触发。并且会去使用委托类型的实例去储存方法的引用,去储存 事件处理器。//声明委托类型的字段,将会去存储,引用副委员的事件处理器。/为什么事件是基于委托的?+=事件响应者的事件处理器(来订阅OnOrder事件)
2023-01-13 15:40:42
1718
原创 Unity—UGUI
Text Component 输入文本组件Text输入内容Character Limit 输入字符限制,0不限制Content Type输入文本内容类型Placeholder提示本文组件Caret Blink Rate光标闪烁频率Caret Width光标宽度Custom Caret Color是否自定义光标颜色Selection Color选中文本的颜色 切换按钮把两个Toggle放在一个空物体里,在空物体上加Toggle Group组件 Mask遮罩 需要框的Image有颜色,想要不显
2022-12-05 13:41:34
933
原创 Unity常用的三种拖拽方法(内置方法 + 接口 + Event Trigger组件)
目录内置方法OnMouseDrag【对象含有Collider组件】配对小游戏Event Trigger组件接口窗口小案例OnMOuseOver()检测鼠标是否进入到这个2D贴图经验:只会在2D场景贴图和3D场景中使用OnMouseDrag等内置方法 调整Sorting Layer渲染层顺序Event Trigger—>Add New Event Type根据不同的事件类型实现不同的交互效果 引用 using UnityEngine.EventSystems命名空间接口中方法没有方法体的,接口的成
2022-12-03 12:50:19
9718
原创 Unity—项目小技术总结
可以在协程中调用异步加载场景的方法,然后暂停协程,等待当前一帧结束,然后更新进度条,反复之后,就完成进度条显示进度加载场景效果。// 缩放 Input.mouseScrollDelta.y当前的鼠标滚动增量。属性instance保证了它可以通过类访问,而不是通过实例访问。//异步加载到90%左右停住,防止加载完毕后直接切换场景。//允许在场景准备就绪后立即激活场景。// 计算单位时间内鼠标的偏移量。// 计算单位时间内鼠标的偏移量。①做一个Panel,放背景。"按下任意按键,继续……
2022-11-04 19:26:10
1939
6
原创 Unity—反向动力学IK
一般来说,骨骼动画都是传统的从父节点到子节点的带动方式(即正向动力学),IK则倒过来,由骨骼子节点带动骨骼父节点。根据骨骼的终节点来推算其他父节点的位置的一种方式。比如人物走路踩到了石头,就需要由脚的子节点带动全身骨骼做出踩到石头的响应。
2022-11-04 13:42:25
1735
原创 Unity常用API方法与类+物体移动、旋转方法+习题
当脚本第一次挂载到对象身上或者使用了Reset命令之后会调用一次初始化脚本的各个属性,Reset最常用于在检视面板中提供良好的默认值此函数只能在编辑器模式下(不运行)调用在脚本实例的生存期内,Unity仅调用一次,脚本的生存期持续到包含它的场景Unity调用的每个GameObject的Awake的顺序是不确定的,人为干涉(即设计)来保证程序Awake来代替构造函数进行初始化,在Unity里组件的初始化不使用构造函数每次游戏物体或脚本被激活都会调用一次即使重复赋值,还会变为初始状态a.游戏物体被激活。
2022-09-23 20:22:59
1435
原创 物理射线、导航网格寻路
射线检测需求1.物体射线到一定距离会改变物体状态(降落伞)需求2.鼠标点哪走哪.寻路+射线/点击小地图,人物到达指定位置需求3.做准心效果【射线碰到物体有UI跟随效果】寻路系统实现寻路方法、步骤:Bake(烘焙)参数NavMeshObstacle 动态障碍物Off Mesh Link
2022-09-08 21:34:26
286
原创 Unity—Mecanim动画系统
目录Mecanim动画系统新特性常用名词:步骤:模型动画的导入Animator动画状态机Mecanim BlendTree(混合树)Mecanim BlendTree2DMecanim层设置(Layer)动画事件判断动画是否在播放
2022-08-16 14:21:59
1010
原创 Unity—协程
目录协程概念理解:Unity协程实现主要组成使用协程的注意事项练习:物体本身白色,点击攻击按钮,物体变为红色,两秒后变为原来颜色练习:让立方体沿指定路线移动+在路点处停两秒...
2022-08-13 21:29:12
964
原创 C#集合(泛型集合与非泛型)
列表 ArrayList ListArrayList字典Hashtable DictionaryHashtable(哈希表)字典嵌套字典堆栈 Stack (后进先出) Stack对列 Queue(先进先出) Queue
2022-08-12 14:32:33
362
原创 UGUI—事件,iTween插件
目录UGUI事件事件注册:·通过编辑器绑定方法·AddListener·实现接口·自定义框架iTween动画库自动布局组控件Grid Layout GroupHorizontal Layout GroupVertical Layout Group
2022-08-09 14:38:47
793
原创 Unity—UGUI控件
目录UGUI控件Canvas画布需求:UI是UI,3D是3DRect Transform矩形变换API:Button控件Text文本标签Image图片SliderInput Field输入框表格自动布局组件 Grid Layout Group
2022-08-08 11:32:08
410
原创 Unity—物理引擎+“武器模块”
目录物理引擎刚体Rigidbodyˈrɪdʒɪd/碰撞器collider/kəˈlaɪdə(r)/碰撞条件碰撞三阶段触发器触发条件触发三阶段如果物体移动速度过快,碰撞检测失效—>解决方案:开始时,使用射线检测武器模块枪策划需求分析子弹敌人子弹...
2022-08-04 09:02:47
1233
原创 Unity—四元数、欧拉角API+坐标系统
目录练习:计算物体右前方30度,10m远的坐标练习:计算爆炸点到玩家两个切点坐标//投影测试ProjectOnPlane将当前物体移动(要过程)(欧拉角)四元数API练习:根据用户输入的方向旋转角色,并向前移动坐标系统Unity坐标系World SpaceLocal SpaceScreen SpaceViewport Space坐标系转换Local Space—>World SpaceWorld Space—>Local SpaceWorld ...
2022-08-01 13:36:20
820
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人