- 博客(204)
- 资源 (9)
- 收藏
- 关注

原创 0.专栏首页
1.Unity经验:移动游戏常见的分辨率2.Unity经验:随文字个数变化的聊天气泡3.Unity经验:三维物体的拖拽和移动4.Unity经验:Unity3d中查找一个脚本被挂在哪些预设上面5.Unity经验:AssetBundle打包6.Unity经验:Unity2019程序化动画绑定(Animation Rigging系统)7.Unity经验:Unity编辑器拓展参考代码8.Unity经验:TimeLine 制作过场动画9.Unity经验:Unity缓存本地......
2021-06-11 19:28:40
1390
2

原创 Share书籍
博主以前是在博客园上面混的,后来因为一些原因(暂不说明)而转战到优快云。在这里放上博客园的链接https://www.cnblogs.com/kerven/同时放上我的GitHub链接https://github.com/getker个人简介:博主是一个专注游戏开发的开发者,目前专注于Unity开发,图形学,Shader编程等。(2019.09.02更新)............
2019-09-02 09:49:50
964
原创 TheUltimateGuidetoProfiling_Flowchart
2022_TheUltimateGuidetoProfiling_Flowchart
2024-10-10 09:46:52
111
原创 C#面向对象(OOPs)中的多态性
面向对象编程中的多态性包括编译时和运行时行为。编译时多态性涉及方法和运算符重载,允许基于参数和运算符的多种行为。通过方法重写实现的运行时多态性使子类能够提供自己的超类方法实现。其他形式包括具有泛型的参数多态性、通过方法覆盖和接口的子类型多态性,以及用于隐式类型转换的强制多态性。这些概念有助于提高软件开发中的代码灵活性、可重用性和适应性。
2024-03-08 20:30:44
1084
原创 OOPs是什么?
OOPs在编程中代表面向对象编程(Object-Oriented Programming)。面向对象编程是一种编程范式,它将数据和操作封装在对象中,通过对象之间的交互来实现程序的功能。面向对象编程的优点包括代码重用性、可维护性、灵活性和扩展性等,使得程序更易于理解和设计。许多现代编程语言(如Java、C++、C#等)都支持面向对象编程范式,因此掌握面向对象编程的概念和实践是编程中的重要技能之一。
2024-03-08 20:27:02
354
原创 C#入门:简单数据类型和强制类型转换
(长整型,占 8 字节, 表示 64 位有符号整数,范围大约 -(10 的 19) 次方 到 10 的 19 次方)(整型,占 4 字节,表示 32 位整数,范围 -2,147,483,648 到 2,147,483,647)(无符号整型,占 4 字节,表示 32 位无符号整数,范围 0 ~ 4,294,967,295)(无符号短整型,占 2 字节,表示 16 位无符号整数,范围 0 ~ 65,535)(短整型,占 2 字节,表示 16 位整数,范围 -32,768 ~ 32,767)
2024-03-02 18:03:01
966
原创 Unity 游戏设计模式:单例模式
全局访问点:单例模式确保只有一个类的实例存在,并提供一个全局的访问点,这样在整个游戏中的任何地方都可以访问该实例。在 C# 游戏设计中,单例模式是一种常见的设计模式,它的主要目的是确保一个类只有一个实例,并提供一个全局访问点。总的来说,单例模式在游戏设计中提供了一种有效的方式来管理全局状态和共享资源,使得代码更容易维护和扩展。上面的属性访问器不是线程安全的,因为没加锁,下面的是线程安全的,但也就仅是创建时安全。比如使用了类的静态成员,但是静态成员又和实例对象无关,然后就创建了实例对象浪费资源。
2024-03-02 17:31:04
808
原创 Unity 游戏设计模式:观察者模式
上面的代码的表示是这些相关系统在观察玩家是否死亡,一旦死亡,就会触发注册的事件,跟在玩家死亡后面执行。在 unity 游戏设计中,观察者模式(Observer Pattern)有着重要的作用,它主要用于实现对象之间的一对多的依赖关系,当一个对象的状态发生变化时,所有依赖于它的对象都得到通知并自动更新。通过观察者模式,可以实现游戏中对象之间的松耦合关系,提高代码的可维护性和扩展性。如果需要添加新的观察者或改变观察者的行为,可以做到不影响主题的实现,从而降低了代码的复杂性。一个代码里耦合了多个系统。
2024-03-02 15:02:46
839
原创 Unity中C#的 == 和 Equals 的区别是什么
在示例代码中,我们重写了 Person 类的 Equals 方法,并在 GetHashCode() 方法中使用了 HashCode.Combine() 方法来生成哈希码。重写 GetHashCode() 方法的目的是让两个相等的对象具有相同的哈希码,以确保它们能够被正确地放置在哈希表中的同一个桶中,并在需要时能够高效地进行查找和比较操作。如果我们自定义一个类,并且没有重写 Equals 方法,那么该类的对象在使用 Equals 方法进行比较时,默认情况下会比较它们的引用,而不是内容。
2024-03-01 16:14:17
1325
原创 Unity 游戏设计模式:工厂模式
抽象工厂模式是工厂方法模式的加强版,抽象工厂模式与工厂方法模式最大的区别在于,工厂方法模式针对一个产品对应一个工厂类,而抽象工厂模式面对多个产品对应一个工厂类,一个工厂角色可以负责多个不同产品等级结构中的产品对象的创建。单工厂模式将对象的创建过程放在一个单独的工厂类中,使得客户端代码不直接依赖于具体的类实现。这相当于是把原本会随着业务扩展而庞大的简单工厂类,拆分成了一个个的具体产品工厂类,这样代码就不会都耦合在同一个类里。如果需要添加新的游戏元素或功能,只需要修改工厂类,而不需要修改客户端代码。
2024-02-29 21:31:58
777
原创 C# 中的装箱(boxing)和拆箱(unboxing)
在 C# 中,装箱(boxing)和拆箱(unboxing)是用来在值类型(如 int、double 等)和引用类型(如 object)之间进行转换的过程。需要注意的是,装箱和拆箱会引入一定的性能开销,因为它们涉及到数据类型的转换和内存的重新分配。装箱是指将值类型转换为引用类型的过程。当将值类型的数据赋值给一个 object 类型的变量时,就会发生装箱操作。当从 object 类型的变量中取出值类型的数据时,就会发生拆箱操作。// 发生拆箱,将引用类型转换为值类型。// 发生装箱,将值类型转换为引用类型。
2024-02-27 11:35:34
626
原创 Unity中的浮点数
在 C#中,float 是 32 位的,能够精确到 7 位,而 double 是 64 位的,能精确到 15 位。这些都是不完全准确的,因为这些类型在内部是以二进制的形式存储的,只有某些十进制小数可以精确地转换为二进制小数。如果要比较两个浮点数是否相等,通常的做法是检查它们是否 “足够接近”,也就是它们之间的差的绝对值是否小于一个很小的正数。这些小数在计算机中可以被精确表示。,对于这样的无限小数,计算机无法精确存储,会在一定的位数后进行截断或者四舍五入,这样就会产生精度误差,这是由浮点数的表示方法决定的。
2024-02-26 19:30:48
1193
转载 Lua实现面向对象的原理
实际上是当访问一个表的元素时,如果该元素为空(nil),那么就转去访问该表元表的 __index 元方法。这样,只需要通过将父类设置为子类的元表,那么当访问子类的方法或变量为 nil 时,就可以返回父类相应的方法或变量。可以看到,Lua 中的面向对象编程更接近于原型编程,使用表和元表来实现面向对象中我们熟悉的对象、类和继承功能。所有的键都是唯一的,并且可以是任何类型,除了 nil,包括函数和表。Lua 并没有内建的面向对象系统,但我们可以使用其表和元表的特性来实现对象、类以及继承等面向对象编程的功能。
2024-02-05 10:04:39
219
原创 使用IEEE754标准转换过程
IEEE 754标准是一种用于浮点数表示和计算的标准。对于给定的浮点数,IEEE 754标准定义了如何表示它以及如何执行基本的算术运算。
2024-01-19 17:54:59
913
原创 在Unity中如何设置设备的高、中、低配
在开发游戏或应用程序时,考虑到不同设备的性能差异是至关重要的。Unity作为一种流行的游戏开发引擎,提供了一些方法来区分设备的高、中、低配,并相应地调整游戏的性能要求和图形质量。
2023-10-24 20:15:12
1529
转载 URP 系列教程 | URP 中的延迟渲染技术
延迟渲染技术其本质是通过将几何通道与光照通道分离,能够以比标准多通道前向渲染器更低的成本渲染更多的灯光。Unity在URP 12.0以及以上版本中添加了对延迟渲染路径的支持。我们目前可以在Unity 2021.2及以上版本中进行体验这个功能。我在 2021 年 Unity 深圳 Openday 的 URP 演讲中,提到过延迟渲染是海量灯光的解决方案,会后就收到许多小伙伴私信希望可以详细讲解下,所以本期教程的内容就是关于 URP 延迟渲染的。延迟着色是三十多年前发明的一种渲染技术。
2023-10-09 17:31:05
682
转载 URP 系列教程 | 如何在 URP 中实现自定义全屏后处理效果
后处理(Post-processing)是现代游戏中必不可少的技术之一,是提升最终画面呈现品质的重要渲染技术。后处理渲染技术的好坏,往往决定了游戏画面是否能够达到令人惊艳的效果。虽然URP中已经为我们内置了近20种后处理效果,并且URP团队也在继续迭代添加更多的效果。不过如何在URP中创建自定义的后处理效果并不容易。幸运的是URP团队在URP14.x中为开发者内置了FullScreen Pass Renderer Feature 与 FullScreen Blit 功能,
2023-10-09 15:07:34
2923
2
转载 URP系列教程 | 如何使用URP 中内置的后处理效果提升画面质量
本篇教程将教大家使用URP Post-processing中的Global Volume 与Local Volume,会主要介绍后期处理的一些效果调节如 Bloom、Vignette、Channel Mixer、Color Adjustments 等等。我们来一起看下吧!!!*若对本课程有任何疑问、建议或反馈,欢迎加入微社区与作者本人交流:https://fanbook.mobi/W897PFJdURP 使用 Volume 框架进行后期处理效果。
2023-10-09 10:01:19
3066
转载 轻松上传超过100M的文件至GitHub
首先下载 git-lfs(https://github.com/git-lfs/git-lfs),安装好后进入本地仓库目录,执行下面的命令。需要注意的是,通过 git-lfs 上传文件是有空间限制的,免费用户如果上传的文件超过了 1G,账号就会被冻结,所以大家在。"文件,文件内记录了我们要上传文件的信息。点击自己的头像,进入 “Settings”,选择 Billing" 就可以看到自己还剩多少空间。工作日一般几个小时就会帮你把账号解封,解封后就可以继续上传大文件啦~是需要上传的大文件。
2023-05-12 20:21:26
1176
原创 Unity加速编译小技巧
所以,我们自然会考虑到,将这个文件进行分拆,将不经常修改的代码放到一个单独的地方,从而减少不必要的文件编译。这个比较常见的使用情况,一个Editor所使用的dll会依赖相应的Runtime dll。然而,这个语法糖不是免费的。在我们编译到IL2CPP之后,我们会发现,这类模板函数会根据参数的不同排列组合,展开为一个个独立的函数。当我们有大量的模板展开之后,必然会使我们的代码文件快速膨胀,从而增加IL2CPP最终的编译速度。所以,大家在使用模板的时候,一定要留心其参数的排列组合数量,控制好整体的代码大小。
2023-05-12 19:42:45
548
原创 unity解决android9.0 http请求会被拦截
unity 发布的apk,在android 9.0手机上http请求会发送不过去.原因:Android 9.0开始 系统会限制http明文网络请求,也就是https和http的区别。解决:通过配置文件允许系统使用明文传输。
2023-03-30 09:29:45
1034
原创 C#重现Unity源码:欧拉角转四元素
注意,这里不是调用Unity的方法,而是用C#实现和源码一样的效果。这里是使用C#+Unity来实现"欧拉角转四元素"。
2022-11-10 11:20:56
1642
转载 四元素定义、运算、插值、与欧拉角之间的转换
单位四元素通过旋转轴和绕该轴旋转的角度可以构造一个四元数:其中是绕旋转轴旋转的角度,为旋转轴在 x,y,z 方向的分量(由此确定了旋转轴)。欧拉证明了 一个旋转序列等价于单个旋转。想象一下,你有一根木棒,其中一端固定在一个地方,通过任意移动木棒,可以达到任意的角度。四元素的一般形式:w== 木棒的长度,(i,j,k)相当于三维空间的坐标。
2022-11-10 09:45:16
2614
原创 免费的电子书搜索引擎-FreeMbook
随着接触的越来越多,涉及到的书籍会很多,所以会买很多书,以前我喜欢看纸质书,但是很多书在看完后就到角落里吃灰了,从那以后,我买的书都是理论性质的书籍,工具性质的书籍只会在网站找一些免费的电子书供自己翻阅查看。所以这时候就需要一个免费的而且资源要很全的电子书网站,这样查找书籍的效率会高一些。经过我长期的寻找和实测,最近发现了一个免费的电子书搜索引擎,成功访问以上链接之后,浏览器会收到一个响应,这就代表我们已经保存到了我们自己的百度网盘,文件的存储路径就是网盘的根目录。就可以搜索到你想要的资源了。
2022-11-08 09:39:08
9950
1
原创 Python抓取我的优快云粉丝数,白嫖GithubAction自动抓取
Python抓取我的优快云粉丝数,白嫖GithubAction自动抓取。
2022-10-31 20:39:50
3726
原创 【左程云Java算法】Chapter1-5:用一个栈实现另一个栈的排序
Chapter1-5:用一个栈实现另一个栈的排序【题目】用一个栈实现另一个栈的排序【要求】一个栈中元素的类型为整型,现在想将该栈从顶到底按从大到小的顺序排序,只许申请一个栈。除此之外,可以申请新的变量,但不能申请额外的数据结构。如何完成排序?【难度】士★☆☆☆【解答】将要排序的栈记为stack,申请的辅助栈记为help。在stack上执行pop操作,弹出的元素记为cur。如果cur小于或等于help的栈顶元素,则将cur直接压入help;
2022-10-27 09:45:22
2633
原创 【左程云Java算法】Chapter1-4:猫狗队列
Chapter1-4:猫狗队列【题目】【要求】实现一种狗猫队列的结构,要求如下:用户可以调用add方法将cat类或dog类的实例放入队列中;用户可以调用pollAll方法,将队列中所有的实例按照进队列的先后顺序依次弹出;用户可以调用pollDog方法,将队列中dog类的实例按照进队列的先后顺序依次弹出;用户可以调用pollCat方法,将队列中cat类的实例按照进队列的先后顺序依次弹出;用户可以调用isEmpty方法,检查队列中是否还有dog或cat的实例;
2022-10-25 16:07:01
1547
原创 【左程云Java算法】Chapter1-3:如何仅用递归函数和栈操作逆序一个栈
Chapter1-3:如何仅用递归函数和栈操作逆序一个栈【题目】一个栈依次压入1、2、3、4、5,那么从栈顶到栈底分别为5、4、3、2、1。将这个栈转置后,从栈顶到栈底为1、2、3、4、5,也就是实现栈中元素的逆序,但是只能用递归函数来实现,不能用其他数据结构。【要求】【难度】尉★★☆☆【解答】本题考查 栈的操作和递归函数的设计,我们需要设计出两个递归函数。递归函数一:将栈stack的栈底元素返回并移除。
2022-10-25 11:31:31
1223
原创 【左程云Java算法】Chapter1-2:由两个栈组成的队列
Chapter1-2:由两个栈组成的队列【题目】编写一个类,用两个栈实现队列,支持队列的基本操作(add、poll、peek)。【难度】尉★★☆☆【解答】栈的特点是先进后出,而队列的特点是先进先出。我们用两个栈正好能把顺序反过来实现类似队列的操作。具体实现时是一个栈作为压入栈,在压入数据时只往这个栈中压入,记为stackPush;另一个栈只作为弹出栈,在弹出数据时只从这个栈弹出,记为stackPop。因为数据压入栈的时候,顺序是先进后出的。
2022-10-24 20:56:43
1240
原创 Unity针对高低端机型的优化
不过,通过一些简单的规则将高低端机型区分开来会有很大问题,例如,有些山寨机内存很大,CPU却很烂,安卓版本很高,但内存却很小,所以我们希望有一个综合考虑硬件的系数,可以为每个硬件给出一个评分,最后将CPU型号、内存大小、系统版本号、屏幕分辨率大小、GPU型号这几个硬件的评分综合起来,得出一个总分,用这个分数来判断是高端机、中端机抑或是低端机,这样会比较合理一些。为了让市场上不同机型的设备都能流畅地运行游戏,我们需要区别对待,比如,在高端机型中使用画质好的画面,而在低端机型中使用差一点的画质。
2022-10-24 09:32:56
5112
原创 【左程云Java算法】Chapter1-1:设计一个具有getMin功能的栈
通过上文提到的压入规则可知,stackMin中存在的元素是从栈底到栈顶逐渐变小的,stackMin栈顶的元素既是stackMin栈的最小值,也是当前stackData栈的最小值。如果stackMin中栈顶元素小,则把stackMin的栈顶元素重复压入stackMin,即在栈顶元素上再压入一个栈顶元素。(3)查询当前栈中的最小值操作由上文的压入数据规则和弹出数据规则可知,stackMin始终记录着stackData中的最小值,所以stackMin的栈顶元素始终是当前stackData中的最小值。
2022-10-20 21:17:06
1086
原创 用 Python 实现微信推送消息
Python 可以实现给 QQ 邮箱、企业微信、微信等等软件推送消息,今天咱们实现一下 Python 直接给微信推送消息。这里咱们使用了一个第三方工具pushplus。
2022-10-20 21:01:58
1800
原创 python 生成 exe
python 生成 exe 文件的方法:首先安装 pyinstaller,代码为【pip install pyinstaller】;然后使用 pyinstaller 命令打包成 exe【pyinstaller -F --icon=my.ico…一般 python GUI 编程才用到 打包成 exe,讲道理不如. net 的 winform 好使。二、使用 pyinstaller 命令。#打包成 exe, 且不包含控制台。一、安装 pyinstaller。#打包成 exe,并设置图标。
2022-10-11 19:41:10
9576
2
data-recovery Window数据恢复工具
2022-10-31
Editor Console Pro.unitypackage Version 3.971
2022-09-14
Mobile Tools Complete Game.unitypackage Version 1.4.24
2022-09-14
Octave3D-Level Design.unitypackage 2.4.3.5
2022-09-14
NodeCanvas.unitypackage NodeCanvas.unitypackage
2022-09-14
Character Pack Free Sample.unitypackage
2022-09-14
Odin Inspector and Serializer.unitypackage
2022-09-14
Remote Inspector - Android & iOS.unityPackage Version 1.6
2022-09-14
CustomShaderGUI.unitypackage
2021-06-30
Editor Console Pro 3.952.7z
2021-04-01
Dynamic+Bone+v1.1.5
2020-12-07
TOLUA热更新.pdf
2019-07-03
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人