近期下了个游戏叫木石世纪(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的其它游戏

点我下载:http://pan.baidu.com/s/1mgLuKUc

Unity3d 游戏汉化之IL注入文本替换--木石世纪的更多相关文章

  1. 2009年末最强梅麻呂3D动画游戏大作 汉化补丁

    [游戏名称]:Yin荡游戯Ω(前编)-闇の眷族vs女ドラゴン- (名字请自己补) [游戏厂商]:梅麻吕3D [发售日期]:2010年04月16日 游戏评价: 梅麻呂的3D作品能够说是如今3D动画中最好 ...

  2. 真正菜鸟用教程之WQSG Scrip Export WQSG (脚本导出导入工具,PSP、NDS汉化必备 )

    先扫盲WQSG是干什么用的 一些掌机类游戏汉化比方PSP NDS 汉化必备之物 它能够依据字典转换文本 假设你不知道这是啥玩意,快去充电染成茜色的坂道 文本提取(导出)方法 (下文称导出文章) 在导出 ...

  3. .net core swagger汉化

    基本swagger使用不再详解,具体百度其它帖子 1.将汉化的swagger js文件复制到项目根目录中 js代码如下 'use strict'; /** * Translator for docum ...

  4. unity2021游戏引擎安装激活并汉化

    今天重新搭建了下unity的开发环境,也踩了不少坑,还有就是看了一些unity3d的教程,越看越不可思议,unity居然能做这么多好玩的东西,像枪战类,模拟类,角色扮演,动作冒险都很震撼. 但是震撼归 ...

  5. 轻量级Lua IDE ZeroBrane Studio 的使用技巧和汉化

    快捷键 : alt + shift +鼠标 ,可以块选中文本. F12 折叠/展开 所有 F5 调试运行 点击第二次 将跳转到第一个断点处 F10 单步执行 shift +F10 单步执行,不进入函数 ...

  6. 不需要了解任何底层知识,就可以汉化!Let`s go!!!

    汉化?莫要被这两个字吓到. 其实你也可以汉化,跟着我的步骤来,你也可以进行汉化,Let`s go!!!(大鸟飘过) 这里汉化的是微软企业类库的配置管理工具EntLibConfig.exe.当然,这里的 ...

  7. [saiku] 简化/汉化/设置默认页

    上一篇分析了schema文件 [ http://www.cnblogs.com/avivaye/p/4877832.html] 在安装完毕Saiku后,由于是社区版本,所以界面上存在很多升级为商业版的 ...

  8. psp开发------汉化插件

    近期略微研究了下psp汉化,写了个汉化插件,在这记录下.聊以慰藉. 传统的汉化流程找码表,字库,破解什么这里不多讲,网上有教程.以下说下一种另类汉化方法.特别对于难以破解字库的游戏,当然这样的方法也有 ...

  9. C#反编译工具 ILSPY-x64可动态调试-君临汉化版

    程序基于著名的ILSpy version 2.1.0.1603 汉化,并增加x64下debugging功能;初衷是网上只有一版是原作者留下的x86版本,实在不想在虚拟机里调试,只有自己动手弄一份x64 ...

随机推荐

  1. python----脚本文件的头部写法。

    #!/usr/bin/python #这里主要是为了指明python脚本解释器的路径. #!coding:utf-8#这个是为了告知python脚本文件解释器,此脚本的字符集. import sys ...

  2. SQL Server 数据的创建、增长、收缩

    第一步: create database Studio         on primary          (name = 'Studio',filename='E:\DB\Studio.mdf' ...

  3. liunx下NetworkManager导致网卡不能启动

    前几天在客户现场,配置一台系统为redhat 6.0的服务器,这台服务器是IBM x3755,系统是预装的.在把服务器的IP地址配置完成后,使用命令不能启动网卡.提示:弹出界面 eht0:错误:激活链 ...

  4. chrome浏览器debugger 调试,有意思。

    JavaScript代码中加入一句debugger;来手工造成一个断点效果. 例子: ajax看看返回的数据内容,或者想知道js变量获取值是什么的时候. $.ajax({ type:"pos ...

  5. jQuery背景跟随鼠标移动的网页导航

    首页 PSD模板 CSS模板 特效插件 源码下载 酷站欣赏 建站资源 建站教程 心境之旅 在线留言 设为首页 加入收藏 我要投稿 联系站长 Search     首页 PSD模板 CSS模板 特效插件 ...

  6. 用Python写的一个多线程机器人聊天程序

    本人是从事php开发的, 近来想通过php实现即时通讯(兼容windows).后来发现实现起来特别麻烦, 就想到python.听说这家伙在什么地方都能发挥作用.所以想用python来做通讯模块...所 ...

  7. matlab 矩阵

    假设矩阵A=[1 3;4 2] 1.对角置零: A-diag(diag(A)) 2.求A的特征值以及特征向量: 用到eig(A)函数,此函数有五种用法,如下: 2.1 E=eig(A):求矩阵A的全部 ...

  8. Android UI ActionBar功能-Action Bar 左上角的向上或返回按钮

    ActionBar在左上角还提供了一个向上或返回的按钮,默认情况下是隐藏的需要在代码中开启: 官方文档:http://wear.techbrood.com/training/basics/action ...

  9. How to change a product dropdown attribute to a multiselect in Magento

    First, update the attribute input type to multiselect: UPDATE eav_attribute SET entity_type_id ', at ...

  10. Nginx基础教程PPT

    Nginx基础教程PPT By 马冬亮(凝霜  Loki) 一个人的战争(http://blog.csdn.net/MDL13412) pdf版本号下载 watermark/2/text/aHR0cD ...