- 博客(81)
- 资源 (1)
- 收藏
- 关注
转载 Unity中Root Motion和BlendTree结合的一个简单案例
使用root motion后最大移动速度已被动画所默认,那么如果想调整这个移动速度,就可以通过调整animation speed来实现。因为同一个状态机可以给不同对象使用,但运行却可以分别调参,但更新状态机会同步到所有编辑态和运行态。新发现: 状态机还分编辑态和运行态,运行态也可以分不同副本,使用animator controller时需要注意。角色启停过快动画不丝滑,以及频繁切换动画导致鬼畜动作:给运动加差值函数。优化前后对比如下,可以看启停加入差值后,角色移动变得更加丝滑真实。多个角色速度不一致。
2024-01-25 11:44:35 76
转载 Unity中 root motion 与 Bake into pose本质的个人理解
如果对骨骼模型的父对象使用`apply root motion`,系统会将`未bake into pose`的`root transform`分量作用到父对象的`transform`中,然后**骨骼节点将跟随父对象移动**。所以这也是为什么在apply root motion和未bake into pose情况下,模型能连续运动的原因,其实这可以看作“被父节点的移动带动的原地动画”。
2024-01-25 11:39:23 83
原创 【Unity学习笔记】第十一 · 动画基础(Animation、状态机、root motion、bake into pose、blendTree、大量案例)
本章主要学习Unity动画基础知识,主要包含:动画片段、Animation编辑器、动画状态机、混合树 blendTree、Root Motion等内容,IK和Playable将在后续博客总结。本文主要是一些动画基础知识介绍和editor编辑器操作示范,包含较多的案例。值得一提的是对Root Motion和Bake into Pose进行了深入的剖析,感兴趣的可以直接看结论。
2024-01-24 14:42:32 1758 2
转载 New Input System PlayerInput三种Behavior辨析
对于Unity New Input System的PlayerInput三种Behavior,总的来说:sendMessage 最方便,但性能最差、灵活性不佳;UnityEvent最直观,性能一般;C#Event 最灵活、性能最好,但操作稍麻烦。根据需要选择适合的Behavior。
2024-01-22 13:39:40 60
转载 Unity Binding冲突解决探究
而如果当前control存在冲突且非"最激活"的,就会略过defaultInteraction处理,所以对于上面 第3点,依次按下jkl后,如果先释放kl是不会触发action的,只有先释放j才会触发action,但之后哪个control能拿到"最激活"的control,似乎和action上binding的顺序有关。这两种不属于触发冲突,是由用户来控制的。总之,不考虑上面 第6点 这种特列,当存在冲突,优先高复杂度binding触发action,其所包含的冲突control就不同时触发其他action了。
2024-01-22 12:58:41 205
原创 【Unity学习笔记】New Input System 部分源码和测试用例补充
【代码】【Unity学习笔记】New Input System 部分源码和测试用例补充。
2024-01-21 19:25:11 1086
原创 【Unity学习笔记】Unity TestRunner使用
点击Assembly文件的Inspector窗口,添加 nunit.framework.dll、UnityEngine.TestRunner、 UnityEditor.TestRunner, 测试Input System时额外添加 Unity.InputSystem 和Unity.InputSystem.TestFramework。添加测试文件夹,在此文件夹下添加assembly definition (菜单栏中: Create > Assembly Definition)
2024-01-21 19:21:53 567
原创 Unity New Input System 及其系统结构和源码浅析【Unity学习笔记·第十二】
Unity New Input System主要分为三大块:1. **设备与输入**:介绍layout、Device、Control三个重要的概念,包含设备生命周期和updateType等知识讲解。2. **Action与绑定**:包含Action、Binding、Interaction、processor等内容,这是开发者使用newInputSystem时最需要了解的部分。本文对其中不同ActionType以及Interaction触发ActionPhase的区别、不同Binding冲突解决...
2024-01-21 19:17:31 1441
原创 C#事件的本质
event字段本质就是对委托进行私有访问限制,事件的本质就是委托,只不过系统会对用event字段修饰的委托进行了特殊处理,比如自动生成一个私有的委托变量,添加两个事件访问器,同时禁止外部类对事件的Invoke等方法调用。
2023-12-06 18:15:57 241
原创 【C#学习笔记】委托与事件 (从观察者模式看C#的委托与事件)
本文针对C#的委托和事件,详述了委托的使用、异步委托、多播委托、事件的使用、事件访问器等基本知识,并利用ildasm工具查看编译后代码,探索委托和事件的本质和区别。同时研究了委托和事件背后的观察者模式,辨析了接口形式的实现方式和委托的区别。
2023-12-06 17:52:03 599
翻译 Exploring the Observer Design Pattern微软技术文章翻译
本文翻译了微软技术文档,解释了c#委托事件和接口形式的观察者模式以及标准事件模式,用实例展示这些不同的模型,便于理解c#委托的本质。
2023-11-26 17:44:44 98 1
原创 【游戏评测】河洛群侠传一周目玩后感
只能说,我对国产游戏的包容度很高。也许我比较吃武侠类游戏吧,同系统的《神界原罪2》我都没打通关,连大表哥2、只狼这种级别的我都有心无力,《河洛》却能做到。感谢陪伴,期待下一场冒险。
2023-08-16 19:45:18 990
原创 【学习笔记】Unity基础(十)【Unity界面之Scene窗口工具栏】
本节梳理了scene窗口常用工具栏的各种功能,像一些细微差别比如“alt+左键旋转和右键旋转的区别”之前遇到过但没仔细分析,这次都仔细过了一遍。但像draw mode涉及太多lighting、shade的东西,走马观花看了下,以后研究到的时候再看。下一节计划学习动画、模型相关知识。
2023-07-20 01:13:27 3090
原创 【工具】录屏工具Bandicam参数测试(参数设置建议)
录屏使用的动态60fps,full size(2560x1440),HEVC格式(高效视频编码),然后分别对比VBR(Variable BitRate)、 CBR(Constant Bit Rate)我分别用看视频环境(b站学习教程类)、游戏环境(也是用看视频模拟,以fps游戏为例),以及网页blog文章,三种环境,等条件分别录制1分钟。选取1000bps、3000bps、5000bps、7000bps以及40q、60q、80q质量进行不同环境下对比,得到以下数据。视频环境不同参数清晰度对比(CBR)
2023-07-08 00:57:50 694
原创 【学习笔记】Unity基础(九)【cinemachine基础(body、aim参数详解)】(多fig动图示范)
本篇用了很长的篇幅学习了cinemachine的基础知识,详细了解了虚拟相机的各个参数,包括body、aim、cinemachine brain等,着重学习了相机移动和旋转的各种算法(Do nothing、3rd Person Follow、Framing Transposer、Hard Lock To Target、Orbital Transposer、Tracked Dolly、Transposer),也了解了一些其他知识点如Binding Mode中的roll yaw pitch等。
2023-06-30 19:44:03 3569 1
原创 【学习笔记】Unity基础(八)【镜头camera组件属性(clear flag、target texture、occlusion culling、镜面效果、小地图等)】
本节主要学习camera组件的相关属性,介绍了投影方式、depth、clear flag等基础概念,详细学习了target texture、occlusion culling等知识。有关camera的其他高阶内容,诸如渲染管线、优化等内容暂不研究。下节计划学习Cinemachine插件、镜头脚本相关,涉及第一第三人称视角切换、镜头跟随、镜头抖动等案例。
2023-06-15 08:42:07 5210
原创 【学习笔记】Unity基础(七)【uGUI基础、利用render Texture实现小地图功能】
!!!学习C#的委托和事件机制可交互组件(继承Selectable类)和可视组件初步过了下uGUI,先前小地图也曾提过多次,这次花了点时间实现了下,还是有成就感的。接下来进入动画、纹理、特效、镜头等学习。
2023-05-30 15:48:40 1627
原创 【学习笔记】Rider调试unity【 联调、断点调试等】(决定弃用vscode了)
暂时就搜查这些内容了吧,后续再有什么需要再补充,基本目的已经达到。
2023-05-20 02:46:31 3879 2
原创 【技术备忘】网易云如何添加vip音乐
以前看到的方法,现在不知道为什么搜索很多类似内容都没了,不知道是不是网易云举报屏蔽的。网络下载无损音乐,以《窗·虎二》 为例。然后就可以点喜欢了,甚至可以去评论。网易云云盘添加外部音乐。
2023-05-05 14:48:17 298
原创 【AI折腾录】stable web ui基础【sd安装、lora vae embedding hyperwork等基础概念】
简单过了下不同文件类型和使用方法,着重尝试了Lora,毕竟是当前阶段最火的东西。接下来会逐步深入学习其他技术。
2023-05-01 00:00:00 4151 1
原创 【学习笔记】unity脚本学习(六)【GUI发展历程、IMGUI控件、Layout自动布局】
Unity本身的功能已经很强大了,但是由于某些项目的特殊需求,需要拓展编辑器来提高工作效率,让程序去代替人工进行一些比较繁琐的操作,减少一些出错的可能性,比如我们可以写一些工具来定制更改动画曲线,也可以写工具来一键打包资源,压缩资源,检测资源冗余,统计资源信息等等。拓展编辑器也可以展示一些效果,比如人物模型的碰撞框可视化,地图网格AI的可视化等等,拓展编辑器也可以送入AssetStore进行售卖,获取经济收益。皮肤 (Skin) 的主要目的将样式应用于整个 UI,而不是应用于单独的控件本身。
2023-04-25 16:09:05 1127
原创 【学习笔记】unity脚本学习(五)【常用的方法函数Destroy、Instantiate 、SendMessage、invoke 、Coroutine】
这几个方法使用的是反射方式,类似监听者模式,是官方提供的方法,后续应该会有自己实现的更高效的使用监听者模式实现的方法(delegate +event方式)。:只要我们得到了一个类的引用,便可以向它的子类/类本身/父类传递某些消息,最终达到直接执行某个函数的目的,这样非常方便实现一个引用,简化开发复杂程度。调用此游戏对象中的每个 MonoBehaviour 上或此行为的每个父级上名为 methodName 的方法。调用此游戏对象中的每个 MonoBehaviour 上名为 methodName 的方法。
2023-04-20 19:20:44 2435
原创 【学习笔记】unity脚本学习(四)【inputManager、键盘输入、鼠标输入、Raycast】
对于键盘和游戏杆输入,该值将处于 -1…如下图所示,能实现鼠标enter变大 离开变小 over旋转,但并没有想要drag效果,因为Raycast也会见到到cube本身,所以可以添加mask,排除cube。该值的含义取决于输入控制的类型,例如,对于游戏杆的水平轴,值为 1 表示游戏杆向右推到底,值为 -1 表示游戏杆向左推到底;目标:物体自由降落,当距离地面一定距离时,打开降落伞(没学动画,用active代替),并减速,到达地面收起降落伞。耗时两天,中间两天没学习,忙着玩青藤,心有些浮躁,自我批评下。
2023-04-16 01:52:42 1729
原创 【学习笔记】unity脚本学习(二)(Time时间体系、Random随机数、Mathf数学运算)
限位函数,value在最大最小值之间,返回原value,否则取最大或者最小值。如果此属性具有非零值,则无论实时时间和帧的持续时间如何,Time.Time都会以captureDeltaTime(按Time.timeScale缩放)的间隔增加。他们都有一个相似的功能:给定一个初始点,一个target终点,要我们输出的函数从起始点到target点移动,只不过他们实现方法是不同的,效果也有很大的不一样。运算符,但是它适用于浮点数。当 f 为正数或零时,返回值为 1,当 f 为负数时,返回值为 -1。
2023-04-09 18:21:44 748
原创 【学习笔记】unity脚本学习(一)(脚本生命周期与Transform)
这是官网的答案,我理解下,乘以deltaTime,利用s=v*t来理解,相当于方法参数接收的是移动距离,方法放在update()中就相当于每帧移动的距离,这个值会随着deltaTime不同存在差距,所以能让游戏独立于帧率。所以,一定要明确自己是热爱背后所蕴含的“创造”,可以是游戏、小说、图片、动画,可以是剧情、音乐、哲理,我爱的是这个,我最希望是用自己所擅长的东西去演绎去表达,一定不能忘记初心,本末倒置,加油,自己!up提到了申明和获得实例化的顺序,也就是脚本生命周期的问题,那个东西很多,慢慢学。
2023-04-06 17:41:46 493
原创 【学习笔记】c#基础学习
现在开启c#学习之旅,因为有java基础,感觉c#非常熟悉,而unity相关库就跟spring这种框架类似,所以准备先把c#基础过一遍,然后再看一下unity库 哪几种类(估计也是动画 声音 碰撞 特效这种),类的详细使用估计要在实战中,所以,这里只是一个入门我打算。因为有java基础,所以我打算看其他类似跳槽up的文章总结,加快速度。否则看菜鸟教程这种既浪费时间又容易脱离目标(快速进行实战开发)好吧,其他up也是看菜鸟的,我还是耐心点…(而且底部会有其他人的备注补充 赞)
2023-04-02 18:52:42 367
原创 碎碎念-对从事游戏开发信心的动摇与重拾
怎么说呢,虽说前途渺茫,也不知道自己能力够不够,但每每想到自己能投身游戏设计开发,我总会有种兴奋和开心,这是互联网后端开发从不曾带给我的感觉。加上有同学介绍工作,我潜意识把这当作救命稻草,所以整个人都比较松懈。虽说这两周主要精力用在相亲上,但懈怠了是不争的事实。前两天跟对象放缓了节奏,我也把注意力放在我自己身上。刚解决困扰我两周的东西,现在心情愉悦,神清气爽。
2023-03-29 17:05:42 91
原创 【学习笔记】.net安装 vscode安装 踩坑记录(win11)
我这里大概理解下,clr类似java虚拟机jvm,就像jvm有多个实现,clr有限定windows平台的.net framework和跨平台的mono,以及后面整合所有平台进行大一统的.net core(存疑),都是基于.net标准的不同实现,unity因为跨平台性选择了mono。我擦,怎么没人说阿,那我就按高版本的开发了,我看5以下的都不长期支持了,还有个8.0的,算了先用7.0,以后熟了再说。欸 我发现了,从unity打开cs文件就有F12了,单独打开就没有,估计需要项目空间?但报错问题依旧没解决!
2023-03-29 14:01:59 1469
原创 跳槽unity准备游戏开发
本人原先java开发两年,一月底被裁,过年到现在零零散散看了些教程,学了些基础操作,到现在接触到c#开发,结果第一步就卡住了,方法无法跳转,加上整个人也比较游混,每天无所事事的,前段时间还黑白颠倒,刚刚规律了作息和吃饭,逐渐找到了生活的节奏,但随着日子一天天过去,深感自己技能没有丝毫进步,焦虑逐渐蔓延,看到有博主记录自己学习贴,也决定拿出往日学习的劲记录下,看看自己需要多久才能入门。废话就不多说了吧,干!
2023-03-13 16:36:06 242 7
原创 Mockito.when refEq精确匹配
今天在补单测时有个需求,对不同id返回不同数据,以前是通过写多个thenReturn()按请求顺序返回。找了半天没找到什么详细的,只有关键词refEq,试了下,好像确实可以。简单示意了下,这里写法是id匹配上就返回,忽略deviceName。今天还是想看看有没有方法能精确匹配。别耽误了时间,赶紧完成工作。
2022-10-20 17:06:39 731
转载 NoSuchBeanDefinitionException: No qualifying bean of type ‘xxx‘ available
NoSuchBeanDefinitionException: No qualifying bean of type ‘xxx’ available检查命名 扫包 等情况 搜索才知道 是spring-boot-devtools依赖造成的classLoader不同https://www.programminghunter.com/article/1573309353/
2022-05-12 22:48:00 147
原创 《荀子·劝学》学习——干、越、夷、貉解释
干、越、夷、貉(mo4声 通貉)之子,生而同声,长而异俗,教使之然也 ——《荀子·劝学》解释把“干越”连起来读“ hán yuè”指吴国 和 越国 。(读音存疑,可读gàn4声 yuè4声)这里的“干(hán)”同"邗",是一个国家的名字,在现在的江苏扬州东北地带。(拓展:邗,消失在扬州建城前的神秘古国,文章点到吴王寿梦 邗沟(沟通淮江) 吴王夫差 干将莫邪等,吴越 吴楚 吴齐之争,可以延此继续拓展 )“邗”引申意思为"防御";邗也表示"边防要塞。春秋时“邗”被吴国所灭而成为吴邑,《劝学》
2022-04-07 19:37:57 4216 1
原创 2021.1.25 git revert、kafka
没想到今天又学到一些东西git revert操作上午干了两件事,第一个是昨晚一直在做的,修改遗漏返回码的问题,兜兜转转,发现之前的做法是对的,需要回退上次的提交,那么问题来了,是手动改还是学一下git操作呢,当然一步到位啊。正好这次改动比较小,学一下,以后改动多的时候revert操作就方便多了。查了一下回退有两种操作,git revert和git reset,大概区别如下git revert:回滚某次提交,相当于本次操作的反操作。不影响这个commit之后提交,会生成新的提交记录,不过可能会有提交
2022-01-25 15:34:39 914
原创 2022.1.17 elastic
今天主要是页面根据一字段查询没有结果,我去kibana查发现报错:Cannot search on field [xxx] since it is not indexed-遂准备深入一下,以及这个elasticsearch-rest-level-client是怎么个用法,需要配置es么。es index template 使用elasticsearch-rest-level-clientCannot search on field [xxx] since it is not indexed:没对
2022-01-19 17:47:05 1378
原创 2022.1.17 服务与组件 pom继承与聚合(parent modules标签)
今天突然对服务和依赖的基础组件产生疑惑,比如rpc服务调用,为什么还需要服务与组件参考:微服务时代组件化和服务化的抉择 (https://www.cnblogs.com/vivotech/p/14592370.html)看了这个大概了解组件和服务的区别,但还是不太明白,为什么都是要调用第三方的东西,有的是依赖share包,有的是依赖client,也许是我不明白为什么rpc调用那个share包属不属于组件。未完待续…pom继承与聚合聚合主要是为了方便快速构建项目,继承主要是为了消除重复配置
2022-01-17 19:17:05 322
原创 随记20220104 99 95线
今天团队做一个mongo分片性能测试,同事贴出测试结果,响应时间有平均,95,99,我不知道什么意思,遂查了一下大概意思是平均响应时间有时不能很好反应性能问题,比如平均下来很好,但很多响应时间超时,这就需要95或者99响应时间,来表示95%或者99%的请求响应时间低于此值。还有qps:每秒查询的处理量参考:https://blog.csdn.net/lluozh2015/article/details/100527332...
2022-01-14 16:13:24 348
原创 20220109 docker起不来
之前安装docker总是起不来,也不知怎么找到了一篇方法,就成功就觉了前两天一个同事问起我装了docker,说他起不来,我就把之前的方法给了他,确实搞定了,遂记录一下其实就是hyper那个计算服务无法启动...
2022-01-10 10:25:08 333
原创 2022.1.6 线上问题记录( dubbo不可用、服务熔断)
元旦前,平台大量服务出现熔断,A等一些服务未能自动重启,导致服务一直不可用,返回500,经过同事排查,是基础鉴权服务出现一段时间非滚动部署造成的服务不可用,服务A在60s内1000请求 50%失败,触发熔断,请求直接返回500,不可用原因:DNS 变更 dubbo zk 获取不到对应服务的 provider解决方法:重启服务暂时解决晚上Boss拉着开了个复盘会,我也跟着听了听,好多概念都不太清楚,遂查询记录下。 服务熔断 熔断恢复方案简单了解就是服务熔断是防止服务雪崩的措施,而熔断是一种
2022-01-06 21:46:30 690
原创 随记20211231 log4j
昨天我把高并发反序列化测试结果给提出问题的团队看了,我认为反序列化缺少某个类造成hessian打印日志,对性能的影响不大,但他们测试发现会有几十倍的差距,并给了个博客表明高并发log4j同步日志输出的性能瓶颈,我看了确实有道理,但我测试并发还不够大吗,都100线程20次查询,也进行1000线程10次查询,并没有出现文章所说的竞争同步锁的现象,我突然发现是不是我用的是log4j2,而不是log4j的原因。之前log4j2因为远程代码执行漏洞,我和同事还加班把20多个服务log4j2升级到2.16.0,期间还
2022-01-04 10:06:44 157
JAVA核心知识点整理.7z
2020-06-04
TA创建的收藏夹 TA关注的收藏夹
TA关注的人