半影1做完很久了,不过具体方法忘了放上来。突然想起来007交代的这件事情。。。% `$ v, U+ X! g& D. e* Y- W, v
H; m' |$ l! q! ?半影 字库图片制作方法详解:- G7 D6 [. f0 M8 g q
. \9 i7 p5 T, h5 j1 N2 \% s
半影1和半影2的制作方法是一样的。半影3没有自己的字库,使用的是2的。
" r. P" X3 ]1 B: M( P/ i半影1虽然是和后裔同一个妈生的,但是半影1年代有点久远,所以在编码方面有点不同。不同点在于,之前的一个帖子提到:“总字符超过10000游戏会出错。 ”
, M: o4 m& t" V由于中文字符的unicode编码往往都是大于10000的,所以在这个游戏中的处理方法是,自己重新设定编码,然后在字库图片描述文件中修改对应编码。' @" S3 U0 _+ J& |
$ }) n# S7 L! R4 Q
1. 使用tt(通用提取非重复字符及排序工具)提取中文文本。
0 c6 O$ s4 E! ^% |' h; A9 e+ f ^4 e/ u' Q2 g5 S7 a
2. 使用bitmap font generator制作所需要的字库文件。图片大小可以取大于256,原装的版本是使用256的,大于256有可能使游戏不稳定;但也有人说是因为分辨率/显卡问题导致游戏不稳定。字体大小、是否粗体、spacing等可以参照原装版本。制作完后,fnt要分别改成原装的文件名,用来覆盖原装版本,图片不用改名(如果图片改名的话,注意对应的fnt里边要相应改名)。# E5 W+ I- K- y6 l8 v
注意:fnt里边的中文字体名,需要改成英文的。
1 l* N: J6 C- J+ u1 p8 x1 V
) v) ~ R7 d, F% ?0 |3. 使用转换Unicode编码工具一枚。
! ~/ G% b' o- H2 E1 s4 y* s) r2 h* ?* {3 s- g; O
使用方法:选择源文本(翻译好的中文文本),然后选择保存位置。5 {0 p: \4 Z: P$ k
注意:源文本要求为UTF-8格式的。如果不想转换格式,也可以自行到源码中修改(Line 35的编码)。
. l0 Y6 M7 K+ z4 }) f7 \输出的文件将会把所有2个字节的字符转换为[uXXX]形式,并且后边加空格(加了空格才能在游戏中自动换行)。
1 Z9 @' o: W6 R; g( L1 p' C t5 |4 l: K
4. 使用字符排列编码工具一枚。
6 Z% C$ T9 s* }0 F+ |% F% G$ |" M9 X1 W7 C" E1 q$ p' G! I5 F4 i
1)把所有2个字节的字符重新设定编码。本枚工具设定从1100开始(已附上src,可自行修改;在const变量中定义了)。
, ?, M# s$ p: _ H' S! N使用方法:选择文本(推荐使用tt提取后的文本),选择保存位置
2 g* F( M. b' O% |5 R2 }- C输出的文件格式为txt,形式是: `+ i2 Z! l' r9 u3 _3 [
新的编码 文字 原来的unicode码; H& p. u, ~8 ]4 |
2)修改字幕和字库图片定义文件
9 F6 B: y, f$ D3 ]% s R+ V8 n使用方法:选择1)所产生的文本,选择字库图片定义文件(fnt文件)所在文件夹,选择转换为[uxxx]形式的字幕(后两者其一不为空即可进行修改,两者不为空,两者都作修改)。
. Y% g( q% Z" U4 {输出为新的编码所定义的字幕和字库图片定义文件。: E' R, D: B- G$ A" W
+ s X4 V) P0 u& V8 v6 |+ @1 ]
5.在游戏原来的对应位置覆盖原装版本(注意把原来的做好备份,没备份又崩了就重装吧~)9 x7 Q4 P2 l9 b# R; E
* a, y: `4 \. s' F* r# N* q
所制作的工具都是使用VS2005,C#。可能有错误,有兴趣的话欢迎联系本人交流。
3 m/ |. ]+ Z9 A) C9 ~; |2 p不过也不是什么通用工具,没什么现实意义。XD |