
Unity 踩坑记录
Unity 踩坑记录
「已注销」
这个作者很懒,什么都没留下…
展开
-
[Unity][Odin Inspector] SerializedMonoBehaviour 中的 private List 会被初始化为 null
Bug:构造期间不为 null 游戏开始后变成 null一个最简单的使用 Switchable 的 ControllerAssets/MeowFramework/TPSCharacter/Scripts/Controller/TPSCharacterUIController.Mode.cs// ----------------------------------------------// 作者: 廉价喵// 创建于: 12/04/2022 15:53// 最后一次修改于: 22/04/2022原创 2022-04-26 09:14:35 · 959 阅读 · 0 评论 -
[Unity] Generic 模式的动画混合和移动方向发生错误的解决办法:使用 Humanoid 模式
Generic 的混合动画很怪,并且如果不使用 RootMotion,人物的移动方向会受动画的影响,但是如果使用了 RootMotion,那么角色的某个骨骼就会被定死,对于那些希望全身骨骼都能运动的动画来说,某一个部位完全不动是非常不协调的我目前找到的解决办法就是使用 Humanoid……虽然 Humanoid 也有它的问题就是了(比如我的动画的手腕在某些动画之间混合时会翻转 360 度,但是 Generic 下混合就不会),但是起码 Humanoid 在动画整体上没有错误Generic 设置某个节点为原创 2022-04-18 16:38:11 · 2121 阅读 · 1 评论 -
[Unity] 播放 Generic Animation 导致无法移动的解决办法:在 Animator 中勾选 Apply Root Motion
我在使用 Animation Type 为 Humanoid 的 Animation 的时候是一切正常的但是,自从因为 Humanoid 会导致手腕错误旋转问题,把 Animation Type 改成了 Generic 之后,我的人物就不能动弹了测试发现,给 CharacterController 的输入是没有问题的,但是 CharacterController 所控制的父级 GameObject,也就是角色,的 transform 虽然会在一个很小的范围内跳动,但是整体来说角色就是不能移动那就是说,原创 2022-04-18 15:29:02 · 3213 阅读 · 0 评论 -
[Unity] Animation Blend Tree 中混合值变化时部分骨骼错误旋转 360 度的解决办法:将 Humanoid 改成 Generic
1. 在游戏中暂停在游戏中按 shift+ctrl+P 键暂停然后可以让角色的 Pose 暂停,然后就可以把武器挂在角色的骨骼上,然后摆位置,然后复制这个武器的位置组件,退出游戏,粘贴回去2. 选择合适的动作如果已经在人物双手持枪的时候把武器调好了,但是当人物进入别的动画的时候,武器就跟着乱动了,那就是动画的问题了我之前用的动画包的 Idle 是只有一个瞄准 Idle,就是我没有一个正常状态下双手持枪的 Idle我之前用的是 Mixamo 的 Shooter Pack,之后用 Pro Rifle原创 2022-04-18 09:38:52 · 721 阅读 · 0 评论 -
[Unity] FlowCanvas 使用注意事项
1. 什么时候该使用 FlowScript 什么时候该用 C# Script我觉得最好还是把函数封装成很多层之后,再使用 FlowScript 做一些简单的东西……比如我这里写的一个简单的落地检查和重力,可以写这么多,但是实际上放在代码里面就两行2. 类型如果需要一个变量的时候,没有找到需要的类型,就在 Prefs - Open Perferred Types Editor 中添加3. Bool 运算And,Or 这些布尔运算并不能在 bool 值参数的拖拽菜单中找到而是需要直接在空原创 2022-04-05 08:57:51 · 1358 阅读 · 0 评论 -
[Unity] AnimationEvent 因 Animator Controller 中 Transition 设置问题而不触发的快速解决办法:重新拖入 Animator 创建新 State
这篇文章提出了一个 AnimationEvent 不触发的可能性:Animator Controller 中 Transition 设置问题https://blog.youkuaiyun.com/qq_41730940/article/details/121076346具体是什么设置问题我也不知道,总之他就是存在我一开始确实是按照这个文章说的,稍微移动一下 Transition 的过渡条,但是没用后来我想到我这个问题是怎么出现的,我是先拖入了动画 A,然后和 Walk 连 Transition,然后我觉得这个动原创 2022-03-28 20:35:19 · 1544 阅读 · 0 评论 -
[Unity] 定义 Assembly 之后还要定义 Assembly Reference
因为 Bolt 的使用要定义使用的程序集,我就突然想到要把我的框架代码加上 Assembly加上了之后会有一堆报错,说我没有 Assembly Reference我看到有一个是 InputSystem,就加上去试试果然报错少了最终我的 Assembly 为自制 ACT 框架游戏主体...原创 2022-03-28 16:48:01 · 1399 阅读 · 0 评论 -
[Unity] 在 3DsMax 中将骨骼调整为适应 Unity 的 Humanoid 的结构的记录
找到 Unity 中的 FBX 文件,直接拖入 3DsMax选择 Import File根据 Unity 中的提示在 3DsMax 中找到要修改的骨骼比如报错中说 Bip002 L Thigh 错了那就找 Bip002 L Thigh,选中在右侧工具栏找到 Create - Systems点击 Object Type - Biped,弹出更多属性取消勾选 Triangle Pelvis,勾选 Triangle Neck;Spine Links 设置为 2导出有报错……不知道原创 2022-03-28 10:04:17 · 3746 阅读 · 0 评论 -
[Unity] Canvas 设置为 Screen Space - Camera 时,UI 被场景物体遮挡的解决办法:设置 Canvas 的 Plane Distance 为一个较小的数
Canvas 设置为 Screen Space - Camera 时,UI 可能被场景物体遮挡,如下图所示只要设置 Canvas 的 Plane Distance 为一个很小的值,它就几乎永远不会被遮挡了,因为摄像头距离人物的距离都可能大于你这个 Plane Distance设置之后...原创 2022-03-27 00:48:06 · 4321 阅读 · 0 评论 -
[Unity] AnimationEvent 的 receiver 需要继承 Mono
比如我有一个 mono 和一些不继承 mono 的 controller我真正要用动画事件的是 controller,但是由于它不继承 mono,所以不能接受动画事件。那就只能先把动画事件发给 mono,然后再由 mono 发事件给 controller 了...原创 2022-03-26 08:45:09 · 882 阅读 · 0 评论 -
[Unity] StartCoroutine 无法启动协程的可能原因:没有使用 AddComponent<T>() 初始化 Monobehaviour
一开始做了一个小功能,测试的时候,正确输入,只打印 2222222222222 不打印 111111111111,不知道是怎么回事 private bool isRunning; public IEnumerator Attack() { Debug.Log(111111111111); _userAnimator.SetTrigger(_animIDAttack); yield return new WaitForSeconds(原创 2022-03-24 09:29:48 · 2433 阅读 · 0 评论 -
[Unity] Animator 播放 Mixamo 动画卡在第一帧的解决办法:勾选 Loop Time
首先要在 Mixamo 中上传自己的模型,选中动画之后下载 FBX for Unity 格式,所得的 FBX 文件放入 Unity 之后在动画文件的 Import Setting - Rig - Animation Type 选择 Humanoid,Apply,然后将动画文件中的动画 Clip 加入 Animator 中,这是常规流程不论在 Animator 中怎么使用,只要没错的话,这个动画理应是能够播放的,但是实际上我遇到了一个动画卡在第一帧的问题,如图我的设置为看了别人的配置才注意到要选择原创 2022-03-20 16:45:17 · 2899 阅读 · 0 评论 -
[Unity] Shader Graph 10.8.1 无法新建 Active Target 的解决办法:下载 Pipeline 资源包
一开始我新建了一个 Shader Graph 之后,根据教程点 Active Target 的加号,然后根本没有反应我退出 Shader Graph 窗口再进入、重启工程、重启电脑都不行之后看别人的文章才知道原来是要下载 pipelinehttps://blog.youkuaiyun.com/weixin_43908355/article/details/121349993所以说他们之间原来是独立的啊,我还以为下载了一个 Shader Graph 就啥都有了hhhh...原创 2022-03-14 08:12:40 · 768 阅读 · 0 评论 -
[Unity] Perfab 和 Scene 中显示的物体局部坐标系的原点不是实际原点
Perfab 和 Scene 中显示的物体局部坐标系的原点不是实际原点如图,我在原点创建了一个球,然后复制两份,移出去,现在显示的局部坐标系的原点就不在最开始的原点了……但是实际上程序获得的还是最开始的原点,逻辑都是基于这个原点的,而不是显示错误的那个……搭场景的时候好容易搞混……...原创 2022-02-10 15:45:35 · 1189 阅读 · 0 评论 -
[Unity][ShaderGraph][FlowCanvas] SetFloat 无效:通过脚本控制 shader 的动态参数时需要使用参数的引用名
我的 shader 很简单,就是一个 tiling and offset 制作滚动效果然后我想用一个脚本控制 speed但是实际运行没有起效果一开始我看的这个,然后用的 sharedmaterialhttps://forum.unity.com/threads/having-trouble-getting-a-material-setfloat-to-work-on-custom-shader-i-wrote.846451/也不行然后看到https://forum.unity.com/t原创 2022-02-10 10:12:37 · 1693 阅读 · 0 评论 -
[Unity] 无脚本导出 Texture 为 PNG
点要导出的 Texture,点监视器点 Open,会用电脑上的应用打开这个图片直接另存为,结束原创 2022-02-08 16:42:36 · 1252 阅读 · 0 评论 -
[Unity][FlowCanvas][NodeCanvas] ForEach 不适合连接 Wait,FSM 的 SubFlowScript 接受不到事件
一开始我写的是对一个 id 列表的循环,用于生成敌人,每一次循环中都会 wait 一下作为生成敌人的间隔,循环的 index 对应敌人的不同生成参数在测试中发现,敌人的生成设置只会使用 index = list.length-1 对应的生成参数经过 debug 可以发现,foreach 的 index 仍然是正常传出来的,但是 wait 之后获取到的 index 全是 list.length-1如图下所示,输出为:01111111111111后来我就想用事件做一个循环,每一次生成事件开始时原创 2022-01-28 21:50:57 · 492 阅读 · 0 评论 -
[Unity][FlowCanvas] 预制体中新建的组件无法拖入 GameObject 类型的黑板的解决办法:关闭预制体之后再打开
原创 2022-01-28 16:39:07 · 1864 阅读 · 2 评论 -
[Unity][FlowCanvas] 被重复执行的节点,只要其中一次执行出现报错,该报错就会在脚本中一直显示
我做了一个取 list 的 item 的事件,我看到这个 get item 有报错,但是它还是能传出正确的值,就蒙了实际上是这个节点重复执行了,第一次出错了,第二次没出错,取到了值我以为我自己是只传了一次事件,但是实际上传了多次,并且第一次传的事件的参数不对...原创 2022-01-28 13:39:15 · 843 阅读 · 0 评论 -
[Unity][NodeCanvas] 使用 Wait 0 会导致状态卡死
如果用了 wait 0,游戏开始时,实例的状态机就会是这个样子SFM 还是 Active 的,但是 runtime 都不开始计时了,点底部的箭头播放键都没有反应我在一个地方因为向 wait 传入了 0,状态就直接卡住不动了,我还以为是我其他 action 有问题,找了半天...原创 2022-01-27 20:47:10 · 437 阅读 · 0 评论 -
[Unity] TortoiseSVN 的 CheckOut 未响应的解决记录
假设我们都知道,拉库的第一步就是 CheckOut,然后我们却在这一步卡住了因为还没有显示输入用户名和密码的界面,所以卡住并不是用户权限的问题。更可能的是,网络连接的问题。解决办法就是修复,或者直接换网络连接……因为我实习第一天,尝试了三种方式:公司电脑有线连接,我的电脑的有线连接和无线连接网络,都无法 CheckOut 之后,不得已换了一根网线;然后用公司电脑有线连接还是不行,但是用我自己的笔记本电脑有线连接就可以 CheckOut 了,简直是玄学……确实,我并没有能力深究它,但是这折磨得我没脾气原创 2022-01-19 23:40:57 · 3496 阅读 · 3 评论 -
[Unity][FlowCanvas] FlowScript 搜索功能不可用的解决办法:更新 UnityEditor 的版本
FlowScript 搜索功能不可用的解决办法:更新 UnityEditor 的版本我原来的版本是 2020.3.0f1c1,装了一个 2020.3.9f1c1 就正常了好神奇图1 搜索功能不可用图2 搜索功能可用此外还有一个区别是,新建 FlowScript 时组件界面也不一样图3 旧版本没有 Create New 按钮图4 新版本有 Create New 按钮...原创 2022-01-18 17:35:29 · 466 阅读 · 0 评论 -
[Unity]导入插件出现编译错误的解决办法:在工程关闭时重新添加一次插件
刚刚在尝试死亡细胞的像素渲染插件第一次安装插件的时候,我是把git项目解压到了工程文件夹里面,这样子就出现如图所示的报错我退出工程重新覆盖一遍,再打开工程,就没有问题了应该是工程在打开的时候,有些文件正在被使用,所以不可覆盖的原因吧...原创 2021-11-02 00:04:30 · 2810 阅读 · 0 评论