公告板技术

本文介绍了公告板技术(Billboarding)的基本原理及应用。通过让着色四边形根据视角方向旋转,实现物体总是面向观察者的视觉效果。文章还探讨了旋转矩阵的生成方法及其在游戏开发中的实际案例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

       在看完了毛星云的《实时渲染提炼总结》9.6-9.7与冯乐乐的《Unity Shader入门精要》后,我对公告板技术有了大概的认识,在这里总结一下。

       公告板,英文名Billboarding,是一项让着色四边形根据视角方向来旋转的技术,这样看起来似乎物体总是面向观察者。与alpha纹理和动画技术结合,可用公告板创建许多不具有平滑实体表面的现象,比如常见的烟雾,云朵,爆炸效果,能量盾等等。

       让物体根据视角来旋转,这无疑就产生了旋转矩阵,而旋转矩阵需要三个正交基,这就是Billboarding的难点所在。公告板技术通常选取表面法线(n)、上方向(u)以及指向右的方向(r),因为u和n往往不是垂直的,故还需要指定一个锚点,使其固定不变,这样我们就能确定物体在空间中的位置。


       如上所示,固定n,则r=n x u(叉乘),此时r和n是垂直的,对r进行归一化,再更新上方向u’=n x r,这样n,r,u两两正交,这样就确定了正交基。当然也可以固定u,计算过程类似。通常根据需求来确定是固定u还是n,当要模拟自然界的花草树木是,我们当然需要固定上方向u,使u的方向始终为(0,0,1);固定n的例子就太多了(现在好多资料都只讲固定n)英雄联盟中人物的名字和血条就是最好的例子。

      公告板不能孤立存在,它们通常扎根于一个公告集,在该公告集内有相同的尺寸、材质等,这样能节省计算机的计算和渲染时间,当公告集内有大量的公告板时,这样的渲染方式就十分有必要了。因为有相同的材质和尺寸,这就意味着GPU在进行渲染时,300和3000个公告板并没有多大区别。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值