自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Unity小白工作心得(无限记录)

24届毕业,11月才找到工作在一家小公司。也是最重要的一点,解决bug一定要头脑清晰,不知道大家有没有解决一会就头晕目眩,发现一个bug想要解决他,结果又出现另一个,然后出现下一个,无限循环,越解决一会发现问题越多,我的体会是 当你搜索了很多内容都迟迟无法解决的时候,就是放下后面出现的问题,去仔细想为什么会出现这个bug,去猜测很有可能是哪里出问题,在你不断搜索和思考有了一点点思路的时候,再去问身边人,或者付费求助,能加深自己的理解,心态不要崩就是胜利(๑•̀ㅂ•́)و✧。

2025-01-02 15:22:38 406

原创 Unity背包道具拖拽(极简版实现)

这里是使用了pointerCurrentRaycast,也就是当前触碰到的物体的信息,注意是当前,也就是只有一个,所以当我们想要拖动一个道具放到格子中的时候,一定会先触碰到当前道具,所以还需要CanvasGroup组件,当道具开始挪动的时候,将blocksRaycasts设为false,也就是当前道具不能被射线检测,这样就可以检测到道具。因此,在这种情况下,eventData.position 提供的屏幕坐标可以直接应用于这些 UI 元素的 Transform 组件。鼠标在一帧内的移动距离。

2024-12-12 14:29:17 445

原创 Target or field is missing/null () ► The object of type ‘BulletObj‘ has been destroyed but you are s

Dotween 包含 Tweener 和 Sequence:Dotween 作为整个动画系统的框架,提供了创建 Tweener 和 Sequence 的接口。你通过调用 Dotween 提供的方法(如 DOMove、DOFade 等)来生成 Tweener 实例,并使用 DOTween.Sequence() 方法来创建 Sequence 实例。Tweener 和 Sequence 都是 Dotween 提供的具体实现类,用来表示不同的动画逻辑。Tweener 和 Sequence 的关系。

2024-12-10 17:08:27 233

原创 Unity SpriteRenderer和UGUI渲染问题

SpriteRenderer是永远在Canvas后面的 也就是UI永远在前面 为UI添加Sorting Group也没有用 有一种简单的解决方法 就是背景与人物都用SpriteRenderer 直接控制他们两个的渲染层级就好了 需要同步显示的UI就显示就好了 把不该显示的UI隐藏。

2024-12-10 11:03:59 227

原创 C#float基础问题

2.所以说当float和int相乘 结果转为int就会出现误差,100*0.03转为int本应该等于3,但是0.3实际上得到的结果可能是略小于3的一个数,C#会简单地截断小数部分,而不是进行四舍五入,所以结果为2。1.不是所有的十进制小数都可以精确地用二进制表示,比如 0.03就是一个不能被精确表示的例子,它的实际存储值会稍微小于或大于0.03,可能是2.99999999。

2024-12-05 18:10:41 154

原创 TimeSpan和DateTime

2.TimeSpan的相减是时间段与时间段之间相减,得到的也是Timespan类型,代表两个时间段的差。1.DateTime的相减是日期与日期之间相减,得到的是Timespan类型,代表两个时间点的差。对象,该对象表示从公元0001年1月1日午夜12:00:00开始到当前时间为止的时间间隔。这行代码在C#中用于创建一个。

2024-11-28 18:05:47 353

原创 Unity UI射线检测 道具拖拽

最关键的一步也就是松鼠标这里,这时候就可以用到之前记录的父节点了,然后我们根据需求去判断就可以了,比如物体合成,A物体和B物体的标签是否一致(如果射线检测的物体顺序不好控制,也可以先将A物体的标签在移动时就换了,在放置时再换回去);物体到了不该放的位置,调用Begin中记录的初始位置即可。如果是按照上面的思路,我们在拖拽的时候会产生一个问题,因为格子的渲染层级问题,我们在拖拽道具的时候,是会被后渲染的格子挡住的,所以我们在拖拽的时候,应该将他放入一个渲染更靠后的Gameobject中即可。

2024-11-21 14:21:00 693

原创 Unity点击一次Button触发多次事件

(1)是因为在Unity中,如果你在界面不激活的情况下没有取消按钮的监听,可能会导致事件重复执行的问题。这是因为当你再次激活界面时,按钮的监听事件会被重新添加,而之前的监听事件并没有被移除,从而造成了重复监听。(2)所以说如果需要重复初始化界面,应该避免重新为Button监听事件。

2024-11-20 19:46:48 209

原创 Unity基础问题

如果父类中使用了Update,子类一定要记得删除自己的Update,或者通过虚方法 override重写,很小的问题,一直没反应过来哪出了问题。

2024-11-04 18:41:57 132

原创 关于四元数的使用

设置一个四元数 以y轴方向旋转20度 我们想让绕本地轴进行旋转 就乘在前面 这样就相当于。注意:轴 Vector3.right是以自己的坐标系右侧 并不是世界坐标系右侧。返回一个新向量 相当于旋转向量。乘法顺序决定了绕世界还是自己。两个旋转量的叠加 相当于旋转。

2024-09-10 12:05:12 320

原创 IPointerclickhandler 不生效

以前不熟悉Unity 导致文字上也绑定了一个 好坑。

2024-08-02 11:46:14 220

原创 继承Mono不能使用构造函数 可以用Awake or Start替代

继承Mono不能使用构造函数 可以用Awake or Start替代。

2024-07-19 14:28:52 420

原创 LuaException: c# exception:[string “TestUI“]:65: function arguments expected near ‘:‘,stack: at XLu

lua脚本中有错误。

2024-07-19 13:52:37 149

原创 Unity宏和编辑器

包裹那些想要在编辑器模式下使用的代码 而在Unity运行时不会去调用的代码。:UNITY_EDITOR 等等。:Unity未运行时的状态。

2024-07-13 13:41:23 960

原创 C#用链表和数组实现队列

【代码】C#用链表和数组实现队列。

2024-07-05 17:00:10 428

原创 C#用链表和数组分别实现堆栈

(2)Pop和Enlarge 核心就是数组满了以后 创建一个新数组 将旧书组中的元素放入新数组 然后再将新数组赋值给旧数组即可。(1)数组就是会更麻烦一点 不过可以加深对数组和栈的理解。(3)栈是先进后出 所以只需要着重处理数组的末尾索引即可。实现栈的四个基本功能 入栈 出栈 长度 栈顶值。

2024-07-05 16:33:44 452

原创 Unity丧尸围城Demo总结

(1)首先要设置看向的人物,摄像机的偏移(偏移多少),看向人物的偏移(头还是脚),移动速度和旋转速度。子类面板继承BasePanel,UIManager实现动态创建面板,展示面板,隐藏面板,得到面板。(2)canvas设置为预制体,将新创建的面板设置为该子类。(3)面板和预制体名字一致。

2024-07-03 14:28:32 312

原创 Lua、AB包热更新总结

(1)一个资源用到了其他AB包中的资源 此时 如果只加载这个资源 不加载依赖资源的AB包 就会出现材质丢失 所以又要加载该资源 也要加载其他AB包 但是依赖资源太多就会很麻烦,所以使用主包加载这些依赖资源。(3)热更新流程:客户端自带很少的默认资源,通过获取资源服务器地址,再通过文件对比资源服务器的资源,检测哪些是需要下载的,就是AB包。(2)使用该方法的缺点就是,会加载出全部的依赖资源,但不知道谁需要用,A依赖1资源,B依赖2资源,加载的时候会加载1和2资源。(3)AB包生成的文件。

2024-07-02 15:54:53 526

原创 Unity Shader学习记录(持续更新)

对渲染管线中的数据进行自定义处理来决定最终呈现的渲染结果。部分为唐老师课程中的。

2024-06-25 13:06:25 278

原创 Unity太空避障Demo总结

(1)最后通过Main放置在游戏场景,当进入场景时,根据选择的id创建飞机,初始化变量,更新界面的ui,其实放在GamePanel中也是一样的,都可以。(3)上下左右四个点的旋转角度是180度,四个角旋转角度都是90度,这样子弹才能合理地发射在屏幕内。:会得到一个新的四元数,大多数用于旋转量相乘,相当于旋转(这个旋转的坐标是物体自身的坐标系)(2)通过点击鼠标左键可以实现对飞机的拖动 观察飞机的整体。(1)当飞机左右移动时,需要有一定的倾斜,停止时恢复。(2)炮口的初始角度(为了方便开火点四元数的计算)

2024-06-24 16:47:58 708

原创 Unity基础练习与总结

【代码】Unity基础练习与总结。

2024-06-20 11:09:49 363

原创 Unity坦克迷宫Demo总结

(4)同时还可以使用override重写父类中的ShowPanel和HidePanel方法,保留父类就是base.ShowPanel(),不想保留就删除,同时下面写出想要执行的方法即可,这样就可以在显示或隐藏面板时,同时做一些事。(2)开火:我方坦克和敌方坦克有不同的开火逻辑,所以可以写成抽象类,方法自然就写成抽象方法,子类重写实现开火即可。(1)武器主要是创建子弹,以及设置开火口,最后设置一下父对象(武器拥有者)(3)受伤:虚方法,直接写逻辑,我方和敌方受伤逻辑一致,不同的内部重写。

2024-06-16 20:56:00 1562

原创 Unity常用类和组件总结(持续更新)

【代码】Unity常用类总结(持续更新)

2024-06-08 14:37:26 478

原创 Unity Sprite加载不到

图片有可能是Sprite的 但是Sprite Mode Unity没有自动选择 要养成好习惯。

2024-06-07 17:28:01 267

原创 Unity Animotor空白报错

报错空引用 而且Animator整个界面都是空白的 直接重启。

2024-06-05 11:13:28 171

原创 unity Scene窗口不显示线框原因

翻译:在场景视图中切换所有 Gizmos 的可见性。

2024-05-31 18:07:47 735

原创 Unity按钮断点不执行

可能是层级太靠高了,按钮先渲染,面板后渲染,导致被挡住了。

2024-05-29 15:35:30 266

原创 Unity animation 事件不执行

答案就是事件帧一定要在动画播放之内,仔细看看不要超出动画播放时间。如果没执行看看超出了一毫秒,反正不报错真的想不到哪出问题。

2024-05-25 18:49:21 367

原创 C# 力扣螺旋矩阵II 你一定能学会!

*(4)**变量问题,只需要两个变量作为标识即可,因为我们要的答案无非就是便利每一行每一列,只要遵循这个原则,不难写出strat = 0,end = n - 1,不需要写那么多变量。**(2)**边界问题,那每一个数组我还是习惯用左闭右开。比如第一行,左闭右开是1、2 不包括元素3的,也就是再下次循环中是从3开始的,所以下次循环3、4不包括5的。交错数组就是数组的数组,它和二维数组的区别在于,二维数组[,]每行的列数相同,而交错数组[][]每行的列数可能不能,它只能初始化行数,不能初始化列数。

2024-05-25 15:34:47 430

原创 C#二叉树力扣题逐行详解 初学者必看(题目会更新)

(2)(结合如下图和代码 代入思考)流程:根据root节点,先判断左节点是否为空,不为空就递归调用,直到传入节点的左节点(红left)为空,就添加传入的节点(红left),随后判断右节点是否为空,不为空就递归调用。之后返回上一层,那刚才传入的节点(红left)就是上一层的左节点,所以添加上一层的节点,之后在判断右节点,然后再返回上一层,直到最后添加root根节点就算结束。这里我们先看关于深度优先的三道题,分别是前序(中左右)中序(左中右)后序(左右中),二叉树的定义和链表类似,多写,刚开始记不住就背下来。

2024-05-22 12:15:02 1997 1

原创 初学者刷力扣的碎碎念

2.不要钻牛角尖,如果你看不懂答案说明是想得太多了,应该直接带个值在脑海中模拟一遍流程,哪里不顺,哪里有问题,不行就画图,没必要特立独行非要写出个属于自己的方法,别人的方法能用顺也是很了不起的事。3.做题需要有限制时间,以后简单题最长时间不超过40分钟,中等题不超过80分钟,超过了就直接放弃,题目很多很多,做不出来看不懂答案,也要接受目前自己能力不够。4.一个好心态,心态的稳定太重要了,做不出来也要学会安慰自己,自己就是笨,怎么会那么快就做出来呢?加油呀 明天又是自学坐牢的一天。

2024-05-17 22:59:39 243

原创 C#哈希表力扣详解 初学者必看(题目会更新)

字母异位词 分析:(1)本题主要是ASCII码(计算机本质是要存放二进制数,ASCII码就是统一规定了常用符号用哪些二进制数来表示)主要记住字符a到字符z的ASCII是26个连续的数值,用一个值去减去’a’,映射下标为0,相应的字符z映射为下标25,得到一个相对数值可以帮我们实现题目即可。(2)通过数组统计不同字母出现的次数,当s中出现的字母我们就++,t中出现的字母我们就–,最后如果数组中还有值,说明有多余的字母,返回false。接下来逐行讲解,保证是个人都会看懂!

2024-05-17 22:49:26 586

原创 Unity Project面板只打开一个视图

同时发现一个Windows自带截图失效解决的方法(Win + Shift + S)直接win键,如果没反应说明被锁了,长按Fn + Win即可解锁,再去截图就OK。点一个就是一个 点两个就是两个。

2024-05-16 14:28:09 250

原创 C#栈与队列力扣详解 初学者必看(题目会更新)

(1)设定q1输出元素,q2存放元素,假如q1已有元素1,现在需要加入元素2,那么就先把q1中的元素都弹出来放入q2中,再把元素2加入q1,再将q2中的元素全部加入到q1,遵循队列原则,这些元素(也就是元素1)都会放到q1的尾部,也就是第一个元素是2,第二个元素是1。(1)假设有元素1和2进入st1,在需要Pop()时,我们将st1中的元素全部弹出放入st2中,此时就是2为栈底,1为栈顶(借用卡哥的图)有一个要点:先判断st2中是否没有元素了,才能将st1中的元素弹出加入到st2中。

2024-05-16 13:43:13 455

原创 C#力扣链表题目逐行讲解 初学者必看(题目会更新)

分析:pre(preview)用来代表前一个节点(null),curr(current)代表当前节点,比如从第一个节点 也就是1开始反转,需要用temp先记录一下2的值(因为1反转的时候,连接2的这个指针会断开)将curr.next指针指向prev,将pre = curr,也就是对pre节点赋值curr节点,将pre节点移动到curr节点,同时curr也移动到temp节点。因为题目最终要返回的就是头节点,所以用temp代表头节点,参与运算,最后返回头节点的值,值也不会被改变。如果下标无效,则返回 -1。

2024-05-11 17:11:00 1545 1

原创 C#力扣数组题目详解(题目会更新)

例如,函数返回的新长度为 2 ,而 nums = [2,2,3,3] 或 nums = [2,2,0,0],也会被视作正确答案。分析:将i+1位的元素 挪动到 i位即可,同时要记得将i–,因为i+1的元素也可能是需要移除的元素,还需要从该位判断。第二种:双指针法,首先创建一个新数组,对首元素和尾元素的平方数进行比较,将大的一方放入新数组的尾部,依次向前填充元素。输入:nums = [3,2,2,3], val = 3。解释:平方后,数组变为 [16,1,0,9,100]输出:[0,1,9,16,100]

2024-05-10 14:37:17 309 1

原创 C#力扣反转字符串题目详解(题目会更新)

给定一个字符串 s 和一个整数 k,从字符串开头算起,每计数至 2k 个字符,就反转这 2k 字符中的前 k 个字符。先看示例1,也就是将abc做反转成cba,def不变,剩余字符gh是少于k个的,则反转为hg;再看示例3,剩余字符efh是大于k个的,则反转为hfe。如果剩余字符小于 2k 但大于或等于 k 个,则反转前 k 个字符,其余字符保持原样。再看示例2,处理完前2k个,剩余字符ef是等于k的,则反转ef;输入:s = “abcdef”, k = 2。输出:“cbadefhg”

2024-05-09 12:10:57 289 1

原创 C#通过数组实现队列详解

Dequeue(出队):创建一个新数组,将旧数组从1开始赋值给新数组,最后再赋值给旧数组。Enqueue(入队):当队列中的元素 小于 数组的长度,故将它放入数组。构造函数:用size初始化长度,用first代表队列的第几个元素。Enlarge(扩容):和出队同理,将容量*2即可。队列具备先进先出的特点 如何通过数组实现呢。(不会的东西太多,做做笔记)

2024-05-07 15:19:54 515 1

空空如也

空空如也

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

TA关注的人

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