Unity3d 游戏汉化之IL注入文本替换--木石世纪
近期下了个游戏叫木石世纪(Timber and Stone),沙盒游戏类,看着还不错.
搜了下游戏资料,有人求汉化可是因为是小众游戏,没人出汉化.看了眼是Unity3d的,既然是.Net的,仅仅要资源不是在资源包里,应该都还是蛮简单的.
刚開始做了个字符串替换,发现有些地方还是比較麻烦,还不如拿UnityEngine里面的GUI函数开刀,也就是有了这么一次简单的哦汉化过程.
首先写个简单的类用于注入
public class TxtInjection
{
public static string DoInjection(string txt)
{
return txt + "X";
}
}
注入成功后,全部的被注入的字符串后面都应该出现一个X;
然后写个小的演示样例,用于IL參考:
public static void Label(object position, string text, object style)
{
text = DoInjection(text);
LabelA(position, text, style);
} public static void LabelA(object position, string text, object style)
{ }
text = DoInjection(text);
就是我们改动字符串的地方了.
反编译看下IL
0 nop
1 ldarg.1
2 call System.String UintyEngineGUIPatch.TxtInjection::DoInjection(System.String)
7 starg.s -> (1) text (System.String)
4行,然后查找Unity3d的GUI绘制函数,找了2个..
GUI.Box,GUI.Lable 用Reflector的IL注入插件直接手动写入IL.
执行看效果...
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvSWNlU3VuOTYz/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvSWNlU3VuOTYz/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">
(眼下中文部分直接调用的百度在线翻译,勿拍砖...)
后面就简单了,输出全部文本到一个txt,然后使用
英文|中文
这种格式,自己主动或手动翻译...
晚点程序丢上来...
UnityEngine.dll
unitEngineGUipatch.dll
丢入 Timber and Stone v1.4\Timber and Stone_Data\Managed
以防万一,请备份源文件
strmap.txt 放入根文件夹...
启动游戏就可以 执行过程中strmap.txt 会产生界面上绘制过的新的字符串
编辑strmap.txt 保存后,切换下界面就可以看到效果
假设遇到新的未出如今strmap.txt,又一次打开就可以. 临时没时间进行翻译...愿意參加的小伙伴报名..
理论上支持未来随意版本号..
或者使用unity3d gui的其它游戏
Unity3d 游戏汉化之IL注入文本替换--木石世纪的更多相关文章
- 2009年末最强梅麻呂3D动画游戏大作 汉化补丁
[游戏名称]:Yin荡游戯Ω(前编)-闇の眷族vs女ドラゴン- (名字请自己补) [游戏厂商]:梅麻吕3D [发售日期]:2010年04月16日 游戏评价: 梅麻呂的3D作品能够说是如今3D动画中最好 ...
- 真正菜鸟用教程之WQSG Scrip Export WQSG (脚本导出导入工具,PSP、NDS汉化必备 )
先扫盲WQSG是干什么用的 一些掌机类游戏汉化比方PSP NDS 汉化必备之物 它能够依据字典转换文本 假设你不知道这是啥玩意,快去充电染成茜色的坂道 文本提取(导出)方法 (下文称导出文章) 在导出 ...
- .net core swagger汉化
基本swagger使用不再详解,具体百度其它帖子 1.将汉化的swagger js文件复制到项目根目录中 js代码如下 'use strict'; /** * Translator for docum ...
- unity2021游戏引擎安装激活并汉化
今天重新搭建了下unity的开发环境,也踩了不少坑,还有就是看了一些unity3d的教程,越看越不可思议,unity居然能做这么多好玩的东西,像枪战类,模拟类,角色扮演,动作冒险都很震撼. 但是震撼归 ...
- 轻量级Lua IDE ZeroBrane Studio 的使用技巧和汉化
快捷键 : alt + shift +鼠标 ,可以块选中文本. F12 折叠/展开 所有 F5 调试运行 点击第二次 将跳转到第一个断点处 F10 单步执行 shift +F10 单步执行,不进入函数 ...
- 不需要了解任何底层知识,就可以汉化!Let`s go!!!
汉化?莫要被这两个字吓到. 其实你也可以汉化,跟着我的步骤来,你也可以进行汉化,Let`s go!!!(大鸟飘过) 这里汉化的是微软企业类库的配置管理工具EntLibConfig.exe.当然,这里的 ...
- [saiku] 简化/汉化/设置默认页
上一篇分析了schema文件 [ http://www.cnblogs.com/avivaye/p/4877832.html] 在安装完毕Saiku后,由于是社区版本,所以界面上存在很多升级为商业版的 ...
- psp开发------汉化插件
近期略微研究了下psp汉化,写了个汉化插件,在这记录下.聊以慰藉. 传统的汉化流程找码表,字库,破解什么这里不多讲,网上有教程.以下说下一种另类汉化方法.特别对于难以破解字库的游戏,当然这样的方法也有 ...
- C#反编译工具 ILSPY-x64可动态调试-君临汉化版
程序基于著名的ILSpy version 2.1.0.1603 汉化,并增加x64下debugging功能;初衷是网上只有一版是原作者留下的x86版本,实在不想在虚拟机里调试,只有自己动手弄一份x64 ...
随机推荐
- C#中通过Process启动的外部第三方程序MainWindowHandle句柄为0
原文 C#中通过Process启动的外部第三方程序MainWindowHandle句柄为0 前几天遇到了一个在C#的winform程序中,启动一个第三方jar程序,并修改jar运行窗体的标题的问题. ...
- Sass使用教程
sass官网: http://sass-lang.com/ http://sass-lang.com/documentation/file.SASS_REFERENCE.html Sass和Scss的 ...
- POJ——位查询
3:位查询 查看 提交 统计 提问 总时间限制: 5000ms 内存限制: 65536kB 描述 给出N个范围在[0, 65535]的整数,编程支持以下的操作: (1)修改操作:C d,所有的数 ...
- 网易云课堂_程序设计入门-C语言_第五周:函数_1分解质因数
1 分解质因数(5分) 题目内容: 每个非素数(合数)都可以写成几个素数(也可称为质数)相乘的形式,这几个素数就都叫做这个合数的质因数.比如,6可以被分解为2x3,而24可以被分解为2x2x2x3. ...
- 学习RAC小记-适合给新手看的RAC用法总结(转)
原文:http://www.jianshu.com/p/ff79a5ae0353 什么是RAC? 几乎每一篇介绍RAC的文章开头都是这么一个问题.我这篇文章是写给新手(包括我自己)看的,所以这个问题更 ...
- java实现xml文件增删改查
java一次删除xml多个节点: 方案1.你直接改动了nodeList,这一般在做循环时是不同意直接这么做的. 你能够尝试在遍历一个list时,在循环体同一时候删除list里的内容,你会得到一个异常. ...
- php上传图片到server
php文件上传中会用到$_FILES系统函数 一.$_FILES系统函数 PHP编程语言中的常见的$_FILES系统函数使用方法有: $_FILES['myFile']['name'] 显示clien ...
- IT人员----怎么把电脑窗口设置成淡绿色
大夫建议电脑屏幕不要用白色,因为白色对眼睛的刺激是最大的.像我们这样整天对着电脑,也应该注意一下.其实,只要稍微设置一下,就能让你电脑上的窗口从白花花的颜色变成淡淡的绿色. 设置方法:打开控制面板中的 ...
- C#生成ACCESS文件几点注意事项
1.bin文件夹下有没有Interop.ADOX.dll文件. 2.当前服务器有没有安装access 64位驱动,若没有,可安装AccessDatabaseEngine_X64.exe文件. 3.生成 ...
- 在WPF中将某张表中的数据显示到datagrid
a.在.xaml文件中拖入一个datagrid,然后添加列名,使用Binding="{Binding 数据库中的 列名称}",如下: <DataGrid AutoGenera ...