- 博客(94)
- 资源 (1)
- 收藏
- 关注
原创 本地自定义域名绑定IP,实现本地域名访问(host)
一般b/s开发中,涉及到本地服务器的,服务器一定是有个固定IP的,前端部署在应用服务器上,每次运行都要IP:端口或者IP/地址;打开你的cmd命令窗口(win+R,输入cmd回车),输入 ipconfig /flushdns,刷新一下dns缓存配置,然后在ping一下自己的域名,看ping出的结果是否是通的,而且ip地址显示的也是我们配置好的,能对上,说名就OK了。在windows下,这个文件编辑后没有权限是无法保存的,可以拷贝一份到桌面进行修改,修改完成后再拷贝回来就是了,注意该类型没有后缀的文件。
2024-08-13 16:10:42
1824
原创 Unity发布PC端exe文件,快速制作一键安装包(exe文件)
在实际Unity开发中,发布了windos平台,Unity会有一些文件夹和运行文件包括类库文件,有些是关键文件,丢失了是运行不了的,但在拷贝过程中,不知道的也不懂拷贝那些,就一股脑全拷贝了,幸运的是拷贝中不出问题还好,有时再拷贝中也会丢失一些资源,导致资源不完整,运行不起来就尴尬了。3.类库文件,xxx.dll ,后缀是点DLL的文件,是项目中用到的库文件,默认情况下你的程序只有UnityPlayer.dll,我这里有额外的其他dll文件,这个你的项目使用有关,但是这里出来的dll文件都是要带出去的。
2024-08-06 17:03:38
1422
原创 Unity Editor开发-自定义快捷键
在使用Unity开发中,各种要求,会涉及到自己开发插件,所有插件都放在菜单栏中,不方便查找,其实Unity是提供了快捷键的。
2024-07-22 11:53:19
635
原创 centos 运维基础命令
在Linux中,文件名和文件夹名不能同时存在(一个文件叫123,在创建一个123的文件夹是不性的)文件名以.开头的就是隐藏文件,需要用-a参数才能显示( ls -a)将终端显示的内容输出或追加到指定文件中,(配合echo使用)rm -r * 删除当前目录下的所有文件(删库跑路)-a 显示指定目录下所有目录于文件,包括隐藏文件。-i 如果复制的文件已经存在,则在命令窗口有提示。有查看文件、创建文件、合并文件、追加文件内容等功能。-r 可以删除目录,以及递归删除目录下的所有文件。
2024-03-07 23:39:19
856
原创 centos 运维基础操作
安装成功,输入如下命令检查是否安装成功,如果返回正确的版本号则表示安装成功。mysql -uroot -p 回车输入密码进入数据库。下载安装java1.8的所有软件包,中途需要输入y来确认下载。如果有旧版本的java,可以用如下方法卸载java。删除数据库 basename你的数据库名称。chmod 777 文件、也可以是目录。查看 程序是否运行 可以看到进程号。选择进入一个数据库 或 切换数据库。根据进程号 kill进程。查看系统是否安装过java。查看数据库中所有数据表。
2024-03-07 23:35:09
685
原创 回顾2023-GarFe(优快云)
首先,通过写作和分享,我加深了自己对技术的理解和应用。通过整理和表达自己的思路,我不仅提高了自己的表达能力,还加深了对知识的理解。其次,通过与读者们的互动和交流,我结识了许多志同道合的朋友,他们给我提供了很多宝贵的建议和反馈。最重要的是,通过博客的分享,我能够帮助到更多的人,让他们从中受益。项目实践:在2023年的博客中,我还分享了一些我个人参与的项目实践。我记录了从项目规划到实施的过程,分享了我在项目中遇到的问题和解决方案。在这里,我将对我在2023年的博客进行一个总结,希望能给大家带来一些启发和帮助。
2023-12-29 10:24:35
598
原创 Unity TextMeshPro 动态扩充字库和设置默认字体
1:找到 TextMeshPro 的字体资源,在 GenerationSettings 中有一个 Multi Atlas Textures 选项,勾选上即可。TextMeshPro 的动态字体是通过图集的方式实现的,而它默认生成的图集是一张1024x1024的图。情况2:新创建的Text默认用的字体是Unity默认字体,还要手动挂下自己做的字体。情况1:用了TextMeshPro,动态字体,但是超出一定数量后,还是会出现方框。这是TMP默认创建动态字体会导致的行为,这实在是很Unity!
2023-12-28 17:40:23
3662
2
原创 Windows 批量特定文件夹及子文件夹下删除特定后缀的文件
删除文件 - E:\StudyTemp\SearchUSBPortConsole\SearchUSBPortConsole.v12.suo。删除文件 - E:\StudyTemp\Win32Console001\Win32Console001.v12.suo。del /a /f /q "D:\我的文档\*.doc" "D:\我的文档\桌面\*.doc"删除文件 - E:\StudyTemp\NetMap\NetMap.v12.suo。删除D:\我的文档 和 D:\我的文档\桌面 里的所有后缀.doc。
2023-12-27 15:15:40
1125
原创 Unity WEBGL,切换audioClip报错Exception: TypeError: AudioBufferSourceNode.start
Unity webgl Exception: TypeError: AudioBufferSourceNode.start: Argument 2 is not a finite floating-point value.
2023-12-16 14:04:50
1031
原创 Unity AssetBundleBrowser插件
1. AB包可以存储绝大部分Unity资源但无法直接存储C#脚本,所以代码的热更新需要使用Lua或者存储编译后的DLL文件,还有HybridCLR热更新插件,代码资源都可以热更。2. AB包不能重复进行加载,当AB包已经加载进内存后必须卸载后才能重新加载。3. 多个资源分布在不同的AB包可能会出现一个预制体的贴图等部分资源不在同一个包下,直接加载会出现部分资源丢失的情况,即AB包之间是存在依赖关系的,在加载当前AB包时需要一并加载其所依赖的包。4. 打包完成后,会自动生成一个主包(主包名称随平台不同而不同)
2023-07-26 09:49:51
967
原创 Unity 接入HybridCLR的点点滴滴,亲测三平台(PC、Android、WebGL)妥妥的。-问题分享
一入热更深似海啊,没有热更是真恼火啊,干啥啥不方便,动不动就得重新发包;说实在的,也是工作之余研究这个,在原有框架基础上接入这个热更,既要保持原有功能,还要支持热更,实实在在、断断续续搞了这么久,终于是接入并测通了,这一路是坎坎坷坷,下面把走过的弯弯绕绕记录下,希望对后来想接入的小伙伴有帮助吧。
2023-07-06 23:37:03
10640
2
原创 Unity 热更新 HybridCLR 对接到项目中
到这里,我们没有重新发布工程,就可以更新程序集里逻辑(看到了我们修改后的日志信息),说明我们热更新(HybridCLR)成功了。1.在HybridCLR示例项目中,Main程序集是源工程,没有加入到热更新里,所以在Mian程序集里的代码逻辑是不能热更新的,这也是一个项目框架设计时要注意的,因为Mian程序集中有LoadDll. cs,在这里处理的热更新程序集的加载,所以这里的变动会直接影响到后续是否要重新打包。LInkXml: 生成LInkxml文件(这里记录了项目中所有用到的基础程序集-(Sys
2023-05-07 23:37:27
6088
7
原创 Unity 热更新 之 huatuo(HybridCLR)
一句话说说huatuo和Hybridclr:huatuo是途游开源的,之前hybird的作者在途游,后来开源华佗,后来被途游收回,就写了hybirdCLR;huatuo热更新是基于IL2CPP VM这个环节来的,和其他热更技术不同;Lua方案:Lua内置Lua虚拟机 + Lua代码 (是在Native excutable asm 环节)ILRuntime方案:内置C#虚拟机 + 解释执行ILRuntime(是在Native excutable asm 环节)
2023-05-06 00:02:33
11560
1
原创 Unity UGUI FQA
1.UI界面中,按钮点击选中后,再点击别的地方,该按钮的选中效果会消失。将按钮组件上的导航navigation设置为none即可。
2023-04-26 17:38:27
317
原创 Unity 各版本下载方法
重点是,一台Pc只允许安装一个UnityHub,一般的cker是指定的Unity版本启动文件和指定的Hub版本,安装完就是一个版本,再换Unity版本,发现不是Unity的cker不对就是hub版本不对,总是这样那样的问题,(这个前提是你想使用cker方式-懂得都懂哈,如果你使用官方个人版,就没这个问题了,直接官网下载hub,在hub里现在你需要的版本即可)。正确使用网络资源,获取到自己想要的hub版本,然后推荐一个cker的git,希望你可以帮助你,拿到hub的cker。
2023-04-26 15:46:18
9407
2
原创 Unity DrawCall优化 - UGUI优化
Unity 展示出来的画面,是通过GPU绘制出来,才显示出来的。在场景中,一个场景内的物体,分几个批次提交给显卡来绘制,就是几个DrawCall。在Unity中,两个地方可以查看DrawCall,1.在Game视口,的Stats,点击一下打开一个窗口,Batches:后面的就是Drawcall值。2.运行时,在菜单栏Window->Analysis->Profilter.再打开的窗口中,点击Rendering,在底部蚕食信息中就会有Draw Calls:就是了。
2023-04-22 22:08:48
3293
原创 Unity中 Prefab导出FBX
Unity 已经在Package Manager中集合了很多实用的插件,比如这里用到的FBX Exporter.也可以在你的 Hierarchy窗口中,选择你要到处的Prefab,右击选择Export To FBX...在Unity的菜单中Window ----> Package Manager,打开包管理界面。导出完成后,打开你的的导出目录,就可以看到导出的fbx了。选中你需要导出的文件 ,就可以直接导出FBX文件了,这里注意导出名字和导出路径,和选项里的导出格式。
2023-04-21 11:45:43
5946
2
原创 (十五)计算机图形学 之 GrabPass截屏、Shader组织优化
1:使用抓屏通道,GrabPass 1) 或 GrabPass{“纹理名称n;GrabTexture方问2:后续的Pass通道使用这个抓屏:3:编写案例(1):创建一个顶点片元着色器:(2):将这个着色器放到overlav队列(3):使用GrabPass通道截屏,并定义好变量来接收(4):设置顶点的Uv坐标;(5):着色使用截图的纹理在Tags中添加 渲染队列 ,保证该物体最后在绘制然后添加Grabpass{} 截屏通道 默认使用 _GrabTexture。
2023-04-20 23:30:49
442
原创 (十四)计算机图形学 之 Shader 渲染通道常用指令(混合模式、Alpha测试、深度测试、通道遮罩、面剔除)
1:在所有计算完成后,决定当前的计算结果输出到帧缓冲区时,如何混合源和目标,通常用来绘制半透明的物体;
2023-04-20 00:16:03
1170
原创 (十三)计算机图形学 之 Shader LOD与渲染队列
1:LOD (Level of Detail),根据LOD来设置使用不同版本的Shader;2:着色器中给SubShader一个LOD值,个LOD值,程序来设置这 个shader的LOD值,只有第一个小于等于LOD值subShader才会被执行;3:每个shader最多只会有一个SubShader被使用;4:通过Shader maximumLoD来设置最大的LOD值;5:设置全局的LOD值,Shader.globalMaximumLOD;
2023-04-19 00:18:03
633
原创 (十二)计算机图形学 之 Shader 基础知识及结构 (表面着色器)
1:#pragma surface 入口函数名称 光照模型 [Options]2:suface 后面跟 表面着色的入口函数 surf(nput IN, inout SurfaceOutput o);
2023-04-13 23:08:18
544
原创 (五·三)计算机图形学 之 Unity顶点片元Shader实例
写Shader没有调试也没有日志,只能靠细心,一点一点慢慢写,先从简单开始写,慢慢调试深入,要对shader中的函数和结构体用法清晰,如果有对这些方面(特别是使用Unity自带结构体时,出现问题,一定要查看Unity自带的cg文件,看是否使用出错),cg文件目录:Unity --> Edit --> Data --> CGlncludes --> UnityCG.ceinc 文件。SinTime: t 是时间的正弦值,4个分量分别是 (t/8,t/4,t/2,t;3:float3是内置向量(x,y,2);
2023-04-13 00:33:38
326
原创 (五·二)计算机图形学 之 Unity代码调用Shader并修改属性值
Color是在shader中,Properties{}里定义好的属性,名称要一直,然后就是给他赋值。我这里使用material.SetColor("_Color", Color.red);这里注意的是,要先给脚本绑定(关联)好材质球(Material)。结构是SetColor(shader属性名称,属性值设置);
2023-04-11 22:46:49
3173
原创 (五·一)计算机图形学 之 Unity Shader的CG基本语法
1:语法和C语言类是,有对应的编译器,程序是给显卡运行;2:可以从渲染流水线中获得对应的输入;3:指定的输出能流入下一个流水线模块;4:操作符号和C语言一样,可以使用+,-*/,
2023-04-09 23:44:00
460
原创 SteamVR开发-使用InteractionSystem实现与物体交互
给物体添加物理属性,当抓取的物体扔出时,需要一个物理的属性时,比如弹力球,这时就可以给这个弹力球的BoxCollider添加物理材质(具有弹力作用的材质),就可以实现。3.DetachFromOtherHand //当手柄抓取物体时,相应的其他手柄就要放下物体。给物体添加该组件,就可以实现手柄对物体抓取,同过手柄的Trigger键对物体的抓取和松开。2.DetachOthers //当手柄抓取物体时,该手柄上的物体就要放下。给要操作的物体添加该脚本,当手柄移入物体时,手柄按键操作即可触发以下事件。
2023-04-08 00:17:59
871
原创 SteamVR-InteractionSystem-实现配套物体同时拿取(弓和箭)
我们这里新建一个Sphere来作为碰撞区域,这里的Sphere只用来做碰撞区域,它的MeshRender的enable去掉选中,然后添加ItemPackageSpawner组件。生成机制: 当碰撞发生时,Spawner会生成一个物体放在手里,同时生成一个轮廓,当手里物体跟轮廓碰撞再次发生的时候,就手中的预制体脱离手柄,然后在原来的地方生成一个物体的预览。交互过程:当手柄跟碰撞体发生碰撞时,激活生成机制,生成我们需要拿取的物体,然后显示拿起物体的轮廓,当放下时跟这个轮廓碰撞时,会自动脱落手柄。
2023-04-08 00:17:26
509
2
原创 SteamVR-线性驱动和环形驱动(LinearDrive、CircularDrive)
其实查看LinearAnimator的源码,可以看出是通过LinearMapping的Value来实现对动画的控制,所以我们在开发当中,我们可以使用自己的方法来通过LinearMapping的Value来实现想要的功能。Rotate GameObject // 该物体是否可以被旋转,默认是可以旋转的,大勾就不能旋转了,但是可以输出一个LinearMapping值。第二步:设置一个把手,新建一个sphere,调整大小,放在cube的一角,并把它作为cube的子物体。
2023-04-08 00:15:05
772
原创 UnityVR交互插件
2、Hmd Transform意味着摄像机Transform,Unity分为了两种形式展现VR场景,一种是由VRCamera渲染的头显显示场景,另一种是由FallbackObjects的Camera渲染的场景,该场景可通过WASD和鼠标左右键控制人物在场景中移动。该交互系统是组件式开发,基本常用的都已组件化,使用时只需对想要实现的功能挂在指定的脚本即可,想要灵活运用就要对这些组件了解,便可以快速实现一些效果。(有比较详细的使用文档,但提供的功能比较少,基本的功能是有实现,但一些写相对深度一点的效果就少了。
2023-04-07 23:36:15
1356
原创 VR凝视功能
3. 接着在设置RericleImage,这里有个小特点,由于凝视圈,在触发时会有个旋转等待的效果,这里设置也要按照指定的目录结构设置;其中GazeController是凝视控制类,这里可以通过射线获取到指定物体,并从物体身上获取想要的脚本或属性,然后可以对该物体进行操作和交互;4.然后设置凝视交互的物体和UI,这里以物体(cube)为例,UI设置与此操作一样,给需要操作的UI添加脚本VRGazeItem.cs 并且 要添加啊BoxCollider。在这个目录下放置凝视圈,按照下图目录放置。
2023-04-07 23:31:55
547
原创 HTC硬件介绍
其中最重要的是头盔中两个屏幕,用的是比较高端的三星AMOLED屏幕,屏幕尺寸对角线为91.8mm,PPI(每英寸集成的像素)达到了447(像素密度越高表现出来的画面就更细腻)。体验者可以在一个小范围的空间中行走,体验制作好的内容。是通过摄像头不停的采集周围环境的图像来达到设备的姿态估计(比如噪音等一些没用的信息也会影响到它的准确性)。是通过计算机视觉,以及设备自身自带的传感器比如陀螺仪、加速器来实现位置的追踪。不需要外部硬件来定位。由LED阵列和横向纵向的两个马达,马达以非常高的频率扫描场景中的定位。
2023-04-07 23:22:38
617
原创 Unity-SteamVR物体交互
脚本中,首先获取手柄引用,运行时,每个TrTrackedObject都有唯一且不重复的ID,通过id即可获取到该Obj的Device,SteamVR为手柄定义了基本的按键操作,SteamVR_Controller.ButtonMask.Trigger(Trigger扳机键、Touchpad触摸板、System系统按钮、Grip侧边按钮、ApplicationMenu菜单按钮,Axis0/1/2/3/4触摸板方向按钮)。以上完成后,点击运行就可以对面前的物体进行操作了。通过以上的了解,下面做个简单的测试。
2023-04-07 23:15:17
2556
原创 HTCVIVE---SteamVR简介
下面这张图,表示了OpenVR和SteamVR的关系,Steam VR基于OpenVR总结出来的一套插件可以说是OpenVR的一个分支,当然Oculus也是根据OpenVR开发出来的,OpenVR只是提供了一套开发AR用到的通用接口,开发者可以根据自己的需要依据OpenVR提供的接口来开发自己所需要的功能。SteamVR Plugin提供的主要是最基本的api,比如一些抓取和事件的调用,但是一些相对高级一点的操作需要在此基础上在深度开发。一、OpenVR 时一套不依赖于特定硬件的API,基于C++开发。
2023-04-07 23:10:08
1184
原创 Unity开发之SteamVR---VRTK简介
另外,对于其它的交互事件,也会提供相应的unity事件处理,比如VRTK_BasicTeleport_UnityEvents(瞬移事件处理)、VRTK_InteractGrab_UnityEvents(抓取事件处理)、VRTK_InteractTouch_UnityEvents(触摸事件处理),对于各事件发生的不同阶段,都会有对应的处理接口,类似于uGUI中Button的OnClick事件处理形式。此外,它表明如果用户踏入不在对象上的游戏区域的一部分,则用户将落到最近的对象。该对象成为控制器的扩展。
2023-04-07 23:09:12
3617
1
原创 局域网内设置共享文件夹
在打开栏里输入共享文件夹的地址(电脑A),地址用\\开头加上共享文件夹的完整路径。至少两台电脑,一台作为共享文件夹主机(电脑A),一台作为访问共享文件夹主机(电脑B)为了确保共享完成,右击你的共享文件夹,点击共享,看到共享式和有了网络路径就ok了。属性面板下,点击共享,打开共享界面,点击“共享”按钮,打开共享详情界面,在电脑中(随便找个盘符)新建文件夹,命名为“共享文件夹”,最后回到共享界面,点击关闭即可,共享文件夹共享完成。回到共享界面,点击高级共享,打开高级共享界面,共享此文件夹打勾,并点击权限按钮,
2023-04-07 23:06:36
1229
原创 OculsQuest投屏方案
如果你缺少权限则会显示unauthorized,如果你什么都没显示或者找不到adb命令,那就是你环境没配置好或者设备没插好,请移步其他文章解决环境问题。运行scrcpy -c 1440:1600:0:0,裁剪为1440x1600分辨率,偏移为0,0进行显示,即可实现单目显示效果,整个屏幕大小是2880x1600,还可以根据自己喜好进行细化调整。首先确保你已经安装好ADB,拥有开发者权限,装好Oculus官方驱动,并且将你要投屏的Oculus Quest的开发者模式开启~无线连接的一连串命令和返回结果。
2023-04-07 23:05:59
627
1
原创 win10提高wifi速度
如果没有打开,提示gpedit.msc找不到,按照以下做法;最后:这时在运行窗口在运行gpedit.msc 就可以打开本地组策略编辑器窗口了。第五步:选择已启用,然后在选项中修改 带宽限制 值改为0,然后点击应用,确定。2.3:写完保存关掉文本,把文本的扩展名改为.cmd,回车点击确定即可。第四步:找到管理模块->网络->QoS数据包计划程序->限制可保留带宽。第三步:点击确定,打开本地组策略编辑器窗口。最后重启电脑,再打开网页,网速嗖嗖的。第一步:窗口键+R打开 运行窗口。2.1:新建一个记事本,
2023-04-07 22:53:42
1141
Best HTTP2 v2.0.5
2023-12-29
Unity内嵌网页-WebView for Windows and macOS Web Browser 4.2
2023-12-29
Playmaker 1.9.0 UNIYTPACKAGE
2023-04-06
Unity 双面Shader
2023-04-06
DoTween-Unity插件,免费分享
2023-04-04
动态骨骼插件DynamicBone1.2.0-Unity插件
2023-04-04
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人