- 博客(39)
- 资源 (23)
- 收藏
- 关注
转载 OGRE骨骼动画的读取和播放
OGRE 本身附带了两套比较完整的骨骼动画模型,保存在 OGRE\Samples\Media\models 目录下,一套是机器人 ( robot.mesh 和 robot.skeleton ) ,一套是忍者 ( ninja.mesh 和 ninja.skeleton ) 。其中忍者的模型多边形数比较高,动作也比较丰富和细腻。我们就使用这个现成的忍者模型来学习骨骼动画的读取和播放。OGRE 的角色模
2012-08-22 08:54:34 2615
原创 Ogre手动添加骨骼动画
///初始化骨骼动画参数 Animation::setDefaultInterpolationMode(Animation::IM_LINEAR); Animation::setDefaultRotationInterpolationMode(Animation::RIM_LINEAR); ///得到实体 Ogre::Entity* ent = m_pRenderBox->get
2012-08-20 18:04:24 1209
转载 OgreMax的使用
目前开发的IM游戏平台主要用Ogre制作,开发了一段时间,其中3ds max导出插件比较好用就oFusion和OgreMax,但是oFusion因为免费版的因素,有功能限制几乎没法儿用来做真正的开发。因此大部分时间就是用oFusion在3ds max中的即时预览功能,而OgreMax就用来做真正的导出。经过一段时间的使用及网上的一些资料,总结了一些OgreMax的使用经验,经常使用的菜单部分的一些
2012-08-20 09:13:57 1507
转载 OGRE中的人脸动画
在Ogre的Facial Demo中采用了顶点动画(确切点说是Pose Animation)让面部产生面部表情及发音动画,本文简单介绍了顶点动画的概念,并结合Facial Demo,探讨如何实现Pose Animation。]顶点动画是直接使用顶点让网格(mesh)产生动画的一种方式。每一组动作在顶点动画中对应一个顶点数据实体。顶点动画被存储在.mesh文件中,因为它与网格的顶点紧密相连。
2012-08-20 08:55:07 1178
转载 OGRE手札-31 从3Dmax导出动画文件
从3Dmax导出动画文件在3Dmax里我们可以利用一些现成的.bip文件来驱动我们的模型,通过OgreMax这个插件可以将这些东西到出为ogre支持的文件格式从而,导出到ogre中使用。第一,安装ogremax插件 这个没什么可说的,你在网上下载一个安装上就行了。 安装后,看以看到在主菜单栏中有:从3Dmax导出动画文件" title="OGR
2012-08-20 08:42:29 997
原创 Ogre动画教程源代码ITutorial01.h
ITutorial01.h/*-----------------------------------------------------------------------------Filename: ITutorial01.h-----------------------------------------------------------------------------
2012-08-18 11:08:14 1080
转载 3d max morpher教程
看到像《玩具总动员》、《恐龙》之类的三维动画影片时,那逼真的材质,流畅的动作,还有维妙维肖的面部表情,都让我们感叹不已。其中,要说最复杂、最难处理的,恐怕得算表情动画的制作了。表情是心理活动的显化。一个好的演员,不用一句台词也能将人物演绎得性格丰滿,活灵活现;而要虚拟人物来完成这一任务,难度相当大。加上每天我们见到的人也多,这让我们有了准确分辨表情的能力,一个小小的疏忽,也会让虚拟人物的“表演”打
2012-08-18 08:38:33 10464
转载 从3DS MAX建模到Ogre实时动画的制作过程
从3DS MAX建模到Ogre实时动画的制作过程3DS MAX是一个强大通用的建模工具,能方便的制作骨骼动画。Ogre是一个开源的图形引擎,在骨骼动画方面支持Vertex blending,它也提供了对多种模型的导入,当然少不了3DS MAX模型。在此我将叙述从3DS MAX建立模型,到最终利用此模型在OGRE中制作实时动画的全过程。本文只给出各个步骤,对每个步骤的实现细节不予叙述
2012-08-16 16:56:17 1302
转载 Ogre骨骼动画
一、基本框架先看一下OGRE动画的基本框架:http://blog.csdn.net/leonwei/article/details/5819248 二、动画控制OGRE的基本动画控制是很简单的,设置一个动画的操作是这样: // Set idle animationmAnimationState = ent->getAnimation
2012-08-16 16:42:39 1698
转载 Ogre:Animation(Ogre中的动画)
在Ogre中Animation是一块非常重要的部分,但是笔者在学习Ogre的动画时遗憾的发现关于Ogre中动画的资料非常的少,Ogre的sample中只有最简单的导入一个骨骼动画的例子,在网上也很少有人谈及,Ogre Wiki中的教程也是边边角角,不知这么重要的部分为什么不做一个全面的tutorial。我从网上的仅有的一些资料和自己的亲自试验总结了一下基本的Ogre动画的使用,当然Ogre的动画模
2012-08-16 15:59:32 918
转载 使用微软Speech SDK 5.1(SAPI 5.1)语音开发包介绍
微软语音识别分两种模式:文本识别模式和命令识别模式.此两种模式的主要区别,主要在于识别过程中使用的匹配字典不同.前者使用的是通用字典,特点是内容多,覆盖的词汇量大,字典由sdk提供.适用于没有预定目标的随机听写之类的应用.同时因为词汇量大直接导致识别的精度降低,识别速度较慢.后者的字典需要 开发者自己编写,就是你们所说的xml文件.xml文件作为一种数据存储的方式,有一定的格式,定义了sdk需
2012-08-16 09:02:23 11312
原创 string, char*, int类型转换 , c++强制转化
以下是常用的几种类型互相之间的转换string 转 int..............................char* 转 int #include int atoi(const char *nptr); long atol(const char *nptr); long long atoll(const char *nptr); long long atoq(con
2012-08-15 16:24:04 3735
原创 OgrePrerequisites.h
// Modified from OpenGUI under lenient license// Original copyright details and licensing below:// OpenGUI (http://opengui.sourceforge.net)// This source code is released under the BSD License//
2012-08-15 15:41:26 1015
转载 LPSTR、LPWSTR、LPCSTR、LPCWSTR、LPTSTR、LPCTSTR的区分与转化
首先在编译程序时经常会遇到这种问题:错误 1 error C2664: “CWnd::MessageBoxW”: 不能将参数 1 从“const char [3]”转换为“LPCTSTR” 1、觉得很烦,一般的做法就是不管三七二十一,在字符串前面加一个‘L’:如调用函数FUN(LPCTSTR str)时,不能 FUN("HELLO"); 而是FUN(L"H
2012-08-15 14:47:41 547
转载 常见字符编码扫盲(UTF,Unicode, GB2312)
文章一,本文转载自:http://fmddlmyy.home4u.china.com/text6.html谈谈Unicode编码,简要解释UCS、UTF、BMP、BOM等名词这是一篇程序员写给程序员的趣味读物。所谓趣味是指可以比较轻松地了解一些原来不清楚的概念,增进知识,类似于打RPG游戏的升级。整理这篇文章的动机是两个问题:问题一:使用Windows记事本的“另存为”,可
2012-08-15 11:53:02 3694
转载 CEGUI中文显示问题的解决方法
论坛上有好多朋友困惑于CEGUI无法显示和输入中文的问题。输入问题暂且不说,起码显示中文应该不难吧。我研究了两天,其间不知用了多少遍Google,跑到CEGUI和OGRE的官方网站和论坛找了很久,都没有太多的帮助。也看了打工仔写的相关文档,但是好像需要修改源代码,然后重新编译。难道CEGUI的最新版0.5.1还不支持中文吗?!最后只好自己一点一点摸索。谁知竟然真的被我摸到了,呵呵。下面我就说一说,
2012-08-15 11:51:23 1053
转载 使用 Unicode 编码
.NET Framework 2.0面向公共语言运行库的应用程序使用编码将字符表示形式从本机字符方案(Unicode)映射为其他方案。应用程序使用解码将字符从非本机方案(非 Unicode)映射为本机方案。System.Text 命名空间提供了使您能够对字符进行编码和解码的类。System.Text 编码支持包括以下编码:Unicode UTF-32 编码Unico
2012-08-15 10:47:37 794
转载 Unicode与UTF-8/UTF-16/UTF-32的区别
Unicode的最初目标,是用1个16位的编码来为超过65000字符提供映射。但这还不够,它不能覆盖全部历史上的文字,也不能解决传输的问题 (implantation head-ache's),尤其在那些基于网络的应用中。已有的软件必须做大量的工作来程序16位的数据。 因此,Unicode用一些基本的保留字符制定了三套编码方式。它们分别是UTF-8,UTF-16和UTF-32。正如名字
2012-08-15 10:18:20 2185
转载 CEGUI的String与C++的std::string互相转换
问题源于设置一个窗口的userString,即,winmgr:getWindow("winName"):setUserString("AnotherName", "根窗口");然后使用getUserString("AnotherName")来获取这个值的时候,显示的就是乱码.CEGUI内部使用utf32编码,可以使用String.data() & String.c_str()来获取
2012-08-15 09:01:55 850
转载 CEGUI Lua 编码
CEGUI使用的是UTF-8编码lua 使用的是ascii 编码UTF-8编码是以一个字节为"基本单元",在表示7位ASCII字符表中的字符时,这个字符在UFT-8的格式中占一个字节,即,一个"基本单元",而在表示汉字的时候,UTF-8格式要使用3个字节来表示一个汉字。UTF-16,UTF-32 类似,分别以16位和32位为一个"基本单元"Unicode编码,不管什么字符,都是
2012-08-15 09:00:06 671
转载 ANSI, GB2132, Unicode, UTF-8介绍
ANSI 的"Ascii"编码使用了单字节的1~127值。 汉字是使用0xA1到0xFE之间的值,二个字节表示一个汉字。一共可显示汉字个数为(0XFE - 0XA1) * (0XFE - 0XA1) = 8649 。如果默认非Uncoide的编码是中文简体,即使用GB2132编码。一个英文字符用一个字节,一个汉字用两个字节。(即在非Uncoide程序中,我们对字
2012-08-14 17:55:54 1186
转载 Visual Studio调试多线程应用程序
Visual Studio调试多线程应用程序10.3.3 调试多线程应用程序多线程应用程序是在给定的进程中有多于一个的线程在运行的应用程序。默认情况下,每个运行应用程序的进程有至少一个执行线程。你也许创建多个线程来做并行处理。这可以显著地提升性能,尤其在运行今天的多核处理器和超线程技术的时候。然而,多线程也带来了更大的开销。代码变得更加复杂难写且更难于调试。如果你曾写过多线程应用程序,
2012-08-14 15:53:29 4533
转载 MFC 多线程编程
MFC 多线程编程一、问题的提出编写一个耗时的单线程程序: 新建一个基于对话框的应用程序SingleThread,在主对话框IDD_SINGLETHREAD_DIALOG添加一个按钮,ID为IDC_SLEEP_SIX_SECOND,标题为“延时6秒”,添加按钮的响应函数,代码如下:void CSingleThreadDlg::OnSleepSixSecond() {
2012-08-14 15:41:07 1013
转载 多线程之创建工作者线程和用户界面线程区别
多线程之创建工作者线程和用户界面线程区别 1、工作者线程倾向于琐碎的处理,与它不同的是,用户界面线程具有自己的界面而且实际上类似于运行其他应用程序。创建线程而不是其他应用程序的好处是线程可与应用程序共享程序空间,这样可以简化线程与应用程序共享数据的功能。 2、典型情况是用户界面线程用于完成查询和替换等功能,或者是其他不希望占用主应用程序大量处理时间但是需要一个界面
2012-08-14 15:27:55 3957
转载 C++内存分配秘籍—new,malloc,GlobalAlloc详解
C++内存分配秘籍—new,malloc,GlobalAlloc详解 C++内存分配秘籍—new,malloc,GlobalAlloc详解 _______只为因内存分配而无法入眠的程序员一。关于内存 1、内存分配方式 内
2012-08-14 13:28:17 751
转载 c++中new和delete的使用方法
c++中new和delete的使用方法new和delete运算符用于动态分配和撤销内存的运算符new用法: 1. 开辟单变量地址空间 1)new int; //开辟一个存放数组的存储空间,返回一个指向该存储空间的地址.int *a = new int 即为将一个int类型的地址赋值给整型指针a.
2012-08-14 12:50:12 511
转载 明晰C++内存分配的五种方法的区别
在C++中,内存分成5个区,他们分别是堆、栈、自由存储区、全局/静态存储区和常量存储区。 栈,就是那些由编译器在需要的时候分配,在不需要的时候自动清楚的变量的存储区。里面的变量通常是局部变量、函数参数等。 堆,就是那些由new分配的内存块,他们的释放编译器不去管,由我们的应用程序去控制,一般一个new就要对应一个delete。如果程序员没有释放掉,那么在程序结束后,操作系统
2012-08-14 12:11:55 502
原创 ogre1.8.0场景添加lua脚本
今天终于把lua脚本加入cegui界面中了,感觉特兴奋。因为这个问题困扰我三天了,现在是该总结一下了。//使用 脚本加载界面mGUIRenderer=&CEGUI::OgreRenderer::bootstrapSystem();//lua初始化CEGUI::LuaScriptModule& scriptmod(CEGUI::LuaScriptModule::create());
2012-08-11 11:31:39 1979
原创 如何在CEGUI中使用Lua脚本入门学习
如何在CEGUI中使用Lua脚本入门学习如何在CEGUI中使用Lua脚本入门学习是本文要介绍的内容,主要是来学习lua脚本语言在CEGUI如何来使用,不多说,具体内容来看本文详解。AD: 51CTO云计算架构师峰会 抢票进行中!如何在CEGUI中使用Lua脚本入门学习是本文要介绍的内容,主要是来学习lua脚本语言在CEGUI如
2012-08-07 20:57:39 2098
原创 一个很不错的lua学习实例
一个很不错的lua学习实例/***************************************************************************** This file is part of GASS. ** See http://code.google.com/
2012-08-07 20:56:40 1764
转载 Lua消息处理入门
Lua消息处理入门Lua消息处理入门把GUI的消息处理从代码中分离出来,并交给lua脚本处理,这样可以给你的界面带来很大的灵活性.GUI的相关地东西可以在测试期间很轻松的修改.Lua中的负责处理消息的东西其实只不过是普普通通的只带一个参数的Lua函数而已.若想用它作事件处理函数,你必须先在系统中注册它.所以除非你在初始化脚本中载入他们,你必须在处理相应事件之前载
2012-08-07 20:55:17 883
转载 CEGUI学习笔记一--FirstWindow和FalagardDemo1分析
CEGUI学习笔记一--FirstWindow和FalagardDemo1分析前言 该系列文章将记录我在学习CEGUI(0.6.0)时碰到的一些问题和得出的心得体会,适合没有任何CEGUI基础的朋友看。我会不定期的将自己的学习整理成笔记,同时由于我是本月刚接触CEGUI,也是正在学习的阶段,所以热烈欢迎各路朋友和我探讨、交流、指教。最终目的是想在基于OGRE图像库
2012-08-07 20:45:13 637
转载 CEGUI学习笔记二-- FalagardSkinning使用手册第2章翻译
CEGUI学习笔记二-- FalagardSkinning使用手册第2章翻译本文翻译了FalagardSkinning使用手册的第2章。阅读完本文,你将了解如何自定义一个控件外观的方法,并且将看见自己刚刚的成果! 首先需要说明的是,这个部分不是教你如何使用XML。因此我们假定读者熟悉并知道如何使用XML。2.1开始前:一个空皮肤在我
2012-08-07 20:44:35 1422
转载 CEGUI学习笔记六-- 使用CEGUI解决具体问题
CEGUI学习笔记六-- 使用CEGUI解决具体问题本文讲述了如何实现以下几个具体问题:1、设置控件的背景为透明。2、以D3D9为渲染层的时候,Tooltip工作不正常(一闪而过)。3、模拟MessageBox。 1、设置控件的背景为透明有3种方法来解决这个问题:1、修改Imageset文件,提供相关的透明位图;修改Look
2012-08-07 20:43:43 1170
转载 CEGUI学习笔记七--如何扩展CEGUI控件库
CEGUI学习笔记七--如何扩展CEGUI控件库本文是扩展CEGUI控件库的第2部分,对FalButton.CPP文件的分析记录。目的是探究下如何去控制 Renderer,从而彻底实现一个CEGUI没有的控件类型。但是分析未完成,希望这些半成品能对大家有用。PS:由于公司的网络限制,所以Blog很长时间未更新。家里还没电脑,上班偷偷写的....下次将整理下单独编
2012-08-07 20:43:07 803
转载 cegui基础2
cegui基础2cegui 6统一度量系统使用指南注意:此教程仅适用于CEGUI >= 0.4.0统一度量系统使得我们可以用相对部分和绝对部分共同来表示一个坐标或大小。这给窗口布局带来了极大的方便。比如:你可以用相对尺寸来表示高度,使用绝对大小表示宽度,或者混合使用。统一度量系统共有三种形式 * UDim : 简单的一维
2012-08-07 20:42:10 1131
转载 结合使用Ogre 1.7.1 +CEGUI 0.7.1
结合使用Ogre 1.7.1 +CEGUI 0.7.1 这篇文章是对于Ogre3D中文网——基础教程六的补充,阅读前假定你已经对于Ogre和CEGUI有一定了解,并且阅读了《基础教程六》如果你还不了解他们,你应该知道:Ogre是一个3D图形渲染引擎;CEGUI是灵活的,可自由定义样式的GUI框架,他可以很好的支持Ogre,来绘制界面。如果你对于Ogre和CEGUI感兴趣
2012-08-07 20:04:44 829
原创 ogre1.7.x教程中需要修改的地方。
新版本的Ogre(1.7.1)在使用CEGUI的时候发生了一些变化。这样的变化让很多新手(包括我)在阅读非官方中文wiki上的教程时总会遇到代码不能编译通过,很是沮丧。这些教程包括“基础教程六”,“基础教程七”,“中级教程二”,“中级教程三”等等。1、头文件的引用应改为:#include #include #include #include #include #
2012-08-03 09:03:17 823
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人