- 博客(17)
- 收藏
- 关注
原创 常见排序算法-归并排序
(两数组进行合并前,他们的上级合并数组已完成排序,因此合并时,依次对比两数组元素的大小,将较小值滚动存于临时数组中,即可合并完成)时间复杂度O(n log n):划分子数组时,产生递归树高度为log n,合并时,每层操作数为n。此处以c#代码为例,其他语言大同小异(转换为所需语言请看<语法说明>板块以作参考)while(保持循环的条件){循环体} 与其他语言类似,可进行简单替换;1.public表示该函数是公开的,可根据具体语言及需求调整;2.static表示该函数是静态的,可根据具体语言及需求调整;
2024-05-15 17:11:29
326
原创 在Unity中使用Vuforia识别自定义图片、物体
正确安装相应组件后,VuforiaConfiguration文件在Resources文件夹下。添加License Key1.进入登录;2.License Manager→Get Base→Confirm→点击查看key;3.将key粘贴到Resources→VuforiaConfiguration→App License Key;添加Database1.进入https://developer.vuforia.com/license-manager登录;
2024-05-15 15:21:34
644
原创 Git常用信息
(好处:服务器损坏影响小,不需要联网工作;/[Aa]ssets/**/*.meta 不忽略根目录Assets及assets文件夹下所有路径的.meta文件;temp/*.txt 忽略当前文件夹temp/目录下所有txt文件,不包括子文件夹下的.txt文件;<git checkout -b [branch-name]>新建一个分支,并切换到该分支;<git branch [branch-name]>新建一个分支,但依然停留在当前分支;<git branch -d [branch-name]>删除分支;
2024-05-07 14:01:30
249
原创 Unity&HOLOLENS1/2开发-环境部署及打包发布
2.Microsoft.MixedReality.Toolkit.Unity.Extensions.2.8.2(非必须);3.Microsoft.MixedReality.Toolkit.Unity.Examples.2.8.2(非必须);4.Microsoft.MixedReality.Toolkit.Unity.Tools.2.8.2(非必须);4.项目→属性→调试→计算机名→目标HoloLens硬件地址(192.168.x.x)→确定;5.调试/生成栏→Release/x86/远程计算机(或设备);
2024-05-07 13:57:39
995
1
原创 Unity性能优化之静态资源
f.Project Settings-->Player-->Vertex Compression(对模型的位置、光照贴图、uv外的内容进行压缩)及Optimize Mesh Data(删除Mesh中多余的数据,开启后不能更改相应的材质和着色器)可根据情况开启;2D Array(2D纹理数组),能极大提高大量相同大小、格式纹理的访问效率,但需特定平台支持;3.在渲染中采用ASTC(全新格式),ETC,ETC2(移动平台),DXT(PC平台),PVRTC(iOS平台)等硬件支持的纹理压缩格式,节省内存空间;
2024-05-07 13:37:40
650
原创 Unity性能优化之编辑器创建资源
1.当图集利用率不高时(如存在大量透明像素),会造成片元着色器利用率过高,同时纹理采样器浪费大量时间在无效的像素上,致使需要采样的像素不能被尽快采样,即纹理采样器填充率过低,浪费性能;9.Animation适用于动画曲线较少(如UI,Transform动画),运行平台CPU核数较少的场景,而Animator相反,因此在开发时应根据具体情况选用;1.UGUI在Transparent渲染队列中进行渲染,即从后往前画,造成Overdraw过高,片元着色器利用率过高,增加GPU负担;
2024-05-07 13:29:42
360
原创 基于Unity的Android开发(Unity与Android的交互与嵌入)
由于Unity与Android交互开发步骤繁琐,且容易出错,本篇文章以具体项目为样例,以便形象化展示。用到的Unity版本为2021.3.19,AS版本为2022.3,Android真机Redmi K30 Pro。
2024-05-04 23:51:32
2037
1
原创 基于Unity的Android开发(调试基础)
3.打开Android Logcat(Window-->Analysis-->Android Logcat或快捷键Alt+6),将其设置为Auto Run,会自动打印设备上所有打印信息。点击Run-->Run ‘launcher’/Debug ‘launcher’(若为灰色,重启AS即可),即部署至设备开始调试;3.打开VS(或其他编译器),选择调试-->附加Unity调试程序,选择目标设备,并可进行断点操作;打开设备的Unity Remote,并在Unity中运行程序,即可进行调试;
2024-05-04 17:12:46
580
1
原创 Unity3D各平台Application.xxxPath的路径及访问方法
程序包安装路径流媒体资源路径临时缓存路径持久化数据路径PlayerPrefs路径(Mac)
2024-05-04 16:45:31
550
原创 基于Unity的Android开发(主要参数的设置)
在正式开始设置之前,应先将发布平台改为Android:File-->Build Settings-->Platform下选中Android,点击右下角Switch Platform(若无该选项,是因为没有安装Android开发组件,应在Unity Hub中进行安装)(纹理压缩格式):Android一般选择ETC2(老设备选ETC);(ETC2失败备选):一般选择32-bit内存占用相对大;:将项目导出而非发布为apk,可通过Android Studio打开进行二次开发;
2024-05-04 16:21:44
1298
原创 常见排序算法-快速排序
在示例代码中,意为将一个函数作为参数传入,该函数需要两个类型为T的参数,并有一个bool类型的返回值。注意到,假如出现极端情况,如原数组为倒序,那么在递归进行哨兵划分时,总有一个数组长度为0,那么分治策略则无法实现。同时考虑到,当前算法每轮递归都需开启两个新的快速排序,递归树高度将达到n-1,这也会占用较大的栈帧空间。考虑到,需要对每个子数组进行同样的操作步骤,即将所有小于基准数的元素移至其左侧,大于它的元素移至其右侧(我们称之为哨兵划分)。是表示Int32类型的关键字,意为4个字节的有符号整形;
2024-04-24 14:52:18
262
1
原创 主流抗锯齿(Anti Aliasing)技术
每一帧对像素点的一个不同位置进行采样,并于上一帧混合,达成抗锯齿效果。在物体运动时,需将上一帧的像素点位置同步变换至当前帧位置,颜色改变时,使用当前帧颜色,以确保混合正确。对每个像素点的不同位置进行多次采样(2x,4x,8x)根据三角面覆盖采样点个数,计算像素点颜色的混合值。使用高分辨率将图形渲染至虚拟屏幕,再释放回原分辨率,使得图像边缘像素点出现过渡颜色。图像由像素点生成,图像边缘的像素点会覆盖多个三角面,导致显示不正确。对边缘像素进行模糊处理。无法解决图形内部的抗锯齿,及图形移动时出现的闪烁。
2024-04-23 08:46:47
268
原创 常见排序算法-插入排序
在示例代码中,意为将一个函数作为参数传入,该函数需要两个类型为T的参数,并有一个bool类型的返回值。1.从未排序的数组选取第一个作为基准元素,与已排序的数组比较,将大于基准值的元素向右挪一位,最后将基准元素放入空出来的位置;算法中采用了双层循环嵌套,最差的情况下为O(n²),极端情况下(如有序数组),则有可能达到O(n);是表示Int32类型的关键字,意为4个字节的有符号整形;表示该函数是公开的,可根据具体语言及需求调整;表示该函数是静态的,可根据具体语言及需求调整;与其他语言类似,可进行简单替换;
2023-11-22 11:18:22
24
1
原创 常见排序算法-冒泡排序
冒泡排序(Bubble Sort)的原理简述如下:(以倒排、升序为例)1.选出数组中未排序部分,从后向前将相邻两个元素比较,使较小的换至索引值小的位置,循环操作即可将最小值换至首位;2.更新数组的未排序部分,重复以上操作即可完成排序。
2023-11-15 17:52:16
36
原创 常见排序算法-选择排序
选择排序(Selection Sort)的原理简述如下:(以升序为例)1.选取数组中未排序部分的第一个元素(称之为基数),将后续所有元素与之一一对比,记录比其小的值的索引,并替换基数,再将后续元素与之一一对比。重复以上过程即可获取数组中未排序部分的最小值;2.将最小值与第一个元素互换位置,则完成了第一个值的排序。将第二个元素选为基数,重复第1-2步即可完成排序。
2023-11-15 17:08:54
56
原创 游戏开发者需要掌握的PBR基础知识
1.基于微表面(世界中不存在完全光滑的表面);2.能量守恒(如入射能量与反射、折射等能量和相同);3.基于BRDF;当某个流程同时满足以上条件时,我们称之为PBR流程。
2023-11-14 22:22:05
78
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人