Linux 3D 编程学习之小结

  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简单的物体运动/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值