自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

两水先木示的博客

记载的不仅仅是知识,还有当年的回忆

  • 博客(557)
  • 资源 (1)
  • 收藏
  • 关注

原创 微信小游戏加速WASM分包操作、使用已有的WASM代码分包文件操作

微信小游戏项目仅更换APP ID使用之前的WASM代码分包文件操作微信小游戏使用已有的WASM代码分包加速分包微信小游戏更换APP ID使用其他项目已有的分包文件快速完成分包

2025-08-26 10:09:39 179

原创 【Unity】微信小游戏判断运行平台是电脑(PC、Mac)还是手机(Android,iOS)

摘要:该代码片段演示了在微信小程序开发中如何判断当前运行设备是PC端还是移动端。通过调用微信API(wx.getDeviceInfo()和wx.getSystemInfoSync())获取平台信息,检查platform值是否为"windows"或"mac"来确定是否为PC设备。开发者可以利用这些接口进行设备类型检测,实现多端适配功能。代码中提供了两种获取平台信息的方式,并最终通过逻辑判断设置isPC标志位。

2025-08-25 16:02:43 286

原创 轻松破解微信小游戏获取游戏资源方法

这篇教程介绍了如何解包微信小程序的游戏资源文件。首先需要从微信文件夹中找到.wxapkg格式的包文件,使用专门的解密工具解包。然后通过团结引擎支持的AssetStudio工具,从解包后的.webgl.data.unityweb.bin.txt文件中提取游戏资源。教程提供了必要的工具下载链接和使用步骤说明,包括如何查找关键文件和加载资源。整个过程需要一定的技术基础,但按照步骤操作即可获取小程序游戏内的资源文件。

2025-08-15 22:05:55 516

原创 【Unity3D】Spine指定帧范围播放(起始帧到结束帧)、Spine动画倒放、Spine局部换皮肤

关键字:Spine、Unity、控制帧数播放、局部换肤、换皮肤本文介绍了Spine在Unity中的两个核心功能实现:反向动画播放和局部换肤技术。在动画控制方面,通过设置TimeScale为负值实现倒放功能,并支持指定帧范围播放。在换肤系统中,详细展示了如何通过代码实现局部皮肤替换,包括皮肤附件生成、贴图优化和内存管理。

2025-08-14 16:09:54 269

原创 【Unity3D】Spine黑线(预乘问题)、贴图边缘裁剪问题

文章摘要:解决Spine导出到Unity的黑边问题,需在Texture打包器启用Premultiplyalpha并禁用Bleed,同时在Unity中调整Texture和Material参数设置。对于边缘裁剪问题,检查Spine资源贴图的Non-powerof2选项,将默认的ToNearest改为None即可解决。两种方案分别针对不同情况的黑边问题,后者还能避免贴图边缘被错误裁剪。

2025-08-13 16:49:40 513

原创 【Unity】Spine重新播放动画时会闪烁上次动画的残影

Spine动画组件修复方法:通过调用SetEmptyAnimation清除当前动画状态,再执行Update和LateUpdate强制刷新,最后使用SetAnimation播放新动画。这个解决方案来自知乎回答,针对Spine动画播放异常的问题提供了有效的修复代码。

2025-08-12 18:28:18 221

原创 【Unity3D】Shader圆形弧度裁剪

本文介绍了在片元着色器中计算中心点与像素点角度的实现方法。通过atan2函数获取-π到π的弧度值,再归一化为0-1范围。关键点在于根据模型坐标系选择正确的计算轴:YX平面使用y/x,ZX平面使用z/x。当角度值超过_AnimProcess阈值时执行discard裁剪。文中强调了不同坐标系下需要调整对应的坐标轴参数,并提供了YX和ZX平面的具体实现示例。

2025-08-04 16:30:23 264

原创 【Unity3D】Ctrl+Shift+P暂停快捷键(Unity键盘快捷键)用不了问题快捷键无法使用问题

Unity 2022.3.18f1版本中突然出现Ctrl+Shift+P暂停快捷键失效问题。经排查发现是Unity编辑器内置的"禁用键盘快捷键"功能被意外勾选导致(可能在点击Stats统计窗口时误触)。解决方法:在编辑器设置中取消勾选该选项即可恢复快捷键功能。建议养成误操作后及时还原的习惯,同时注意检查其他软件快捷键冲突可能性。

2025-08-04 11:38:14 238

原创 【Unity3D】微信小游戏适配安全区域或胶囊控件(圆圈按钮)水平高度一致方案

《Unity面板对齐控制脚本解析》 摘要:该脚本实现了UI面板与微信小程序胶囊按钮的边界对齐功能。核心是通过获取胶囊控件的位置信息(rect.top/rect.bottom)和安全区域数据(_sInfo.safeArea),将父面板的上边界与指定控件对齐。脚本包含像素单位转换逻辑(px转rpx),支持750x1334的开发分辨率适配,并处理了不同平台(WebGL/微信/编辑器)的兼容性。通过调整topSize变量可灵活改变对齐位置,如与安全区域边界对齐等。未获取到位置信息时,可回退到开发阶段自定义的posY

2025-07-08 17:34:12 280

原创 【Unity3D】MeshFilter Mesh instance导致合批失败问题

文章摘要:Unity合批失败问题排查发现,当MeshFilter.mesh属性被访问时(如获取bounds),Unity会自动生成带"instance"后缀的新网格实例,导致相同网格无法合批。正确做法是使用sharedMesh属性(如meshFilter.sharedMesh.bounds)访问原始资源数据,避免生成新实例。类似情况也适用于材质(sharedMaterial),使用shared前缀的属性可维持资源实例一致性,确保合批效果。该机制是Unity防止直接修改原始资源的保护措施。

2025-07-01 15:12:19 193

原创 【Unity】微信小程序真机没有阴影,正交摄像机下没有阴影问题

调整阴影显示问题可通过修改全局阴影距离解决:在Unity20194.0f1中,进入ProjectSettings->Quality,找到ShadowDistance参数进行调整,无需改变摄像机距离,避免影响其他场景元素。该方法既解决了阴影显示异常,又保持了原有摄像机配置的完整性。

2025-06-25 20:15:01 232

原创 【Unity】减少模型内存占用

《Unity2022.3.x内存优化指南》摘要:通过调整模型资源设置可显著降低内存占用。将切线设为None可减少20%-40%内存,开启WeldVertices合并重复顶点,法线设为Calculate可降低50%内存。针对不同Unity版本提供法线计算方案:2017.1前版本用UnweightedLegacy,新版提供四种加权模式(无权重/面积加权/角度加权/面积角度混合加权),开发者需根据模型特性调整参数以保持正常凹凸表现。这些设置需在Inspector面板中手动配置。

2025-06-03 11:22:08 338

原创 【Unity】模型渐变技术 BlendShapes变形

摘要:本文介绍了BlendShapes(变形器)在Unity中的实现方法。首先需要在3DsMax或Blender中通过复制并编辑模型顶点创建变形目标,导出时需勾选变形选项。在Unity中通过SkinnedMeshRenderer组件和脚本控制BlendShapes动画:1)获取BlendShape索引;2)通过空格键触发0-100或100-0的渐变动画;3)使用timer控制过渡速度,完成时自动停止。脚本实现了模型形态的平滑过渡效果,适用于角色表情等动画需求。(150字) 注:原文中部分HTML特殊字符(如

2025-05-30 18:42:36 563

原创 【Unity】自动生成围绕模型的路径点

思路:根据mesh获取模型[minY,maxY] 路径点数量=50,则高度均分为50层,每层取1个点作为路径点,每层利用射线检测获取到该层的。,angle数据是每次取外部点都会自增固定角度并会angle%360保证不超出360,从外部点到内部点进行射线检测即可得到。,中心点=围绕该层点旋转360度由外到内射线撞击点总和/撞击点数量,将中心点作为内部点,将。沿着正X轴外移并围绕Y轴旋转。

2025-05-28 15:44:35 409

原创 【Github】git clone final connect fail xxx.xxx.xxx github.com 无法连上github问题

Git连接失败可能是端口或代理问题导致。当出现"Failed to connect to 127.0.0.1 port 2340"错误时,说明本地代理端口被某些软件修改。可以通过GitGUI工具检查端口设置,并使用以下命令修改或清除代理配置:设置代理端口为git config命令,清除代理用--unset参数。查看当前全局配置用git config --global -l。若改https为git协议仍无法连接,需检查端口设置是否正确。

2025-05-20 21:49:26 337

原创 【Unity3D】摄像机适配场景以及Canvas适配

理由:小于代表真机高度比开发高度更大,因此不需要担心高度上的遮挡,而应担心宽度的遮挡,为了避免宽度上有遮挡问题,因此保证宽度不变策略;右图是真机分辨率下适配后的情况,保证宽度不变(可见宽度上的绿色边缘处是紧贴着屏幕边缘),将整个3D场景所有元素放于一个根节点下,往下移动一定距离来紧贴白色UI。左图是开发分辨率下的情况(宽度和高度均正常 设计上就是如此)开发分辨率 750*1334 (宽高比:0.56)(下面的一行白色是UGUI UGUI紧贴着屏幕底下边缘)真机宽高比<开发宽高比,采用宽度不变策略。

2025-03-22 18:20:50 765

原创 【Unity3D】Addressables使用流程

如果你的shader是Standary 标准着色器,这个着色器变体非常多,会导致包体变大,可以去获取shader源码 Standary.shader 简化Standary只保留需要使用的,具体可以百度应该有。Remote.LocalPath 改为 http://ip:port/[BuildTarget] 例如:http:localhost:6800/[BuildTarget] (不过我的默认就是对的)默认是:http://[PrivateIpAddress]:[HostingServicePort]

2025-03-16 20:58:12 1494

原创 Windows搭建SVN本地服务器 + TortoiseSVN客户端

安装过程到选路径会有3个路径可选Location 安装目录、Repositories SVN库目录、 Server Port 端口 改为8443、Backups 备份文件目录 最好都放到一个目录下例如:D:\Tools,然后分别建3个文件夹作为以上3个目录。找到VisualSVN Server Manager运行创建一个SVN库直到下面这个图,会开放全部用户可读写库。如果不想开放全部,只允许部分用户使用的话,比如只有某些成员能使用客户端库,其他成员无法访问服务器库,那么就要选用。

2025-02-13 17:08:44 3639

原创 【Unity3D】Jenkins Pipeline流水线自动构建Apk

解决groovy.lang.MissingPropertyException: No such property: Platform for class: Cannot invoke "java.util.Map.size()" because "map" is null使用Pipeline Script 脚本式Groovy语法流水线式自动构建安卓apk包Tomcat 10.0.5 + Jenkins 2.492.1(.war) + JDK 17 启动Jenkins Unity保持使用JDK 1.8

2025-02-12 23:32:46 1169 5

原创 【Unity3D】Unable to detect SDK in the selected directory

打开Android Studio的SDK Manager更新Android SDK Tools。某天突然发现SDK选中自己的目录 或 打安卓包时 提示SDK Tools相关的报错。

2025-02-12 11:05:15 559

原创 An existing Android SDK was detected. The setup wizard will only download missing or outdated SDK...

查询dl.google.com 国内的IP,并且使用cmd ping 通这个IP,然后就可以将这个IP设置到hosts文件里(hosts文件位于:C:\Windows\System32\drivers\etc下,其他系统百度看下)而我的原因就是因为旧的IP已经失效了,要更新到新的IP,如果有类似的问题很有可能还是代理相关的问题。一觉醒来,Android Studio的Android SDK无法正常显示,只会显示出已安装的内容,未安装的都不见了。

2025-02-12 10:41:16 1068

原创 【Unity3D】UGUI的anchoredPosition锚点坐标

本文直接以实战去理解这三个坐标,围绕着将一个UI移动到另一个UI位置的需求进行说明。(anchoredPosition)UI锚点坐标,它是UI物体的中心点坐标,以UI物体锚点为中心的坐标系得来,UI锚点坐标受锚点(Anchors Min、Max)和 中心点Pivot影响。

2025-02-10 20:00:31 1614

原创 【Unity3D】实现横版2D游戏——攀爬绳索(简易版)

基于实现了单向平台后才能进行攀爬绳索到平台,否则攀爬到平台后会被阻挡,以及无法从平台往下攀爬。

2025-01-30 17:33:07 1263

原创 【Unity3D】实现横版2D游戏——单向平台(简易版)

项目Demo直接使用免费资源:Hero Knight - Pixel Art (Asset Store搜索)打开Demo场景,进行如下修改,注意Tag是自定义标签SingleDirCollider对HeroKnight增加如下脚本:核心思路:利用Physics2D.IgnoreCollision(碰撞器1,碰撞器2,[true])忽略或恢复传入的2个碰撞器之间的碰撞。

2025-01-30 00:26:11 873

原创 【Unity3D】实现横版2D游戏角色二段跳、蹬墙跳、扶墙下滑

蹬墙跳要调整好Jump On Wall H Force 横向力 和 Jump On Wall V Force 纵向力 数值才能表现正常,其中 V Force 是在 1的基础上的增量值,这里的力并非物理力实际是速度增量倍率。代码则是:Mathf.Sqrt(2f * jumpHeight * -gravity),加速度是重力反方向,跳跃高度固定,则计算出了速度增量,之后用它乘以(1+V Force)得出的一个对Y轴速度影响的增量。跳跃对Y轴速度影响是用公式:根号2gh。可做辅助射线查看是否正常射线检测到墙体。

2025-01-29 11:43:25 750

原创 【Unity3D】实现2D角色/怪物死亡消散粒子效果

关于Billboard和Stretched Billboard区别是前者仅永远朝向摄像机,后者还会根据粒子速度越快拉伸粒子,越慢压缩粒子,呈现动态运动粒子效果,具体可以自行调整一些相关参数测试。Particle System3物体(拷贝物体2修改,与物体2区别噪声不带曲线变化固定为1,且改为非爆发式,而是随着时间逐步发射10000个粒子至结束)Particle System2物体(拷贝物体1修改,与1物体区别在于速度带噪声影响且速度前期平缓变化、后期变化幅度大)

2025-01-28 22:49:55 995

原创 【Unity3D】实现2D小地图效果

2D玩家添加Dotween移动DOPath效果,移动完成后进行刷新小地图(小地图会顺便刷新大地图)

2025-01-28 12:03:19 981

原创 【Unity3D】实现Decal贴花效果,模拟战旗游戏地形效果

涉及知识点:Decal贴花、屏幕后处理Bloom、屏幕空间构建世界空间、ChracterController物体移动、Terrain地形创建。

2025-01-27 18:15:04 1122

原创 【Unity3D】Tilemap俯视角像素游戏案例

自上而下分别是:tile_0025、tile_0012、tile_0014、tile_0036、tile_0038、tile_0026、tile_0024、tile_0037、tile_0013、tile_0039、tile_0040、tile_0041、tile_0042。之后在Scene场景绘制地形即可,如下操作,先打开素材库Tile Palette,再选中画笔后,选择素材库的其中一个素材,例如泥土地形,然后直接去到Scene窗口左键白色描边格子绘制。会生成这些Tile文件。

2025-01-27 00:48:29 1603

原创 【Unity3D】《跳舞的线》游戏的方块单方向拉伸实现案例

运行游戏点击空格动态创建拉伸的方块,由Speed控制速度,新方向是随机上下左右生成。通过网盘分享的文件:CubeMoveMusic.unitypackage。

2025-01-24 23:33:12 572

原创 【Unity3D】aab包太大无法上传Google问题

‌勾选Split Application Binary‌:资源会被拆分成多个部分,超过150MB的部分使用Play Asset Delivery进行分发,可以根据设备类型自动分发不同架构的资源,减少用户设备的存储需求。‌不勾选Split Application Binary‌:所有资源包含在一个单一的aab包中,不需要额外的下载步骤,但可能会增加aab包的大小。

2025-01-24 17:47:16 1232

原创 【Unity3D】Unity混淆工具Obfuscator使用

混淆后屏蔽TestA.dll混淆默认日志文件。

2025-01-23 21:40:29 2912

原创 【Unity3D】3D物体摆放、场景优化案例Demo

通过网盘分享的文件:PlaceGameDemo2.unitypackage链接:提取码: fpfm1、负责加载建筑数据表(BUILD_CONFIG_JSON_STR)json内容id:1,Build_A(立方体)、id:2,Build_B(球体)2、构建世界World类对象(1000*1000*1000大小)以100*100*100的立方体为房间Room填充World空间。World由若干个Room组成,Room下可存放若干个处于Room范围内的物体(Unit封装)

2025-01-20 18:42:18 1566

原创 【Unity3D】利用Hinge Joint 2D组件制作绳索效果

其子节点的情况和动态绳索一样,挂载2D刚体、HingeJoint2D以及2D碰撞体,区别在于没有Anchor空物体作为节点头部,而是直接以whitecircle作为第一个节点,它连接的2D刚体是StaticRope的2D刚体。1、关于绳索节点图片,使用的是50*50的白色圆形图片,不要有多余的透明区域,否则会影响绳索表现,例如图片留白很多,绳索节点的形变会很抽象,还有使用长方形图片也有点抽象,尽量选择相同宽高的图片作为节点。2、所有DynamicRope下的物体都有HingeJoint2D组件,

2025-01-17 22:54:25 1224

原创 【Unity3D】远处的物体会闪烁问题(深度冲突) Reversed-Z

因为深度值是浮点类型float32,其浮点数记录无法保证精确度的,它仅有23个二进制有效位保存数据,8位是指数位,1位是符号位,其中23位只是小数有效位,若只谈纯整数它有24位有效位,2^24代表16777216个整数,例如:1.1111111....111 小数点后面是23个1,指数是2^23,那么就会得到 11111111...1111 (24个1)的二进制数,这个最前面的1是默认存在的(IEEE754规范)例如,左图Y轴[80,100]范围,其红色点密集,代表深度大的物体能准确表达深度;

2025-01-17 01:48:18 1056

原创 【C盘清理】C盘清理工具、Unity缓存文件转移

设定后需要重启电脑生效,重启后重新打开Unity项目会自动生成到新的目录下,然后把旧的目录删除,或许也可以直接剪切原目录的内容到新目录下,但有访问中的问题 还是直接重启算了。将C:\Users\用户名\AppData\Local\Unity\cache下的2个文件目录packages和npm转移到如下2个系统变量指定的文件目录。FolderMove 将文件目录转移到另一个地址,转移后会保留快捷访问文件在原地址,实际内容已经转移到其他地方。(最好是转移,彻底删除可能出问题)Unity相关缓存转移出C盘。

2025-01-12 20:18:23 689

原创 【Unity3D】利用IJob、Burst优化处理切割物体

麻烦的地方是所有List都要改成NativeArray,所有Dictionary都要改成NativeHashMap,以及不能传递GameObject,Transform等,也就是不能有任何的引用类型对象出现在继承了IJob接口的脚本,而且CutJob是一个struct结构体。使用Job、Burst会将切割数据处理放到一个非主线程处理,并行加速计算。

2025-01-11 22:24:17 415

原创 【Shader案例】大地图迷雾实现思路

场景布局:地板Scale(40,1,40) 云层Cloud平面Scale(40,1,40) 保持一样大小,将云层平面X和Z值保持与地板一样,Y值拉大,让云层平面正位于地板上空。新建1个层级:Cloud,云层物体Layer层级设置为Cloud,射线检测只检测这一层的。其他代码部分相当简单了,就是射线检测拿到uv转局部坐标(x,y)去设置动态生成的遮罩纹理Texture2D(x,y)的像素R通道为0,就达到了裁剪这一个格子效果。

2025-01-10 19:49:51 965

原创 【Shader】漫反射、高光反射案例

【代码】【Shader】漫反射、高光反射案例。

2025-01-08 23:19:37 243

原创 【Unity3D】导出Android项目以及Java混淆

只有上面的这种成功信息,不要只看CONFIGURE SUCCESSFUl,而是其他相关的警告也没有才正常,正常后就能看到Build Apk,否则是无法看到的。利用镜像地址加速下载gradle-6.7.1-all gradle压缩包,下载到C:\Users\用户名\.gradle\wrapper\dists下。可通过观察这些文件后缀版本名看自己的对应多少版本或网上查询,这些版本不对应上就会出很多编译问题,即使你是空工程!gradle plugin 4.2.0版本对应gradle 6.7.1版本。

2025-01-08 18:25:22 1249

Unity/C#的Excel转二进制和XML工具

工具是在UNITY编程环境下使用的,若个人需要可视情况改写,与EXCEL的交互是使用EPPlus插件,插件附带在资源里面,可满足大部分的转换需求

2019-01-29

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除