半影1做完很久了,不过具体方法忘了放上来。突然想起来007交代的这件事情。。。
' D6 `- y2 b- c* Y; k1 V( n0 q3 {3 d: ]! f4 L) y) w
半影 字库图片制作方法详解:
: A; u3 x/ F& u. C- h/ O- ]7 j+ I0 x* V: Y' ~; {* {; v6 j0 D
半影1和半影2的制作方法是一样的。半影3没有自己的字库,使用的是2的。: k$ j' w' { _5 l: |, p7 x
半影1虽然是和后裔同一个妈生的,但是半影1年代有点久远,所以在编码方面有点不同。不同点在于,之前的一个帖子提到:“总字符超过10000游戏会出错。 ”
- u+ t) l% D9 `" b' ?由于中文字符的unicode编码往往都是大于10000的,所以在这个游戏中的处理方法是,自己重新设定编码,然后在字库图片描述文件中修改对应编码。
; l- {/ t' z% ] d9 Y2 C7 R; D0 u$ D1 ~" v
1. 使用tt(通用提取非重复字符及排序工具)提取中文文本。' o# T1 V- R. q6 D! ?! C! q& p
: x8 Q& g- t1 d* v2 W2. 使用bitmap font generator制作所需要的字库文件。图片大小可以取大于256,原装的版本是使用256的,大于256有可能使游戏不稳定;但也有人说是因为分辨率/显卡问题导致游戏不稳定。字体大小、是否粗体、spacing等可以参照原装版本。制作完后,fnt要分别改成原装的文件名,用来覆盖原装版本,图片不用改名(如果图片改名的话,注意对应的fnt里边要相应改名)。7 E7 {2 N& R+ T+ c: ^ T H
注意:fnt里边的中文字体名,需要改成英文的。8 z8 M: ?! j% M" d0 c
; q ]* b$ P5 n+ e3. 使用转换Unicode编码工具一枚。' j; Z6 J/ |7 G1 l4 {& B- j& A
6 S ?) s+ @' ?" W
使用方法:选择源文本(翻译好的中文文本),然后选择保存位置。" O" {. R, u$ b# s
注意:源文本要求为UTF-8格式的。如果不想转换格式,也可以自行到源码中修改(Line 35的编码)。
; k5 R; B8 N& ?6 t输出的文件将会把所有2个字节的字符转换为[uXXX]形式,并且后边加空格(加了空格才能在游戏中自动换行)。
$ T, P9 f6 y" B: k5 v6 G7 S6 r2 \. q" r: e9 k
4. 使用字符排列编码工具一枚。, O* M# f/ _1 h
) s! z# L4 ], d' j6 e; |1)把所有2个字节的字符重新设定编码。本枚工具设定从1100开始(已附上src,可自行修改;在const变量中定义了)。
) y- l& k: ?; l# y: c9 C使用方法:选择文本(推荐使用tt提取后的文本),选择保存位置
* }( a" O( z, w' g% G输出的文件格式为txt,形式是:
6 r g0 n( ?- N2 M& w+ Q: H新的编码 文字 原来的unicode码
& Q+ W2 _$ K( c/ y& t. T9 T7 g! c2)修改字幕和字库图片定义文件
1 O1 p* S1 J6 d7 P6 V使用方法:选择1)所产生的文本,选择字库图片定义文件(fnt文件)所在文件夹,选择转换为[uxxx]形式的字幕(后两者其一不为空即可进行修改,两者不为空,两者都作修改)。
P- g1 M& I: P& F* a0 P2 b4 u2 `输出为新的编码所定义的字幕和字库图片定义文件。
% ~4 [6 z* T. O" W8 L* Z, z- b/ l2 b' T2 @# R
5.在游戏原来的对应位置覆盖原装版本(注意把原来的做好备份,没备份又崩了就重装吧~)
' y) m+ K2 }; G4 S4 _0 A i# a- B" U# }; k7 v, y1 ^% l
所制作的工具都是使用VS2005,C#。可能有错误,有兴趣的话欢迎联系本人交流。# L5 i: j0 }: l, W2 `
不过也不是什么通用工具,没什么现实意义。XD |