求教基本问题:BillBoard.

sakurar 2003-09-29 05:46:40
求通过四元素实现一个球对称BillBoard。
很想知道如何求一个向量的旋转四元数。
所以通过轴角方式的就不用了,谢谢。
...全文
80 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
铜戈 2003-10-01
  • 打赏
  • 举报
回复
rad 是旋转角

其实还有一个方法
首先你的board的上方向应该是知道的, 我们的摄像机一般都是y
这样就可以使用lookat方法生成矩阵, 然后转换成quaternion
ttmmdd 2003-09-30
  • 打赏
  • 举报
回复
没开玩笑.
此法可行,
方法2,如楼上说的视矩阵旋转的逆. 不过只适用于单个billboard.
方法3,用POINT SPRITE(要支持透视的那种).
方法4, 用VS来实现.

sakurar 2003-09-30
  • 打赏
  • 举报
回复
原来四元素就是轴角的形式,其实我没有理解四元数表示旋转的含义。

另,rad是什么?

已知两点坐标。
铜戈 2003-09-30
  • 打赏
  • 举报
回复
四元数事相对量, 你的初试向量已知吧

根据四元数的定义
w = cos(rad / 2)
x = sin(rad)* x
y = sin(rad)* y
z = sin(rad)* z

xyz分别事轴

四元数就是一个轴加上旋转角
sakurar 2003-09-30
  • 打赏
  • 举报
回复
To Lythm(村支书) :
我原来用的就是视矩阵的逆阵,不过这样所有的BillBoard都是平行的,视点到面的垂线不一定落到三角形上,所以有些时候不太适用。想能不能通过视点到目标的向量求旋转四元数。

To ttmmdd(老孩子):

这个问题你不用担心,粒子的比例与位移都是分开存放的,渲染时再与一个旋转矩计算。
ttmmdd 2003-09-30
  • 打赏
  • 举报
回复
是这样,
如果做PARTICLE SYSTEM,每个PARTICAL做BILLBOARD的效果的话,就没办法只设一个距阵了吧.
而是要每个PARTICLE设一个距阵,否则乘上视矩阵旋转的逆,就不是以PARTICLE为中心旋转转了.
铜戈 2003-09-30
  • 打赏
  • 举报
回复
billboard最简单的办法就是在乘上视矩阵旋转的逆, 这样无论怎么转摄像机, board始终都面向摄像机.(因为旋转矩阵视正交矩阵, 所以旋转矩阵的逆可以用转置来代替, 这样性能可以提高)

求向量的旋转四元数?能不能说的清楚些, 有些什么条件,知道旋转角度求还是知道旋转矩阵求
因为四元数本身的几何意义并不直观, 一般有几种办反构造四元数
eula angle -> quaternion
rotation matrix -> quaternion
axis angle -> quaternion
铜戈 2003-09-30
  • 打赏
  • 举报
回复
什么叫只适合单个board?
sakurar 2003-09-29
  • 打赏
  • 举报
回复
请不要开玩笑好吗。
ttmmdd 2003-09-29
  • 打赏
  • 举报
回复
方法1,直接算到屏幕坐标,计算出SIZE,屏幕坐标加减SIZE得到4顶点.

8,301

社区成员

发帖
与我相关
我的任务
社区描述
游戏开发相关内容讨论专区
社区管理员
  • 游戏开发
  • 呆呆敲代码的小Y
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧