游戏开发论坛

 找回密码
 立即注册
搜索
查看: 9050|回复: 12

Billboard旋转矩阵的推导

[复制链接]

17

主题

454

帖子

470

积分

中级会员

Rank: 3Rank: 3

积分
470
发表于 2005-1-11 21:14:00 | 显示全部楼层 |阅读模式
公司的项目过了一个里程碑了,不过还是很忙,忙的时候有收获也有失去,比如今天发现以前自己巨傻,推导Billboard旋转矩阵的时候,不但麻烦,而且结果不是太好,今天总结了一下.隆重推出 <Billboard矩阵的推导>,展示一下过程,让大家帮我改正结果.谢谢
由于贴图麻烦.我就做成PDF了。这里给出连接.
http://xreal.51.net/Game/bbmatrix.pdf

立即打开

1

主题

13

帖子

13

积分

新手上路

Rank: 1

积分
13
发表于 2005-1-11 21:55:00 | 显示全部楼层

Re:Billboard旋转矩阵的推导

billboard不是旋转到面向摄像机的XY平面,而是面向“摄像机”。也就是说不是把billboard局部坐标系的朝向旋转到摄像机坐标系的+Z/-Z轴,而是旋转到局部原点与摄像机原点构成的方向。你的这种方法来算的话如果摄像机位置发生变化但是旋转保持identity的话billboard就不会旋转了,这显然是不对的~

17

主题

454

帖子

470

积分

中级会员

Rank: 3Rank: 3

积分
470
 楼主| 发表于 2005-1-12 09:32:00 | 显示全部楼层

Re:Billboard旋转矩阵的推导

你自己去做了就知道什么是对的. 在视觉效果上,我可以告诉你, 你的"显然不对"是显然不对的。
你拿个笔去画画就知道你的Billboard不处于视角中心位置的时候是不是已经出了透视效果了。

1

主题

13

帖子

13

积分

新手上路

Rank: 1

积分
13
发表于 2005-1-12 14:43:00 | 显示全部楼层

Re:Billboard旋转矩阵的推导

billboard矩阵是和视点位置相关的。如果你还没这样实现那么建议你先实现下试试,不要想当然~

17

主题

454

帖子

470

积分

中级会员

Rank: 3Rank: 3

积分
470
 楼主| 发表于 2005-1-13 10:00:00 | 显示全部楼层

Re:Billboard旋转矩阵的推导

晕。
Billboard在我们游戏里大量使用。包括人物头上的说话的框框,粒子系统,特效系统用的都是Billboard。
我最早用的就是试点相关的,在我以前的地形演示程序里就用了,怎么看怎么别扭。后来还是改成只和Camera方向相关的了。
我看还是你自己去实现看看吧。

1

主题

130

帖子

135

积分

注册会员

Rank: 2

积分
135
发表于 2005-1-13 10:10:00 | 显示全部楼层

Re:Billboard旋转矩阵的推导

billboard并不只有永远朝向摄像机的一种,最标准的billboard确实是和摄像机的view矩阵与proj矩阵相关的,当然这2个矩阵可以通过camera方向计算出来,摄像机位置对这2个矩阵只是第4列,一般只有在作自旋转billboard与选择性面向的billboard才会用到(例如草的billboard只对左右方向敏感,对上下方向不理)

17

主题

454

帖子

470

积分

中级会员

Rank: 3Rank: 3

积分
470
 楼主| 发表于 2005-1-13 12:09:00 | 显示全部楼层

Re:Billboard旋转矩阵的推导

有约束轴的我还没有推导过。不过可以通过先把Camera方向在轴上投影后来计算。不过看起来有点麻烦。。。。。

1

主题

13

帖子

13

积分

新手上路

Rank: 1

积分
13
发表于 2005-1-13 13:51:00 | 显示全部楼层

Re:Billboard旋转矩阵的推导

粒子系统中一般使用spherical billboard,而树木之类的多使用cylindrical billboard。具体的实现推导在http://www.opengl.org/resources/tutorials/advanced/advanced97/notes/node31.html中有具体说明。你所讲的实际上是一种简化的实现。因为没有真正做到"面向摄像机",所以在远离视线的位置会出现近大远小的透视效果。http://www.lighthouse3d.com/opengl/billboarding中对spherical/cylindrical billboard 和cheating spherical/cylindrical billboard都有很详细的说明。

PS. 我们游戏早期也在用cheating spherical billboard,不过后来已经修正了,呵呵~

1

主题

13

帖子

13

积分

新手上路

Rank: 1

积分
13
发表于 2005-1-13 15:05:00 | 显示全部楼层

Re:Billboard旋转矩阵的推导

补充一点:对于粒子系统,很多情况下用cheating spherical billbard效果更好,因为true spherical billbard造成粒子的面片相交,影响alpha blending的效果。对于树或草就没有这种问题了~

17

主题

454

帖子

470

积分

中级会员

Rank: 3Rank: 3

积分
470
 楼主| 发表于 2005-1-13 19:38:00 | 显示全部楼层

Re: Billboard旋转矩阵的推导

不面向摄像机会近大远小?
怎么好象我做的时候刚好和你相反啊.

贴个图,就是用我推的矩阵变换的.......
sf_200511319386.jpg
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-12-24 03:12

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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