ogre3D学习基础19 --- 材质的继承,纹理的滚动与旋转
2024-09-05 07:09:13
以上一节为基础,废话不多说。
首先新增一个节点,用于比较显示
//新增一个节点
ent = mSceneMgr->createEntity("Quad");
ent->setMaterialName("MyMaterial9");
node = mSceneMgr->getRootSceneNode()->createChildSceneNode("Node2",Ogre::Vector3(,,));
node->attachObject(ent);
我们改变下纹理坐标显示的比例为 0.2
manual->position(5.0,0.0,0.0);
manual->textureCoord(,0.2);
manual->position(-5.0,10.0,0.0);
manual->textureCoord(0.2,);
manual->position(-5.0,0.0,0.0);
manual->textureCoord(0.2,0.2);
manual->position(5.0,10.0,0.0);
manual->textureCoord(,);
首先实现简单滚动:
在纹理下面添加如下代码即可实现:
material MyMaterial9
{
technique
{
pass
{
texture_unit
{
texture terr_rock6.jpg
scroll 0.2 0.2
}
}
}
}
效果如下:
这个纹理的显示是以下面的比例实现的:
然后看动态滚动的实现,很简单,脚本如下:
一个scroll_anim 0.1 0.1
另一个scroll_anim 0.8 0.8
效果很明显:
接下来看看纹理的旋转与继承:
将显示比例改为正常显示:
manual->position(5.0,0.0,0.0);
manual->textureCoord(,);
manual->position(-5.0,10.0,0.0);
manual->textureCoord(,);
manual->position(-5.0,0.0,0.0);
manual->textureCoord(,);
manual->position(5.0,10.0,0.0);
manual->textureCoord(,);
现在写我们要继承的父脚本
material MyMaterial11
{
technique
{
pass
{
texture_unit texture1//起个名字,便于修改
{
texture grass_1024.jpg
rotate_anim 0.1//这句话实现旋转,参数表示速度
}
}
}
}
派生的脚本如下:
material MyMaterial12 : MyMaterial11
{
set_texture_alias texture1 grass_1024.jpg//这里可更换图片
}
截个动画看看效果:
继续学习,每天进步一点点。。
最新文章
- 基本术语表【WF】
- JS-reverse(数组内容颠倒)
- 一种构造WEB服务器端recv和send接口阻塞现象的方法
- Windows Phone 7之XNA游戏:重力感应
- android 项目学习随笔十七(ListView、GridView显示组图)
- Key/Value之王Memcached初探:二、Memcached在.Net中的基本操作 - Edison Chou
- 【Java基础】Java类及成员和修饰符的关系
- InnoTop
- 非常全面的Linux知识点总结
- 短路与&;&;和按位与&;的区别
- xamarin android制作圆角边框
- 基于 HTML5 的 3D 工控隧道案例
- LinkedBlockingQueue源码解析
- 在Design界面直接拖放控件的时候,提示AS- This view is not constrained vertically. At runtime it will jump to the left/(0,0) unless you
- 在typeScript+vue项目中使用ref
- jquery.form.js实现将form提交转为ajax方式提交的方法
- QT编写TCP的问题
- 01: 重写Django admin
- Get gcc built-in macros using command gcc -dM -E - <; /dev/null
- 拒绝了对对象 &#39;****&#39;(数据库 &#39;******&#39;,所有者 &#39;***&#39;)的 SELECT 权限