<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[xinjaystudio的博客]]></title><description><![CDATA[​​Stay Hungry,Stay Foolish!]]></description><link>https://blog.youkuaiyun.com/xinjay1992</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; xinjay1992]]></copyright><item><title><![CDATA[【unity】一次unity内存闪崩分析记录]]></title><link>https://blog.youkuaiyun.com/xinjay1992/article/details/159004830</link><guid>https://blog.youkuaiyun.com/xinjay1992/article/details/159004830</guid><author>xinjay1992</author><pubDate>Fri, 13 Mar 2026 10:30:29 +0800</pubDate><description><![CDATA[本文提供了一种通过信号量挂起unity真机包进程，分析主线程卡死内存闪崩问题的思路。]]></description><category></category></item><item><title><![CDATA[【逆向】Frida 游戏逆向分析使用指南]]></title><link>https://blog.youkuaiyun.com/xinjay1992/article/details/158879258</link><guid>https://blog.youkuaiyun.com/xinjay1992/article/details/158879258</guid><author>xinjay1992</author><pubDate>Tue, 10 Mar 2026 10:38:12 +0800</pubDate><description><![CDATA[摘要：本文介绍了Frida动态插桩工具在游戏逆向分析中的应用，重点推荐了适用于Android 9雷电模拟器5的Frida 16.0.1版本。文章详细讲解了环境搭建步骤，包括模拟器配置、abi检测、Frida安装、frida-server部署等关键环节。同时提供了逆向分析的实用技巧，包括Native函数Hook方法（参数打印、调用栈追踪）和主动调用Native函数的实现方案，并附有完整的JavaScript代码示例和操作截图。该指南为游戏逆向工程和安全测试提供了实用的技术参考。]]></description><category></category></item><item><title><![CDATA[【AI】关于Antigravity无法连接网络问题]]></title><link>https://blog.youkuaiyun.com/xinjay1992/article/details/158740546</link><guid>https://blog.youkuaiyun.com/xinjay1992/article/details/158740546</guid><author>xinjay1992</author><pubDate>Fri, 06 Mar 2026 17:49:53 +0800</pubDate><description><![CDATA[遇到Antigravity无法正常连接网络时，可以使用ProxyBridge转发Antigravity的所有网络请求至我们的代理端口来解决！]]></description><category></category></item><item><title><![CDATA[【unity】Shader艺术之基于邻接掩码的贴图接边问题修复方案]]></title><link>https://blog.youkuaiyun.com/xinjay1992/article/details/157698251</link><guid>https://blog.youkuaiyun.com/xinjay1992/article/details/157698251</guid><author>xinjay1992</author><pubDate>Wed, 04 Feb 2026 10:16:47 +0800</pubDate><description><![CDATA[在我们对整张贴图进行切分时通常是按固定尺寸进行均匀均分的，因而在每个图块边缘采样时，缺乏邻近图块像素信息，进而导致采样内插出错。在开发如SLG、开放世界游戏等的小地图或处理超大UI背景时，我们通常会将一张巨大的贴图切分成许多小图块进行动态加载拼接，以优化内存。切出来的图片变大了，如果我们直接贴在原本大小的 Quad 上，画面会被压缩。究其原因，无非是在贴图边缘进行采样时出了问题。通过引入邻接像素缓冲区，双线性插值在边缘处可以获取到正确的像素颜色，接缝彻底消失，拼接效果如同原图一般丝滑。]]></description><category></category></item><item><title><![CDATA[【unity】性能优化之——精准获取CPU型号]]></title><link>https://blog.youkuaiyun.com/xinjay1992/article/details/156329205</link><guid>https://blog.youkuaiyun.com/xinjay1992/article/details/156329205</guid><author>xinjay1992</author><pubDate>Mon, 29 Dec 2025 09:39:06 +0800</pubDate><description><![CDATA[本文提出了一种在unity中基于SOC信息配合SOC映射表，精准获取移动设备CPU型号的方法，有效解决了在unity游戏开发过程中难以获取CPU型号的问题。]]></description><category></category></item><item><title><![CDATA[【unity】Shader艺术之unity内置变量个性化控制]]></title><link>https://blog.youkuaiyun.com/xinjay1992/article/details/156143120</link><guid>https://blog.youkuaiyun.com/xinjay1992/article/details/156143120</guid><author>xinjay1992</author><pubDate>Mon, 22 Dec 2025 09:43:40 +0800</pubDate><description><![CDATA[在unity shader开发过程中，有些时候时候我们会使用unity一些内置变量，来实现一些受unity执行过程控制的效果。比如，使用"_Time"来实现一些受时间控制的效果。但是这些变量往往会受时间缩放（）影响，这在一些特殊场景中可能并不是想要的，比如在战斗过程中，我们可能加速了战斗，但不希望战斗中的一些特效也受时间缩放影响，同时也不想过多调整Shader，这时候对这些内置变量的个性化控制就很有必要了。]]></description><category></category></item><item><title><![CDATA[【unity】PowerVR GE8320系列GPU渲染问题分析]]></title><link>https://blog.youkuaiyun.com/xinjay1992/article/details/154494602</link><guid>https://blog.youkuaiyun.com/xinjay1992/article/details/154494602</guid><author>xinjay1992</author><pubDate>Thu, 06 Nov 2025 17:40:00 +0800</pubDate><description><![CDATA[鉴于项目使用的是BRG直接绘制方案，结合上述报错日志，以及获取到的设备渲染相关信息（SystemInfo.graphicsShaderLevel=50,对应于shader target:5.0，满足shader target4.5的需求；，因此项目也可考虑不在兼容PowerVR GPU设备，对于PowerVR GPU包括但不限于GE8320系列GPU，如若再次出现BRG无法正常渲染，可直接放弃；同时同步向unity官方反馈该bug，以期官方在未来的修复；鉴于PowerVR GPU存在诸多的问题，而。]]></description><category></category></item><item><title><![CDATA[【unity】Obfuz类型导出及注册工具ObfuzKlassExporter]]></title><link>https://blog.youkuaiyun.com/xinjay1992/article/details/150762977</link><guid>https://blog.youkuaiyun.com/xinjay1992/article/details/150762977</guid><author>xinjay1992</author><pubDate>Mon, 25 Aug 2025 11:20:52 +0800</pubDate><description><![CDATA[ObfuzKlassExporter是面向[Obfuz](https://github.com/focus-creative-games/obfuz)的一项辅助工具，方便开发者快捷批量导出指定类型，用于ObfuscationTypeMapper.RegisterType()类型注册，方便用指定类型名获取被加固混淆后的类。]]></description><category></category></item><item><title><![CDATA[【unity】Obfuz加固混淆日志还原解析方案ObfuzResolver]]></title><link>https://blog.youkuaiyun.com/xinjay1992/article/details/150548652</link><guid>https://blog.youkuaiyun.com/xinjay1992/article/details/150548652</guid><author>xinjay1992</author><pubDate>Wed, 20 Aug 2025 11:50:21 +0800</pubDate><description><![CDATA[ObfuzResolver是基于针对的一项辅助工具，方便开发者在unity编辑器中或者运行时快捷将使用Obfuz混淆加固后的日志信息还原为原始信息，以辅助开发者快速定位Bug。]]></description><category></category></item><item><title><![CDATA[一种基于HybridCLR并依赖于默认程序集（Assembly-CSharp.dll）的热更方案]]></title><link>https://blog.youkuaiyun.com/xinjay1992/article/details/149230040</link><guid>https://blog.youkuaiyun.com/xinjay1992/article/details/149230040</guid><author>xinjay1992</author><pubDate>Wed, 09 Jul 2025 18:14:45 +0800</pubDate><description><![CDATA[HotUpdatePacker是一款基于HybridCLR的扩展工具，支持依赖于默认程序集(Assembly-CSharp.dll)的子程序集热更新]]></description><category></category></item><item><title><![CDATA[【unity】Vulkan模式下部分Android机型使用VideoPlayer组件播放视频异常问题]]></title><link>https://blog.youkuaiyun.com/xinjay1992/article/details/147350641</link><guid>https://blog.youkuaiyun.com/xinjay1992/article/details/147350641</guid><author>xinjay1992</author><pubDate>Sat, 19 Apr 2025 15:15:45 +0800</pubDate><description><![CDATA[考虑到Vulkan高性能的优势，项目组决定打包设置为vulkan优先，opengl es次之的方案；unity中在移动平台下对mp4视频文件默认处理成H264编码格式（对应MIME为"video/avc"），在运行时优先使用硬件解码，在不支持硬件解码时回退到软件解码，而部分设备在vulkan模式下这个回退操作有问题，因此在启动unity运行时前先检测视频解码器是否支持硬件解码，支持则走vulkan模式，不支持则走opengl es模式；引入依赖的java类。]]></description><category></category></item><item><title><![CDATA[无GC提取List＜T＞对应Array方法分析]]></title><link>https://blog.youkuaiyun.com/xinjay1992/article/details/117638408</link><guid>https://blog.youkuaiyun.com/xinjay1992/article/details/117638408</guid><author>xinjay1992</author><pubDate>Sun, 06 Jun 2021 23:46:35 +0800</pubDate><description><![CDATA[最近在分析unity Mesh的一个方法public void SetIndices(List&lt;int&gt; indices...)发现一个有趣的地方，其内部使用了一个
]]></description><category></category></item><item><title><![CDATA[关于取模运算的小技巧]]></title><link>https://blog.youkuaiyun.com/xinjay1992/article/details/117406562</link><guid>https://blog.youkuaiyun.com/xinjay1992/article/details/117406562</guid><author>xinjay1992</author><pubDate>Sun, 30 May 2021 23:47:40 +0800</pubDate><description><![CDATA[取模运算的定义：
]]></description><category></category></item><item><title><![CDATA[深度解析HDR]]></title><link>https://blog.youkuaiyun.com/xinjay1992/article/details/108672007</link><guid>https://blog.youkuaiyun.com/xinjay1992/article/details/108672007</guid><author>xinjay1992</author><pubDate>Fri, 18 Sep 2020 20:02:41 +0800</pubDate><description><![CDATA[随着数字摄影时代的深入发展和计算机软硬件技术的进步以及人们对数字图像品质提高的进一步需求日益强烈，一百七十五年以来传统胶片时代影像动态范围狭窄的瓶颈现在终于被HDRI（High-Dynamic Range image高动态范围图像）技术突破。但是，在我们摄影界包括广大的摄影爱好者，对什么是HDRI还相当陌生。即就是对PHOTOSHOP比较熟悉的摄影师，也依然基本上停留在LDRI（Low-Dynamic Range Image低动态范围图像）层面上工作。什么是HDRI（高动态范围图像），它和我们目前普遍使用的]]></description><category></category></item><item><title><![CDATA[【unity】便捷开发之宏控制面板]]></title><link>https://blog.youkuaiyun.com/xinjay1992/article/details/108112010</link><guid>https://blog.youkuaiyun.com/xinjay1992/article/details/108112010</guid><author>xinjay1992</author><pubDate>Wed, 19 Aug 2020 23:07:05 +0800</pubDate><description><![CDATA[一应用背景

在项目开发过程中，常常会使用一些宏命令来开启或关闭某些功能模块，在项目日渐复杂后这种情况越来越普遍。此时我们可以在Project Settings-&gt;Player中针对不同平台设定其需要开启的宏，如下图：



但这种做法存在一些问题，我们需要不厌其烦的对不同平台进行设置，很容易误删或者拼写错误，因此一个统一管理工程所需宏命令的工具显得尤为必要，本文将针对这种需求设计一款宏命令控制面板。

二.设计思想

1.获取指定平台当前已设定的宏命令：GetScriptingDefineSymbo]]></description><category></category></item><item><title><![CDATA[【unity】自动化流程之代码修改导航网格参数]]></title><link>https://blog.youkuaiyun.com/xinjay1992/article/details/108068712</link><guid>https://blog.youkuaiyun.com/xinjay1992/article/details/108068712</guid><author>xinjay1992</author><pubDate>Tue, 18 Aug 2020 23:45:14 +0800</pubDate><description><![CDATA[一.应用背景

由于公司项目较大，为了妥善管理庞大繁杂的资源，我们采用了工作场景和运行时场景相分离的策略，将美术工作场景独立出来。美术人员只需要在自己的工作场景下操作，待场景搭建完善后，采用一套自动化的Build工作管线将美术工作场景资源导出为运行时所需的场景资源，以此来实现自动化的工作流程。该自动化Build管线也较为复杂，除了具体资源的Build逻辑外，还包括大量资源的依赖关系重建。在Build管线的开发过程中需要在我们的代码中大量调用并设定许多系统参数，而许多参数unity并未直接提供API来设定，因]]></description><category></category></item><item><title><![CDATA[【unity】Game视图与Scene视图同步]]></title><link>https://blog.youkuaiyun.com/xinjay1992/article/details/108065220</link><guid>https://blog.youkuaiyun.com/xinjay1992/article/details/108065220</guid><author>xinjay1992</author><pubDate>Mon, 17 Aug 2020 22:16:44 +0800</pubDate><description><![CDATA[一.应用背景

在大中型项目中，经常需要Game视图和Scene视图实时同步，以便观察分析场景的渲染效果，因此我们需要实时将Game视图相机调整到Scene视图中场景观察相机的状态，主要涉及到Game视图相机的位置（position）及旋转角（rotation）的调整。

二.设计思想

1.通过SceneView.lastActiveSceneView.camera获取当前Scene视图中的观察相机；

2.每帧调整Game视图相机的position和rotation；

3.为了保证脚本在编辑器模式下也]]></description><category></category></item><item><title><![CDATA[【日常刷题】LeetCode——除自身以外数组的乘积]]></title><link>https://blog.youkuaiyun.com/xinjay1992/article/details/107744048</link><guid>https://blog.youkuaiyun.com/xinjay1992/article/details/107744048</guid><author>xinjay1992</author><pubDate>Sun, 02 Aug 2020 13:59:40 +0800</pubDate><description><![CDATA[题目：LeetCode高级算法——除自身以外数组的乘积



解题思路

对于这道题，初一看没什么思路，但仔细一项，除自身以外数组但乘积不就是自身左边的数组乘以自身右边的数组。基于此，我们只需要顺序计算每个数左边数组的乘积，然后逆序计算每个数右边数组的乘积，然后再相乘不就是最后的结果了吗？


public class Solution {
   public int[] ProductExceptSelf(int[] nums) {
        var result=new int[nums.Leng]]></description><category></category></item><item><title><![CDATA[【日常刷题】LeetCode——四数相加 II]]></title><link>https://blog.youkuaiyun.com/xinjay1992/article/details/107741546</link><guid>https://blog.youkuaiyun.com/xinjay1992/article/details/107741546</guid><author>xinjay1992</author><pubDate>Sun, 02 Aug 2020 10:55:35 +0800</pubDate><description><![CDATA[题目：LeetCode 高级 - 四数相加 II



解题思路一（暴力解法）

四重循环，时间复杂度，这显然不可接受。


public class Solution {
    public int FourSumCount(int[] A, int[] B, int[] C, int[] D) {
        var length=A.Length;
        var count=0;
        for(var i=0;i&lt;length;i++){
            for]]></description><category></category></item><item><title><![CDATA[【unity】性能优化之——视锥体剔除(Frustum Culling)（一）]]></title><link>https://blog.youkuaiyun.com/xinjay1992/article/details/107550433</link><guid>https://blog.youkuaiyun.com/xinjay1992/article/details/107550433</guid><author>xinjay1992</author><pubDate>Fri, 24 Jul 2020 00:47:01 +0800</pubDate><description><![CDATA[一.应用背景

在现代游戏中，游戏资源越来越多，游戏场景也越来越大越来越复杂，虽说硬件设备更新迭代很快，性能也日渐强大，但这还远不能缓解复杂繁多的资源带来的性能压力，因而性能优化仍然很有必要。场景资源的剔除是性能优化的一个重要方面，剔除方式也有很多，比如OcclusionCulling、Frustum Culling、layerCullingDistance等。由于项目的需要，这里重点关注Frustum Culling（视锥体剔除）。

视锥体剔除的基本思想：判断对象是否在相机视锥体内（相交也算），在则不剔]]></description><category></category></item></channel></rss>