Skip to content

Instantly share code, notes, and snippets.

View tylearymf's full-sized avatar
:octocat:

tylearymf tylearymf

:octocat:
  • China
View GitHub Profile
@tylearymf
tylearymf / SolutionExplorer
Created November 23, 2022 09:38
SolutionExplorer
using UnityEditor;
using System.Text.RegularExpressions;
public class SolutionExplorer : AssetPostprocessor
{
public static string OnGeneratedSlnSolution(string path, string content)
{
return Regex.Replace(content, @"Project.*?=\s""(?<name>.*?)"".*?EndProject", match =>
{
var name = match.Groups["name"].Value;
https://download.typora.io/windows/typora-setup-x64-0.11.18.exe
1、注册表查找 Typora 项
HKEY_USERS\S-1-5-21-1825356615-3202356483-1748601478-1001\Software\Typora
2、修改 IDate 值为当前时间即可,不能修改为 超过当前时间,会被重置
@tylearymf
tylearymf / gist:3adc2aea0fc61d8eee3b5b8235c0153f
Last active November 21, 2022 03:35
修改ConsoleE为激活版本
bm.cs -> b(ref bool A_0) : Activation界面的GUI绘制方法
修改1:
ILSpy导出的是 a.cs -> r() :激活状态,强制改成 return true 即可(IDA修改)
dnSpy导出的是 a.2.cs -> r() : 激活状态,强制改成 return true 即可(IDA修改)
IDA中搜索函数:ConsoleE.a__r
二进制修改:
源版本: "02 7B" 5F 00 00 04 2D 0F 02 28 90 00 00 06 28 69 00 00 0A
修改版本: "17 2A" 5F 00 00 04 2D 0F 02 28 90 00 00 06 28 69 00 00 0A
@tylearymf
tylearymf / gist:a39fd7e0b5f5c39d0ef29c2683d69a75
Created April 15, 2022 13:33
Unity Mesh bindPoses 详细说明
/**
* bindPoses 详细说明
* 转自 https://forum.unity.com/threads/some-explanations-on-bindposes.86185/
*
* 翻译如下:
* bindPose 矩阵是允许将网格的原始顶点(在局部空间下)转换到世界空间
* 然后到每个骨骼的局部空间,之后每隔骨骼的动画可以应用到有问题的顶点(受权重值影响)。
*
* 网格的 bindPose 将顶点从局部空间转换到世界空间,
* 然后每个骨骼的 bindPose的逆变换矩阵 将网格顶点从世界空间转换到骨骼的局部空间,
例子:username@gmail.com,下面1和3可以搭配,2和3可以搭配,下面邮箱等同于 username@gmail.com
1、可以在前面的username中加点号,如 user.name@gmail.com
2、可以在username后面添加+号xxx,如username+taobao@gmail.com
3、可以将@gmail.com换成@googlemail.com
@tylearymf
tylearymf / gist:f7ef6b55594a72ec0ec5fd34f40c191b
Last active October 27, 2021 11:38
访问UnityEditor内部代码
UnityEditor内部代码有对一系列的指定程序集开放,比如下面的这一行代码
[assembly: InternalsVisibleTo("Unity.InternalAPIEditorBridge.001")]
所以只要搞一个上面名字的程序集即可访问内部代码了。
上面代码是在UnityCS源码中Editor的AssemblyInfo.cs中找到的
@tylearymf
tylearymf / gist:ed7dd1bd4903dee96de94e4f67527bd9
Last active December 30, 2021 01:51
UnityProfiler调试命令
@echo off
REM 将下面的 PackageName 设置为 当前要调试的包名,不要加双引号
set PackageName="com.test.apk"
adb shell setprop "debug.checkjni" "1"
adb forward --remove-all
adb reverse --remove-all
REM adb forward "tcp:34999" "localabstract:Unity-%PackageName%"
adb reverse "tcp:34998" "tcp:34999"
adb shell am start -a android.intent.action.MAIN -c android.intent.category.LAUNCHER -f 0x10200000 -S -n "%PackageName%/com.unity3d.player.UnityPlayerActivity"
@tylearymf
tylearymf / gist:c3d9d7de2309b5363a3367d2f5c789ec
Created October 13, 2021 13:00
URP下开启overdraw模式
#if UNITY_EDITOR
using UnityEditor;
public class SceneRenderModeForURP
{
const string MenuName = "SceneRenderMode/Overdraw";
static DrawCameraMode s_RenderMode;
[MenuItem(MenuName, true)]
static bool EnableOverdrawConditional()
1、安装 Docker
2、进入 linux 创建对应的目录,比如:agent_xxx
3、创建 accelerator 程序,端口为 10086(自定义), 绑定端口为 10080(不可改)
cmd 运行: docker run -p 10086:10080 -e "UNITY_ACCELERATOR_PERSIST=/agent_xxx" -e "UNITY_ACCELERATOR_DEBUG=true" unitytechnologies/accelerator:latest
4、创建账号/修改密码,创建账号为 dev
在 docker 中打开该程序的 cli:unity-accelerator dashboard password dev
如果需要多个 accelerator,则重复 2~4 步骤
@tylearymf
tylearymf / ExtractGradleJar
Created May 31, 2021 08:55
提取Unity离线打包所需的相关jar包资源
using System;
using System.IO;
using System.Linq;
namespace ExtractGradleJar
{
class Program
{
static string[] AllowedExtensions = new[] { ".jar", ".pom" };