半影1做完很久了,不过具体方法忘了放上来。突然想起来007交代的这件事情。。。+ ~5 R) v# o. U% S) P3 y4 c
|- l" p( g' b/ s6 J3 _
半影 字库图片制作方法详解:* ?( ]$ V: _5 I, H0 `
) d( f% i) @; [2 [9 l( @- ^
半影1和半影2的制作方法是一样的。半影3没有自己的字库,使用的是2的。
) x1 Y2 [! e0 }8 A/ r半影1虽然是和后裔同一个妈生的,但是半影1年代有点久远,所以在编码方面有点不同。不同点在于,之前的一个帖子提到:“总字符超过10000游戏会出错。 ”; N! o1 K4 L' I% W4 l& \' c) V
由于中文字符的unicode编码往往都是大于10000的,所以在这个游戏中的处理方法是,自己重新设定编码,然后在字库图片描述文件中修改对应编码。
& y6 \. S3 Z: |; b/ c
- P' S( F/ g2 h1 }1. 使用tt(通用提取非重复字符及排序工具)提取中文文本。
! L2 w* L/ F! t2 D( @. ]! V8 m' w3 F/ l: j+ \. o
2. 使用bitmap font generator制作所需要的字库文件。图片大小可以取大于256,原装的版本是使用256的,大于256有可能使游戏不稳定;但也有人说是因为分辨率/显卡问题导致游戏不稳定。字体大小、是否粗体、spacing等可以参照原装版本。制作完后,fnt要分别改成原装的文件名,用来覆盖原装版本,图片不用改名(如果图片改名的话,注意对应的fnt里边要相应改名)。
T# V0 O. C3 d4 e6 E+ m: [! q. O; Y/ Q注意:fnt里边的中文字体名,需要改成英文的。) T4 U7 ^' @( \: U+ M& W" _
' f9 L- ^6 S' }/ Z6 B* }4 M
3. 使用转换Unicode编码工具一枚。) y }# S$ T7 ^7 |8 P
7 D: }" B+ B+ }3 X( ]5 s/ K' h使用方法:选择源文本(翻译好的中文文本),然后选择保存位置。
0 |* f* n+ T8 E" }/ Y注意:源文本要求为UTF-8格式的。如果不想转换格式,也可以自行到源码中修改(Line 35的编码)。: k+ t6 ?' A$ `) V! ~7 h
输出的文件将会把所有2个字节的字符转换为[uXXX]形式,并且后边加空格(加了空格才能在游戏中自动换行)。/ @5 _. x+ e" `7 B9 E6 _' V
' t& q( D' v# m( a4 ~4. 使用字符排列编码工具一枚。
! {5 M) v3 y4 f6 k3 p; s! h6 [
. T' P! [' t5 J |3 p9 a1)把所有2个字节的字符重新设定编码。本枚工具设定从1100开始(已附上src,可自行修改;在const变量中定义了)。
l; |) x9 e& k3 S' |4 o0 y5 X使用方法:选择文本(推荐使用tt提取后的文本),选择保存位置
% J( l+ L% W) e1 i, ?# g: x3 D输出的文件格式为txt,形式是:# E+ @# H3 f- @4 i* M, R) a3 C
新的编码 文字 原来的unicode码- y, r& Y, y9 |
2)修改字幕和字库图片定义文件
0 \ d% _9 @( `$ u使用方法:选择1)所产生的文本,选择字库图片定义文件(fnt文件)所在文件夹,选择转换为[uxxx]形式的字幕(后两者其一不为空即可进行修改,两者不为空,两者都作修改)。' |1 M5 ^3 ~5 @
输出为新的编码所定义的字幕和字库图片定义文件。
; F2 Y: _$ }7 B, W+ Y4 Y" A
* E, D' g% W( U8 X5.在游戏原来的对应位置覆盖原装版本(注意把原来的做好备份,没备份又崩了就重装吧~)
8 j6 _% s: `6 g( J0 e4 j
# b6 `' i( m7 }- q$ m9 O' @: l, [. v所制作的工具都是使用VS2005,C#。可能有错误,有兴趣的话欢迎联系本人交流。5 \8 A8 H, q4 w: K
不过也不是什么通用工具,没什么现实意义。XD |