文章目录
原文:
OpenGL-Turorial - Billboards
- Billboards
- Solution #1 : The 2D way
- Solution #2 : The 3D way
- Solution #3 : The fixed-size 3D way
- Solution #4 : Vertical rotation only
(2020.03.24 23:16 这里吐槽一下:我的天,CSDN更新后,写文章系统一堆BUG,写着写着,光标不会换行,即使按下多少次回车键都一样,然后保存草稿后,在刷新页面,发现之前写的一部分内容不见了。。。这。。。无语,多浪费心血啊。。。)
BillboardsBillboard 是3D世界中的2D元素。它不是一个在所有其他东西顶上显示的2D菜单,也不是一个可以让你旋转的3D平面;但介于他们之间的东西,如多数游戏中的:血条。
而Billboard区别在于他们的位置是可以指定的,但它们的朝向会一直的朝向镜头。
Solution #1 : The 2D way解决方案1:2D的方法
这个方法超级简单。
仅仅计算在屏幕中的位置,并在这个位置上显示一个2D tex文本(查看教程11有)。
// Everything here is explained in Tutorial 3 ! There's nothing new.
glm::vec4 BillboardPos_worldspace(x,y,z, 1.0f);
glm::vec4 BillboardPos_screenspace = ProjectionMatrix * ViewMatrix * BillboardPos_worldspace;
BillboardPos_screenspace /= BillboardPos_screenspace.w;
if (BillboardPos_screenspace.z
关注
打赏
热门博文
- 3D Assets (Textures & Model & Animations) & Game Design Ideas & DCC Tutorials & TA
- LearnGL - 学习笔记目录
- Unity - Timeline 知识汇总
- Unity Graphics - 知识点目录 - 停止翻译,因为发现官方有中文文档了
- Graphic资料
- Unity Lightmap&LightProbe局部动态加载(亲测2020以及以上版本官方修复了)
- Unity - 踩坑日志 - 低版本线性颜色空间渲染异常的 “BUG”
- Unity Shader - PBR 渲染 SP 导出的素材
- 什么是 3A 游戏?
- Photosohp - 实现 2D MetaBall、MetaFont