Ogre,Blender笔记

 1、一个空项目,在项目属性页如果看不到“C/C++”调试选项,那是因为没有在项目里面建立后缀为“h”的头文件以及后缀为“cpp”的代码文件。

 2、如果是在编译正确之后、链接的时候,发生错误,比如cannot find symbol 。。。,有可能是项目属性里面没有添加相应的 lib 后缀文件。第7课里面需要在“连接器》附加依赖项”里面添加两行:
CEGUIBase.lib
OgreGUIRenderer.lib

  3、如果在官方主页找不到OgreXmlConverter.exe,那么可以去SourceForge.net搜:
OGRE (O-O Graphics Rendering Engine) 或者OGE
找到OGRE (O-O Graphics Rendering Engine)这个大类之后,点击下载按钮,然后来到详细下载目录,在目录里面,可以看到OgreCommandLineTools_v1.4.7.msi ,OgreXmlConverter.exe就包含在里面,当然,OgreSDKSetup1.4.7_VC80p1.exe的下载链接也在这个目录里面。

 4、在导出模型之前,记得 Ctrl + N(清理法线),否则在Ogre里面模型会变成一团乱麻。另外,镜像过的物体也要崩塌为纯网格。

 5、如果出现如下情况:
OGRE EXCEPTION(5:ItemIdentityException): Cannot locate a resource group called 'ET' for resource 'brush.png' in ResourceGroupManager::openResource at c:/ogrenew/ogremain/src/ogreresourcegroupmanager.cpp
解决方法:
resources.cfg 文件最后面,添加如下两行(注意,第一行必须有):

[ET] 
FileSystem
= C: / ogrenew / Samples / Media / ET

 

6、如果安装的是sdk版,并且是用Code::Blocks编译的版本,在Ogre官方wiki的高级教程3编译的时候,会出现缺少CEGUIBase.lib和OgreGUIRenderer.lib的情况,没关系,直接把bin目录的CEGUIBase.dll和OgreGUIRenderer.dll添加到编译选项中来,就算是dll也没关系,照样可以当lib用,具体方法如下:

在Code::Blocks右边的工程上点右键,选择属性,然后是Build targets(编译目标),再然后是Build options,看到Linker settings没?继续点,看到add了吧,点它,出来文件浏览对话框,定位到响应的dll就OK了,我的目录是E:/ogre/bin/release,里面有上面提到的两个dll。

 

7、main 启动 appapp 包含 createScene 以及其他必要变量,并启动 listener,所有变量最终都传入listener用于驱动游戏。

8、createScene做什么:设置光照,利用场景管理器创建物体,创建节点,并将已经生成的物体挂接到节点上,最后把节点和物体都传给listener。

9、listener做什么:让物体动画,让节点旋转或者位移。

10、如何在游戏里面显示自己的信息:点击 ★这里

11、Ogre教程 Intermediate Tutorial 1中级教程一),其中关于动画部分比较难理解,经过我自己改进的版本 ★在这最起码我自己看得懂,哈哈。

12、IntermediateTutorial4Source如果不能正常编译,那么可以尝试把如下代码:

  1. #include <CEGUI/CEGUI.h>
  2. #include <OgreCEGUIRenderer.h>
  3. 改为:
  4. #include <CEGUI/CEGUISystem.h>
  5. #include <CEGUI/CEGUISchemeManager.h>
  6. #include <OgreCEGUIRenderer.h>

13、Bldner 如何导出Ogre的Mesh以及Skeleton文件?

这里下载py脚本,放到blender的脚本目录,然后在blender里面 点击updata 脚本列表

14、如果下面的quad为0,0,0,则被挂接的物体不随父物体转动

Ogre::Quaternion quad(0,0,0);///这里应该为Ogre::Quaternion r(Quaternion::IDENTITY)或者类似的值,看老外的
entBody= mSceneMgr->createEntity("body0", "Body0.mesh");
entFoot->attachObjectToBone("Bip01",entBody,quad,Vector3(-10,75,0));

15、位移量乘以方向=实际的运动结果

mCamNode->translate(mCamNode->getOrientation() * transVector * evt.timeSinceLastFrame);

 

16、Ogre的 Basic Tutorial 7 教程里面,源代码部分BasicTutorial7Source 有个地方把 RttTex  写成 R2TTex,能正常编译,但是会造成运行时错误,(难道是老外的错别字?),把 R2TTex 改成 RttTex 就行了

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值