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.
运行看效果...
(目前中文部分直接调用的百度在线翻译,勿拍砖...)
后面就简单了,输出所有文本到一个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注入文本替换--木石世纪相关推荐
- 游戏汉化技术内幕 第2章解包封包
作者: 坑神姐姐 AD http://kdays.cn/ 第1章 KRKR游戏系统汉化说明 封包(Pack) -- 相对的就是解包(Unpack) 实际上能解包的 不代表就能封包 因为解包仅仅代表是从 ...
- 游戏汉化教程1-汉化流程
游戏汉化流程 游戏汉化是非常具有挑战和成就感的,挑战在于和游戏开发商斗智斗勇,想尽一切办法层层拨开文件,得到最后需要汉化的资源,其过程不亚于一段推理.成就感就不用说了,和开发程序一样的,谁不愿意看到自 ...
- galgame 游戏汉化和galgame 游戏翻译入门经典教程
最近有人问起来 galgame 游戏汉化和galgame 游戏翻译问题,这类问题不再一个一个回答了写本文给 galgame 游戏爱好者好了 希望大家喜欢 翻译galgame 游戏 核心软件就是agth ...
- 游戏汉化教程2-资源分析
资源分析 之前已经介绍过了整个游戏的汉化流程,我也提到过其实汉化的流程虽然简单,但是每一个步骤里面都包含了许多细节,甚至于有时候一个细节就会让整个汉化宣布失败.今天主要讲的就是第一个步骤,资源分析(包 ...
- (转载)iPhone软件和游戏汉化教程,让你轻松成为汉化高手!
说到软件汉化,一般朋友可能会觉得很复杂,其实iPhone的汉化相对于Windows软件的汉化来说,技术上要简单一些,因为iPhone属于Mac OS的简化版,Mac OS本身有非常直观的多语言环境支持 ...
- 【转】游戏汉化之Tile全格式解读 by 阿一
最近在破解一些图片的格式,并想导出PNG,不过老是记不住bpp的格式,转载之,方便查看. 做些锚记: 标准1BPP NDS 1BPP 标准2BPP VB 2BPP NGP 2BPP NES 2BPP( ...
- mac11系统使命召唤6现代战争(COD6射击游戏)汉化
使命召唤6 mac中文特别版和大家分享,将沿袭前作的战役剧情背景设定,俄罗斯又再次陷入政治上的纷扰不安,开始策划一连串威胁世界安全的阴谋.本章使命召唤6单人战役模式分为三章节,游戏中可以随时调出菜单, ...
- 宇宙主义 for mac(星球创世策略游戏)汉化版兼容12系统
The Universim mac版游戏介绍The Universim mac版下载-宇宙主义 for mac(星球创世策略游戏) v0.1.53中文激活版 - Mac天空 您的时代来了!引导一个&q ...
- 任天堂FC专题 (现在还有没有人对FC感兴趣? 红白机游戏汉化)
调查一下. 我干了一年相关的工作,有共同爱好的话可以聊聊·-- 例子 .ORG $8000 ;from c921 / [4 [9 J6 ?6 X( Q PHA : ...
- 第1章 KRKR游戏系统汉化说明
kdays 游戏汉化教程[日记版本] 序章 接触 豆知识: KRKR是W.dee氏开发的AVG文字游戏系统,由于开放性和良好的扩展性,为众多的游戏所使用.其代码也属于通俗易懂,也是汉化出来之后可以明文 ...
最新文章
- web前端 vue、react、angular三大框架对比 与jquery的对比
- 【Python基础教程】变量的作用域详解
- centos6.4 32位 详细安装Nginx
- 【长篇连载】桌面管理演义 尾声
- php--变量与常量
- c语言 move函数,什么是C语言函数
- 北四环的杰西·利弗莫尔:一个中国投机客的传说
- 签署您的应用——多渠道签名打包教程
- python读excel表_怎么用python读取excel表格的数据
- 计算机散热 测试,散热拷机实测_笔记本评测-中关村在线
- PS网页设计_新手建站入门视频教程
- mysql数据库全部大写吗_mysql中数据库名字分大小写吗
- invoker java_Java Invoker.toString方法代码示例
- Android 集成Thinker 教程
- 贵州将大力推进城市更新“四改”工作
- 告诉大家一个不买到假U盘的方法
- GROMACS 分子模拟使用
- 用户输入一句话,查找“呵”的位置
- qos 流控功能_探讨一下QoS存在的意义以及使用场景
- 【Netty系列】Netty百万级推送服务设计要点