河北建设工程信息网登陆,网络优化岗位详细介绍,品牌建设对策,在线设计图片logo免费公告牌技术,即billboard技术,在3D游戏中有着广泛的应用.它的本质就是用预先做好的几幅 位图来代替3D物体,极大地节省资源和提高速度.仔细观察魔法门系列游戏,它的精灵,树木,物 品都是二维图象,但由于它始终朝向观察者,你根本看不到它扁的一面,所以… 公告牌技术,即billboard技术,在3D游戏中有着广泛的应用.它的本质就是用预先做好的几幅 位图来代替3D物体,极大地节省资源和提高速度.仔细观察魔法门系列游戏,它的精灵,树木,物 品都是二维图象,但由于它始终朝向观察者,你根本看不到它扁的一面,所以给人一种立体的感觉. 这种技术最大的优点是快.试想一个多边形构成的3D精灵,至少百余个多边形,而用billboard技术, 只需处理两个多边形,优势不言而喻.其他3D游戏的爆炸效果,极品飞车中路旁的树木,都使用了 该技术. 使用方法
创建公告牌 osg::Billboard* center new osg::Billboard(); 设置旋转模式可选如下 POINT_ROT_EYE 始终朝向眼睛 POINT_ROT_WORLD AXIAL_ROT绕坐标轴 center-setMode(osg::Billboard::POINT_ROT_WORLD); 如果是坐标轴 x_arrow-setMode(osg::Billboard::AXIAL_ROT); //以x轴为旋转轴 x_arrow-setAxis(osg::Vec3(1.0f,0.0f,0.0f)); 在本例中createSquare创建了一个贴纹理的正方形。 关于纹理以后会进行研究。 createAxis函数创建了一个坐标轴像Texture2D、LineWidth都是状态属性对应于OpenGL的状态集 应该去设置StateSet。 Billboard继承Geode可以添加drawable因此像DrawPixels、Geometry、ShapeDrawable、TextBase 等都可以添加其中。 Billboard中也有 enum Mode { POINT_ROT_EYE, POINT_ROT_WORLD, AXIAL_ROT };这三种模式用于设置节点朝向。 这里不得不比较一下AutoTransform和Billboard的区别: BillBoard继承Geode因此它可以实现一些轻量级的朝向屏幕例如树可以通过这种方式实现。 AutoTransform继承Group实现的功能比Billboard要多更灵活可以根据视点到节点的距离自动进行 节点缩放。 因此说AutoTransform是Billboard更为灵活的一种替代物。 因为osgText::Text也同样有朝向屏幕的功能因此不建议text和Billboard和AutoTransform一起使用。 下面是从网上找的的关于Billboard和AutoTransform的说明 osg::AutoTransform is an alternative to osg::Billboard. AutoTransform是Billboard的另外一种选择。 AutoTransform is a derived form of Transform that automatically scales or rotates to keep its children aligned with screen coordinates. AutoTransform继承Transform通过自动缩放和旋转来保持子节点对齐屏幕坐标。 Billboard is a derived form of Geode that orients its osg::Drawable children to face the eye point. Billboard继承Geode能够自动使Drawable对着视点。