Linux下应用OGRE开发3D
linux下应用OGRE开发3D的资料网上很少,今天抽空整理一下。
大部分内容参考OGRE主页http://www.ogre3d.org/。
首先根据主页提示,我们可以利用已有资源构建一个工程,具体步骤如下:
第一步,准备工作,确定你是在linux环境下,进入终端,输入一下命令:
编译和配置
sudo apt-get install build-essential automake libtool
需要的依赖
sudo apt-get install libfreetype6-dev libfreeimage-dev libzzip-dev libxrandr-dev libxaw7-
dev freeglut3-dev
下面是可选项,一般还是装上比较稳妥,不然后面出现问题不易查找
sudo apt-get install nvidia-cg-toolkit libois-dev libboost-thread-dev
sudo apt-get install doxygen graphviz libcppunit-dev
至此我们的准备工作已完成。接下来就要下载工程源代码,然后编译。
第二步,下载并编译工程:
下载工程源码文件:http://www.ogre3d.org/download/source/OGRE 1.7.4 Source for Linux / OSX
解压文件到/home目录下:
tar xjf ogre_src_v1-7-4.tar.bz2
进入目录:
cd ogre_src_v1-7-4
新建文件build,这个文件时用来存放编译工程项目的,所有的编译内容都将放在此目录下:
mkdir build
进入此目录:
cd build
由于此OGRE工程采用的CMake工具链进行编译。所以使用CMake命令开始编译:
cmake ..
编译器会根据CMakeLists.txt产生一个新的CMakeFile文件,接下来的编译就和Make编译一样:
make -j2
如过此处显示拒绝情况可以加sudo:sudo make -j2
最后一步:
sudo make install
所有的编译工作已完成,下面就是执行工程,看看3D效果的,这里还是要说明一下,如果你的电脑不支
持3D那就郁闷吧,因为这直接影响3D的渲染,结果当然是没办法看到执行的结果。如果支持3D渲染就继
续一下操作吧!
cd build (这步已经执行了,只是告诉一下是在这个目录下)
cd bin
看到可执行文件了吧!
./Samplexxxxxxx 这个文件名记不全了,开头那几个字母的文件就这一个,执行后会弹出一个界面,然
后选择rendersystem,按住不放选中下来菜单,接下来就可以进入了,这里你会看到所有你编译的例子
,3D的,太棒了!如果愿意,你可以修改源文件参数,重新编译。
========
Android+Unity3D简单的物体运动
我们来了解一下Translate的使用
首先我们来看看场景的搭建:建一个立方体,加一个点光源。
我们要实现的就是让场景中的立方体延X轴嗖嗖的移动
那么我们在Project新建一个js脚本Creat->Javascript
键入代码
function Update ()
{
transform.Translate(Vector3(1,0,0));
}
然后将js文件拖到Hierarchy面板的立方体上实现绑定。
运行一下,我们可以看到,立方体嗖的一声不见了。它一定是肚子饿了赶去吃饭了。
好了,我们来修改代码让它慢一点。
function Update ()
{
transform.Translate(Vector3(1,0,0)*Time.deltaTime);
}
运行一下,这会它老实了,慢慢的移动了。
这是怎么回事呢。接下来我们一步一步的分解代码。
首先Update()没什么好讲的了,一直在用,相信大家都明白怎么回事。
接下来是
transform:场景中的每一个对象都有一个transform,用来储存和控制物体的位置,旋转和缩放。
Translate:是transform的函数,用来移动物体。它接受一个三维向量(Vector3)参数来移动。其
实它还有第二个参数,就是按照自身坐标轴移动还是按照世界坐标轴移动。这里暂且不表。
Vector3:表示3D的向量和点。3个参数分别代表了向量x,y,z。
transform.Translate(Vector3(1,0,0));这句代码的意思就是,让被绑定的物体,也就是场景中的
立方体,向x轴的方向移动1个单位.
Time.deltaTime:是一个时间增量,我想应该是这一帧的时间。像flash中的一秒30帧,每帧多少秒
之类的。在这个程序中它的值是0.016左右。原本移动一个单位,现在乘以0.016,那肯定慢了。也就是
说,它的作用其实就是减慢移动的速度。
OK。
本文工程源码下载:
免费下载地址在
用户名与密码都是
具体下载目录在 /pub/Android源码集锦/2011年/11月/Android+Unity3D简单的物体运动/