close

PS:U3D马上就要升级4.0了,说是在9月份,会有新的GUI系统,不知道那时会怎么样,我现在考虑的方案只是针对3.5.x系列的。

 

UILaber的优势:

 

1、在NGUI的统一处理之下,对layer控制很直接,自然支持遮挡

 

2、支持获取像素级的宽度、设位置

 

3、可以使用8bits的字体贴图,尺寸占得小

 

UILaber的问题:

 

1、NGUI的UILaber不支持TTF字库,只支持字库贴图,而且得按照altas那套走。

 

2、创建UIFont,字库贴图尺寸比字库大出许多,以使用BMFont生成“微软雅黑”的18号字的字体贴图(.png)为例:

 

大小 21M(ttf) 32.7M(32bits) 8.19M(8bits)

 

GUIText的优势:

 

1、支持TTF,但是不支持动态字

 

2、支持获取像素级的宽度、设位置

 

GUIText的问题:

 

1、使用动态字时效率极差,因此不得不预先生成静态字贴图(退回到字体贴图了)

 

2、无法和NGUI的layer统一起来,做遮挡时很山寨

 

TextMesh的优势:

 

1、支持TTF---直接使用Unity的Font,该Font直接使用TTF字库作为数据源

 

2、支持动态字,效率可接受

 

TextMesh的问题:

 

1、无法直接获得像素级的宽度、设位置

 

2、字体渲染的层次有问题,有时被遮挡的字也会被渲在前面

 

理想的方案是:

 

1、没有效率问题

 

2、字库尺寸最小

 

3、支持像素级宽度

 

4、支持layer

 

5、显存占用少

 

6、支持多种字号

 

备选技术:

 

1、8bits的图元+自定义shade

 

arrow
arrow
    全站熱搜

    GABY 發表在 痞客邦 留言(0) 人氣()