- 最后登录
- 2022-10-8
- 注册时间
- 2010-12-6
- 阅读权限
- 100
- 积分
- 14150
- 纳金币
- 76544
- 精华
- 23
|
问:
本人的UnityPro(正版)从unity3d 3.5升级到unity3d4.0后,发现win7下运行正常的游戏到xp下运进时,中文有些字符不显示!
于是重新做了个最简单的工程,显示2行文件,结果还是一样:win7下运行正常中,xp下有些字符不显示。
以下是win7下运行的结果:
以下是xp下的运行结果:
测试工程中用的是unity默认的字体,本以为是win7中的字体与xp中不一样,就把win7中的字体拷到了xp中,结果问题依旧!
unity从3.5升级到4.0后,出了一堆问题,其它的都一一解决了,就是这个让人摸不着头脑!
请解决过此问题的高人指点,多谢哈!
疑问:哥们,你都解决了什么问题,给分享一下先!!!
回复疑问:
1、调用外部dll时出现异常退出!原因:有个dll函数返回字符串,importdll时把引入的函数的返回值直接定义成string,unity3.5中没问题,到unity4.0就异常;解决方案,把返回值定义成IntPtr,再用Marshal.PtrToStringAnsir把这个指针转成string.
2、以前界面上的GUIText全乱了!原因:以前为了GUIText好像,Font中的字符用了CustomSet,然后把用到的字符转出到texture,用photoshop美化,再在unity里显示;但是unity4.0把Font的机制给改了,以前做的texture全错位了,并且unity4.0中font生成的字符texture为了省空间,字符被旋转存贮,有个转了90度,有的没转,用photoshop没法统一处理某些效果!只好写了代码,把unity4.0生成的字符texture转化成另一个不带旋转的texture,photoship处理后,再转回来(悲摧啊!)
3、SetActiveRecursively到了unity4.0有警告,说是将不再支持,改用新的SetActive函数,为了消除警告,引入了一堆坑爹的错误!
4、有个GameObject设置了换关不被清除,在unity3.5中,换关时该GameObject的OnDisable会被调用,但到了unity4.0中,OnDisable居然不被调用了,引出的问题定位了好久!unity4.0的更新说明里也没有提这个特性更改!
5、有的特效不见了!原因:该特效是绑在GameObject上的,该GameObject由于模型做的太大,被缩小到原来的0.001,因此特效绑定上去后,特效的缩放值被设置成了1000,这样特效的给定放值继承你对像的0.001后,相乘风好是1,在unity3.5中正常!到了unity4.0,缩放值似乎不被继承了,必须把特效的缩放值改为1,才能正常显示!
终极解答:
终于解决!原来arial里不带中文,然后win7用默认的“微软雅黑”代替了!然而xp中没有“微软雅黑”字体,把win7中的“微软雅黑”字体拷到xp下就OK了.
更多技术问答分享尽在web3D纳金网http://www.narkii.com/
|
|