游戏开发论坛

 找回密码
 立即注册
搜索
查看: 5473|回复: 11

3d游戏hud字体模糊怎么办

[复制链接]

13

主题

31

帖子

46

积分

注册会员

Rank: 2

积分
46
发表于 2007-2-25 15:52:00 | 显示全部楼层 |阅读模式
   我用gui把字写在bmp里面贴在人脑袋上,不过游戏中显示出来会因为缩放而模糊,测试了线性过滤和点过滤效果都不好,哪位大虾给支个招
ps:目前常用的3d游戏hud字体是怎么处理的? [em3]

18

主题

631

帖子

660

积分

高级会员

Rank: 4

积分
660
发表于 2007-2-25 16:15:00 | 显示全部楼层

Re:3d游戏hud字体模糊怎么办

看魔兽世界里面也是多少有点模糊的,不可能那么清晰.

197

主题

1041

帖子

1104

积分

金牌会员

Rank: 6Rank: 6

积分
1104
QQ
发表于 2007-2-26 11:08:00 | 显示全部楼层

Re:3d游戏hud字体模糊怎么办

基础!基础!基础!把什么是hud搞懂再来提问

你那是往z里面在写,然后用的modelmatrix向量。类似sprit的形式在写字。

屏蔽depthtest然后再屏蔽modelmartix。这才算是hud。你拿3d的向量画出的字纹理,肯定是模糊的。角色头顶的血条可以用sprit,某些状态也可以用这种技术。而文字要用纯hud才行(用测z来获取屏幕坐标)。

用真正的hud往屏幕坐标绘制是不会发生模糊的情况的。除非你指定过纹理的缩放,位置向量。即使指定纹理为minfilter模式,在hud下也不会发生模糊情况

1

主题

37

帖子

37

积分

注册会员

Rank: 2

积分
37
发表于 2007-2-26 11:34:00 | 显示全部楼层

Re:3d游戏hud字体模糊怎么办

你可以使用mipmap,不过要自己生成了,文字贴图最好还是point过滤

13

主题

31

帖子

46

积分

注册会员

Rank: 2

积分
46
 楼主| 发表于 2007-2-26 16:10:00 | 显示全部楼层

Re: 3d游戏hud字体模糊怎么办

3楼的,你所谓的真hud是不是用transformed vct来直接把文字渲染在屏幕表面,那样确实不会模糊,但是怎么解决遮挡的问题,你没有z值显卡根本不会帮你判断遮挡 [em16]

197

主题

1041

帖子

1104

积分

金牌会员

Rank: 6Rank: 6

积分
1104
QQ
发表于 2007-2-26 18:43:00 | 显示全部楼层

Re: Re: 3d游戏hud字体模糊怎么办

idfaya: Re: 3d游戏hud字体模糊怎么办

3楼的,你所谓的真hud是不是用transformed vct来直接把文字渲染在屏幕表面,那样确实不会模糊,但是怎么解决遮挡的问题,你没有z值显卡根本不会帮你判断遮挡 [em16]


角色hud文字的遮挡问题目前有三种较佳的解决方法。

第一种方式,场景渲染时,都按远近排序,和范围剔出。在渲染时,动态产生一组HUD顺序即可。在HUD树node上,不使用排序(GUI node都不会指定排序)。这是最简单的一种做法。就是一个根据顺序带文字坐标的顺序链表画字符纹理。

第二种方式是在老一代BSP,既BSP1.0中,因为有叉树在分担任务。在渲染HUD时候,给定范围,动态收缩,再排序一次。

第三种方式也是在BSP树中实现。这种方式更简单,使用高级功能动态裁减tree node。

13

主题

31

帖子

46

积分

注册会员

Rank: 2

积分
46
 楼主| 发表于 2007-2-27 10:01:00 | 显示全部楼层

Re: 3d游戏hud字体模糊怎么办

我现在没有做遮挡裁减,场景是类似W3那种拼接的;我在想能不能先计算出hud的z值,然后在渲染的时候手动写入z值,打开ztest来实现遮挡

197

主题

1041

帖子

1104

积分

金牌会员

Rank: 6Rank: 6

积分
1104
QQ
发表于 2007-2-27 16:33:00 | 显示全部楼层

Re:3d游戏hud字体模糊怎么办

不是计算hud的顺序,是计算和hud关联的角色顺序。通过计算角色,产生hud顺序。然后再画字纹理。

画gui的时候ztest要关闭。关闭以后,排出的hud才能得到正确显示。

197

主题

1041

帖子

1104

积分

金牌会员

Rank: 6Rank: 6

积分
1104
QQ
发表于 2007-2-27 16:37:00 | 显示全部楼层

Re:3d游戏hud字体模糊怎么办

建议你先把一些基本的3d原理弄明白,什么是ztest,什么是zbuffer。还有就是,不要什么都依赖sdk。做游戏的时候几乎命中注定要做很多自己的图形元素。

再说一次,不要什么都依赖sdk,这不是一个专业制作者的做法。明白?

13

主题

31

帖子

46

积分

注册会员

Rank: 2

积分
46
 楼主| 发表于 2007-2-27 17:43:00 | 显示全部楼层

Re: 3d游戏hud字体模糊怎么办

我使用不经过t&l过程的顶点,但是我自己计算顶点的z值,然后直接写入齐次化之后的顶点中,进行光栅化;
我想知道的是,如果打开ztest和zwrite,我的顶点中的z值会不会跟zbuffer中的z值比较并写入;目前我测试的结果是如果z值为0,我的顶点可以显示,如果z值为1,则不显示;但在0-1之间,全部显示;问题是我故意让场景中的其他物体挡在顶点前,按说此时zbuffer中的值应该小于顶点的z值,但是该顶点仍然显示
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2026-1-26 15:47

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表