- 博客(153)
- 资源 (6)
- 收藏
- 关注
原创 Unity 多时间源Timer定时器实战分享:健壮性、高效性、多线程安全与稳定性能全面解析
本文介绍了一款功能强大的 Timer 定时器工具类,支持多种时间源(游戏时间、非缩放时间、真实时间),具备延迟执行、循环执行、任务销毁和查找管理等丰富功能。同时,详细列出了该定时器的单元测试内容,覆盖常规和极端场景,确保其稳定高效运行。本文为开发者提供了完整的使用指南和测试保障,方便快速集成和可靠使用定时器功能。
2025-05-17 01:16:11
1558
原创 【开源】Unity 商业级引擎源码加密混淆过马甲包 Il2cpp global-metadata加密方案 Android加固&IOS加固
我们需要修改 MetadataLoader.cpp 文件 对fileBuffer文件进行加工处理 MetadataLoader.cpp路径 C:\Program Files\Unity\Hub\Editor\2021.3.22f1\Editor\Data\il2cpp\libil2cpp\vm unity的安装路径下\Editor\Data\il2cpp\libil2cpp\vm。在转换过程中,global-metadata.dat文件是非常重要的,它包含了编译后的IL代码所需要的所有信息。
2025-04-04 03:47:38
2610
5
原创 Unity NTPComponent应用, 实现一个无后端高效获取网络时间的组件
获取当前真实的UTC时间时 => UTC时间 基数 + ( 当前游戏运行时间 - 记录时间 ) 秒数偏移。真实时间由两个部分组成, 一个是请求一次得到的 真实云UTC时间, 另外一个是当前游戏的秒数TimePoint。能在游戏内断网的时候有效获取到真实的云时间。然后记录当前的游戏运行时间 Time.unscaledTime。//这个就是一个全局的定义,自己写一个类或者 写死一个也行。在游戏启动的时候获取一个 UTC时间 基数。将脚本Copy到你的项目,拖入场景节点上。
2024-12-16 14:42:26
1177
原创 Python 云服务器应用,Https,定时重启
方式有很多种 最简单的一种 先关闭python项目 然后执行一次脚本 如果项目跑起来了 就表示shell脚本成功。协议填tcp 端口8002 备注 python服务器 其他的默认 就可以了。代码保留在案例了 自己去瞅瞅 给你一个发挥的机会 代码可以跑通 自己研究研究。这里填你自己申请的证书文件名 对应的crt和key文件。没有域名的 用ip也可以的 前面要用https。脚本内容 中的PYServer改成你的项目名。宝塔面板 - 计划任务 - Shell脚本。
2023-12-06 11:59:40
1447
原创 如何在前端html上传文件到服务器处理并反馈给前端展示
一种前端post到后端处理并反馈给前端展示的解决方案 仓库地址在评论区html页面接受文件拖拽利于时间戳的实时性 和 PI的不确定性 进行验证FormDataajax上传文件到后台C# http 服务后端SimpleHttp:基于HttpListener二次封装Zip ToolBase64工具类封装基于PI的时钟加密key仓库地址html页面接受文件拖拽enableDropEvent: function (dropHandler, node = null) { var el =
2021-12-06 16:27:37
3236
5
原创 Android Studio 接入 Adjust - 快速入门
快速入门添加 SDK 至您的项目添加下行到您的build.gradle文件:implementation 'com.adjust.sdk:adjust-android:4.28.7'implementation 'com.android.installreferrer:installreferrer:2.2'点击同步添加权限Adjust SDK 需要下列权限。如果尚未添加,请将权限加入您的AndroidManifest.xml文件中:...
2021-11-16 10:09:28
11054
原创 Nginx 反向代理 配置 微信小程序WSS 环境
1. 首先你得确认 你的域名是否已经绑定服务器2. 下载 Nginx 并解压到 云服务器 或者 虚拟机中nginx: download3. 验证 Nginx是否运行正常 在云服务器上 浏览器里运行http://localhost:80/ 正常情况下 你可以看到 Nginx的 欢迎界面 Nginx 启动失败 如何解决关于 Nginx 反代理 启动失败相关问题_Geek7-CSDN博客4. 申请SSL证书 以腾讯云为例...
2021-11-02 10:00:10
2452
原创 关于 Nginx 反代理 启动失败相关问题
测试一下 在你的云服务器 或者虚拟机中 浏览器里输入 127.0.0.1:8080 出现以下界面表示成功。进入 nginx 安装目录下 config 文件夹 找到 nginx.conf。将 http.server.listen 80 改成 8080 或者其它端口。用记事本或者vscode或者notepad++ 打开都行。原因是 nginx默认80端口被占用了。网上部分教程推荐 停止 80端口的进程。我个人推荐 修改nginx的端口配置。修改成功后 双击 nginx运行。
2021-11-01 10:52:24
2348
原创 TypeScript 搭建简单高效的事件派发类 Dispatcher
核心API 方法 (静态方法) 功能 Dispatcher.on 监听事件 参数0: 事件名称, 参数1: 监听方法的作用域 一般传this, 参数2: 监听方法 Dispatcher.off 移除事件监听 参数0:事件名称,参数1:作用域,参数2: 监听的方法 ( 可选 ) 如果不填 会移除 作用域对象的所有监听方法 Dispathcer.dispatch 派发事件 参数0: 事件名称, 参数1 多选可变参数 传入多个参数 Dispatcher....
2021-08-19 14:03:21
634
原创 Cocos Creator 微信小程序 用户登陆授权 透明背景&全屏按钮
直接上源码啦 直接拷贝过去就可以用了 /** * wx授权登陆 * @param _success 登陆成功返回回调 第一个参数是wx用户信息 * @param _fail 拒绝授权返回 */ export function wxLogin(_success, _fail) { //微信登陆 const wx = window['wx'];//避开ts语法检测 const info = ...
2021-03-29 00:27:45
1062
原创 Cocos Creator 微信小游戏无法正确显示头像 解决方案
常见的获取微信头像方法UserInfo: 用户授权成功后 返回的微信用户信息 let url = userInfo.avatarUrl;//用户头像url cc.loader.load({url,type:'jpg'}, (err, texture) => { if(!err){ //创建精灵帧 let avatarSpriteFrame = new cc...
2021-03-29 00:10:54
2067
原创 Laya 物理碰撞优化 分层 和 碰撞过滤
用枚举类给对象分层Laya引擎自身 为 开发者提供了 以下几个层级以下工具类 可以直接拿出用功能有: 获取节点上的3D刚体组件 获取节点上的3D碰撞器组件 设置碰撞组 包含碰撞组 排除碰撞组 深度查找子节点 通过滤镜修改UI颜色 export module LayaUtility { export enum ColliderTarget { /** 子弹 */...
2021-01-29 11:45:42
1687
原创 Laya 如何将Unity场景或模型 导入 laya项目
如何导出Unity摆好的场景 到 Laya bin目录Unity 版本(官方推荐 Unity5.6.x 实际上部分2019的版本也是能正常使用 ) url:https://unity.cn/releases?signup=trueUnity To Laya插件https://ldc2.layabox.com/layadownload/?type=layaairide 官网最新的版本尽量不要去尝试 用最新版本回退两个版本就可以了 ...
2021-01-29 11:40:08
2272
1
原创 Laya 如何修改项目名
首先 将项目目录xxx 替换成 你的项目名其次 将xxx.laya 文件重命名 你的项目名用文本的方式打开 xxx.laya文件xxx.laya文件 实则类似 json的格式文件 可以直接文本编辑器进行读写更改 “proName” 就可以了...
2021-01-29 11:08:51
422
原创 Unity 调用IOS的StoreKit实现在游戏内部的对游戏进行星级评价和评论
IOS文件夹下 新建两个文件 UnityStoreKit.m, UnityStoreKit.h。在Unity目录下 新建一个文件夹 Plugins\IOS。
2021-01-25 14:56:48
1488
1
原创 Unity Timer 轻量高效高精度定时器 实测比Dotween带的定时器开销少10倍
Timer的精度存在 1到2帧 的误差 于此 我修复了它 让它和 Unity内置的Invoke进行对比 确保了一致性。ClearTime 在清理当前类 lambda表达式时 有些bug 一些闭包方法Target存在差异 所以我修复了它。//此方法可以清理 类的所有成员方法定时器调度。现在 它是完全的保持和 Invoke在一帧内的同步。增加 可以通过调用对象来移除所有bind的方法。最近更新日志 2023/04/09。最近更新日志 2023/03/09。通过定时器的调用方法清理。
2021-01-25 11:11:47
6954
14
原创 Unity 微信授权获取openID和token
第一步 我们需要将Unity导出android studio 工程第二步 找到UnityPlayerActivity所在的文件夹新建文件夹 wxapi新建java文件 WXEntryActivity这里 WXEntryActivity 的代码 全部覆盖就好了 不用修改package com.casual.farm.fun.leisure.wxapi;import android.app.Activity;import android.content.Intent;import
2021-01-13 15:47:27
1490
原创 Unity 大地图高性能砍树顶点动画Shader
摘要:本文介绍了一种适用于移动端2D生存类游戏(如饥荒风格)的树木动画优化方案。通过Shader实现大量树木的受击动画效果,避免为每棵树单独使用Spine动画。方案采用MaterialPropertyBlock修改单个对象属性而不打断合批,Shader利用顶点着色器实现基于时间的摇摆动画(类似草动画原理),包含受击摆动和闪光效果。核心代码展示了如何通过时间衰减的正弦波计算弯曲幅度,并附带C#脚本控制动画触发。该方案适合处理开放世界中成千上万的树木动画需求,相比传统LOD方案更轻量。
2026-01-14 10:19:58
346
原创 Unity 大地图 高性能路径引导Shader
本文介绍了一种在Unity中实现动态引导线的方法。通过创建轴心在左侧的四边形Mesh,配合自定义Shader,实现从玩家位置指向目标点的可伸缩引导线。技术要点包括:1)生成左轴心四边形Mesh;2)通过旋转和缩放使线段指向目标;3)Shader实现UV动态平铺和滚动效果。该方法通过计算玩家与目标点方向向量,仅需一个短线段即可实现引导效果,避免绘制长距离路径,并支持动态视觉效果增强引导线的辨识度。适用于游戏中的目标指引、路径提示等场景。
2026-01-14 10:06:13
299
1
原创 Unity 协程GC优化记录
本文展示了两种优化Unity协程等待的方法。第一种采用字典缓存WaitForSeconds对象,避免重复创建带来的GC开销。第二种使用结构体实现自定义等待类型,包括基于游戏时间(WaitTime)、真实时间(WaitRealtime)、帧数(WaitFrames)和条件(WaitUntil/While)的等待,通过实现IEnumerator接口完全避免了GC产生。结构体方案还预定义了常用等待时间常量,提供了更优雅的API调用方式。两种方案都能有效优化协程性能,结构体实现更为彻底且功能全面。
2025-11-06 10:02:00
226
原创 Unity 如何将一个大的图集切成多个小图
本文介绍了在Unity中拆分Sprite图集的方法。首先需要在Sprite Editor中将图片模式设置为Multiple,并使用自动裁切功能分割小图。作者还提供了一个自定义编辑器工具脚本,可将图集拆分为独立图片文件,支持通过菜单或右键操作。该脚本会读取图集中的每个Sprite,创建新的纹理并保存为PNG格式,同时处理纹理的可读写设置。使用此工具可以方便地将游戏图集资源拆分为单张图片,便于后续编辑和使用。
2025-10-27 12:06:31
595
原创 Unity UI 中最干净的点击区域实现:RaycastZone 完整实战讲解
RaycastZone解决了透明点击区域的性能问题。传统用透明Image的方法会产生draw call和GPU负担,而RaycastZone通过继承MaskableGraphic但不绘制图像,实现了零渲染开销的点击区域。其原理是重写OnPopulateMesh清空顶点数据,保留raycastTarget功能。编辑器可开启调试绘制,真机则完全剔除调试代码。性能对比显示RaycastZone无渲染、零开销,是最优解决方案。使用时只需添加组件设置尺寸,无需图片资源,调试时可开启可视化辅助。
2025-09-07 23:21:28
340
原创 Unity 塔防自用可视化路点寻路编辑器
摘要:本文介绍了一个Unity可视化路径编辑器插件,支持贝塞尔曲线路径设计、编辑器扩展等功能。通过Shift+左键添加路径点,Delete删除节点,可编辑控制点调整曲线形状。插件采用序列化数据存储路径信息,不生成额外场景节点保证性能。包含Waypoint和PathData两个核心类,支持自动计算控制点、路径平滑等特性。该工具适用于塔防游戏等需要路径规划的开发场景,可直接在Unity编辑器中使用,相关代码和下载链接已提供。
2025-09-07 19:15:25
820
原创 Unity iOS打包流程 ( 含OC代码调用,SDK接入 )
本文详细介绍了Unity与iOS原生广告SDK的桥接实现方案。主要内容包括:1)环境要求(Unity、Xcode、CocoaPods配置);2)桥接实现原理,通过C#调用Objective-C代码与广告SDK交互;3)完整的代码示例,包含初始化、预加载、展示激励视频、ATT权限请求等核心功能;4)Xcode工程自动化配置(Info.plist修改、Framework添加等);5)常见问题排查指南。该方案实现了跨平台统一接口,支持多广告平台路由,并提供了完整的回调机制和错误处理,为移动游戏接入iOS广告功能提
2025-08-29 17:30:30
1274
原创 AI在研发中的降本增效|孵化提效的方法论与落地
项目移交,AI 生成包含架构、接口说明、流程图、变更记录的全套文档,交接高效无遗漏。总结: AI 让技术人从琐碎重复的文档整理中解放出来,保证技术资产传递的“安全”,同时让团队沟通和协作更加高效可靠,这对于我们 50 计划“快速迭代、快速发布”战略非常有价值。通过分析玩家的文字或语音,判断情绪(愤怒、焦虑、失望),触发安抚策略或转接人工客服,减少差评。•通过 AI 分析不同 PV 的观看率、点击率、转化率,快速调整内容风格与节奏。•自动调整分辨率、画面比例、UI 布局,适配手机、PC、主机、社交媒体平台。
2025-08-28 12:22:33
1135
原创 Unity 打包 iOS,Xcode 构建并上传 App Store
本文将Unity游戏打包发布到iOS平台的全流程精炼为150字摘要: 环境准备:安装Xcode、Unity iOS支持模块,配置开发者账号和证书(App ID、描述文件) Unity配置:切换iOS平台,设置Bundle ID、版本号、IL2CPP脚本后端、最低系统版本等关键参数 构建导出:生成Xcode工程,处理CocoaPods依赖(如需要) Xcode编译:配置自动签名,添加Capabilities,通过Archive生成归档文件 导出IPA:使用xcodebuild命令行或Xcode Organiz
2025-08-28 10:52:32
1209
原创 Unity 自用帧同步架构分享
本文介绍了一套完整的帧同步解决方案,支持确定性计算和高效同步。核心采用Q16.16定点数避免浮点误差,通过位图脏标记实现增量同步。系统包含定点数运算、脏字段追踪、快照管理等组件,支持状态回滚和跨平台兼容。架构设计采用模块化思路,支持最多32个字段扩展。实现上提供了序列化格式、网络同步流程和性能优化建议,包括内存池、批量处理等技术。方案可应用于需要强同步的实时游戏场景,技术指标显示其能满足60FPS稳定运行要求。文中还包含使用示例和扩展指南,便于开发者快速集成。
2025-08-22 10:41:15
959
原创 Unity 开源分享一个轻量路点编辑器插件 常用于对象寻路
文章摘要 本系统实现了一个Unity可视化路点编辑器,支持在Scene视图中添加、删除和拖动路点,并将路点数据存储在List<Vector3>中。核心功能包括: 核心组件 WaypointPath.cs:存储路点数据并提供可视化 WaypointPathEditor.cs:自定义Inspector和Scene交互 WaypointMoverBezier.cs:运行时沿路点平滑移动 主要特性 支持闭合路径和贝塞尔曲线移动 物体移动时自动旋转以跟随方向 提供多种移动模式(循环/来回) 应用场景 NP
2025-08-20 15:43:17
741
原创 Unity 大量子弹和小怪碰撞检测优化
文章摘要: 本文介绍了一个高效的Unity碰撞检测系统实现方案,包含四个核心组件:1)空间哈希网格系统,通过网格分区优化碰撞检测范围;2)碰撞管理器,采用分帧处理和优先级队列减少计算量;3)智能对象池系统,实现游戏对象的复用管理;4)性能监控面板,实时显示FPS和碰撞数据。系统通过空间分区、分帧检测、对象复用等技术手段,在保证准确性的同时显著提升了大规模碰撞场景的性能表现,特别适用于弹幕类或大规模战斗游戏场景。
2025-08-20 15:11:38
718
原创 Unity 好用的客户端框架推荐
本文推荐两款Unity游戏开发框架:1)GF_X是国内开发的自动化框架,支持热更新,适合中小项目,可显著提升开发效率;2)Leopotam.Ecs是乌克兰开发的轻量级ECS框架,0GC、高性能,适合对性能要求高的中大型项目,可作为DOTS过渡方案,但需自行优化多线程。两款框架各有特色,可根据项目需求选择。
2025-08-18 11:39:29
669
原创 C# string.Format 字符串格式化速查表
C# string.Format方法速查表:支持多种格式化方式,包括标准数字格式(C/D/E/F等)、自定义数字格式(0/#/,等)、日期时间格式(d/D/f等)。使用{index:format}占位,可控制对齐(-10左对齐,10右对齐)和空格。常用示例:千分位(N2)、货币(C)、百分比(P1)、固定位数(D4)等。支持IFormatProvider指定区域性格式,如货币符号和日期显示方式。
2025-08-14 10:29:24
270
原创 SpineManager 系统设计文档
SpineManager是一个管理Spine动画的核心单例系统,主要功能包括:对象池管理(避免频繁创建销毁)、分组轮转更新(分散性能压力)、LOD控制(基于距离动态调整更新频率)。该系统通过SpineManagerExtend提供业务逻辑扩展,并使用ScriptableObject配置LOD参数。典型用法包括初始化后通过Spawn/DeSpawn租用回收动画实例,每帧调用Update进行调度。注意事项包括禁止直接销毁实例、必须规范回收等。该系统可有效优化Spine动画性能,支持后续扩展更多业务逻辑。
2025-06-17 17:41:11
1161
原创 Android逆向 - 安卓安装 Charles 系统级 Root 证书
本文详细介绍了如何在安卓设备上安装Charles系统级Root证书,并配置Drony进行网络抓包。首先,在PC端安装并信任Charles的Root证书,然后通过openssl工具生成证书的hash值,并使用ADB将证书推送到安卓设备的系统目录。如果遇到Magisk等系统限制,提供了备用方案,包括使用Magisk模块和手动安装证书。最后,配置Drony以监听特定应用的网络流量,确保手机和电脑在同一WiFi网络下,并手动设置Charles的主机IP和端口。完成这些步骤后,即可成功抓取网络数据包。
2025-05-17 01:36:55
1892
原创 【干货】Unity 异步新范式:手把手教你上手 UniTask(含安装教程与实战)
本文系统介绍了 UniTask —— 一款专为 Unity 优化的高性能异步编程库。对比原生协程与 Task,UniTask 具备零 GC 分配、语法简洁、支持返回值、取消控制等多重优势,特别适用于微信小程序、移动端和 WebGL 等对性能敏感的场景。文章详细讲解了 UniTask 的安装方式(包括 OpenUPM、Git URL 等)、基础用法、高级技巧(如取消令牌、超时控制、任务组合)、以及与 YooAsset 等资源系统的集成实战,帮助开发者高效构建现代 Unity 异步架构。
2025-05-17 01:28:35
2215
原创 Unity 史上用最舒服的Timer定时器插件 + 编辑器扩展 实时显示定时器调度的方法, 可跳转脚本执行方案
Unity 史上用最舒服的Timer定时器插件 + 编辑器扩展 实时显示定时器调度的方法, 可跳转脚本执行方案Unity 有多个线上项目打磨下来的定时器,集好用,安全,高效为一体
2025-04-04 04:14:06
1211
原创 Android逆向进阶篇 Frida+IDA Hook so文件
Frida通过动态注入和JavaScript API提供了灵活的SO Hook能力。结合静态分析工具,可高效定位关键函数,实时监控或修改参数/返回值。建议参考官方文档探索更多高级功能。
2025-04-04 03:21:38
1532
原创 Android逆向进阶篇 Frida安装教程 + Hook猫眼获取uuid + JAD使用实战
案例中是已经运行了,才会有这样的提示, 一般情况下 只会有一个进程pid的显示。==frida版本要和frida-server版本一致 ==打开jadx-gui 找到猫眼apk并打开 等待。下载对应版本的 frida-server。手机和电脑连接 并开启usb调试。走到这一步就算基本环境调试OK了。可以限制包名 点进去。
2025-04-03 05:08:11
1017
原创 Android逆向进阶篇 Charles + Drony Vpn绕过代理检测方案 获取猫眼App数据
Android逆向进阶篇 Charles + Drony Vpn绕过代理检测方案 获取猫眼App数据
2025-04-03 04:49:09
1571
原创 RustDesk 开源远程桌面软件 (支持多端) + 中继服务器伺服器搭建 ( docker版本 ) 安装教程
RustDesk 开源远程桌面软件 (支持多端) + 中继服务器伺服器搭建 ( docker版本 ) 安装教程
2025-04-02 23:36:00
632
原创 Unity中Spine骨骼动画完全指南:从API详解到避坑实战
Spine在Unity中的深度整合需要掌握"资源管线-动画逻辑-渲染优化"三位一体的知识体系。希望本文能帮助各位少走弯路,如果遇到其他"灵异现象",欢迎在评论区交流!本文基于Unity 2021.3 LTS + Spine 4.1版本验证,部分代码可能需要根据项目实际情况调整。实际开发中建议定期备份.spine文件,不同步的版本回退会让你怀疑人生!
2025-02-06 00:49:56
4804
Unity 塔防寻路编辑器插件
2025-09-07
`SpineManager` 是用于管理 Spine 动画实例的核心单例类,主要负责 Spine 动画的对象池管理、分组轮转更新、LOD(细节层次)控制,确保性能与资源使用最优化
2025-06-17
将常用 fnt 字体 转换成 Laya可用字体附赠一套 fnt字体
2022-04-15
Python 移除模拟器设备Id绑定,目前仅支持Mumu模拟器和雷电模拟器
2024-12-17
Unity Global-metedata.dat 混淆加密源码
2024-02-21
Termux app-0.118 通用兼容 arm64,x86 最新版本 APK
2023-07-01
Python调用C#动态链接库 DLL
2023-03-08
Unity 高效对象池管理插件 Easy ObjectPool 2.0
2023-02-28
Unity 对象池插件 Easy ObjectPool 2.0
2023-02-23
Unity 2019.4.15f1 高效轻量对象池插件 最新版本
2023-02-01
Unity 多语言 轻量高效的多语言工具集 LanguageManager
2023-02-20
Python 飞书GitLab提交机器人
2023-02-13
Unity 图片 涂抹/擦除/刮刮乐 效果展示 包含 Sprite, Image, Mesh的涂抹效果
2023-02-01
批量清理Unity项目Library目录
2022-11-12
framework_laya.zip
2022-07-15
laya spine库优化性能16倍。 下载直接替换原文件即可
2022-07-22
Cocos Creator 3.2, 4399小游戏上线 处理 .cconb文件 加载报错, 自动化处理
2022-04-15
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅