Unity3d 游戏汉化之IL注入文本替换--木石世纪

本文介绍了如何对Unity3d游戏《木石世纪》进行汉化,利用IL注入技术替换文本。通过创建特殊类并参考IL代码,对 UnityEngine 的 GUI 方法进行操作,实现字符串替换。反编译查看IL,并使用Reflector插件手动注入。最终通过百度在线翻译获取中文文本,并将所有文本导出为txt文件进行翻译。后续计划分享具体程序。
摘要由CSDN通过智能技术生成

最近下了个游戏叫木石世纪(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); 

就是我们修改字符串的地方了.

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值