物理引擎Havok教程(一)搭建开发环境
物理引擎Havok教程(一)
搭建开发环境
网上关于Havok的教程实在不多,并且Havok学习起来还是有一定难度的,所以这里写了一个系列教程,希望可以帮到读者。这是第一期。
一、Havok物理引擎简单介绍
Havok引擎,全称为Havok游戏动力开发工具包(Havok Game Dynamics SDK),一般称为Havok,是一个用于物理系统方面的游戏引擎,为电子游戏所设计,注重在游戏中对于真实世界的模拟。使用碰撞功能的Havok引擎能够让很多其它真实世界的情况以最大的拟真度反映在游戏中。
开发商Havok成立于1998年,眼下Havok物理引擎被超过200款游戏使用,很多电影也应用了这家公司的软件技术。
2007年9月Havok被Intel收购,为了和NVIDIA的PhysX竞争,Intel在去年的(08年)免费开放了Havok的Physics和Animation组件,内容包含Havok SDK库、例子、技术文档以及支持Maya、3ds Max和Avid XSI等3D建模软件的格式转换工具。
依照Havok的授权文档,即使使用它开发商业游戏也是不须要付费的,这对国内的爱好者应该是一个好消息。
同PhysX相比,个人认为,Havok不管在稳定性还是功能上,都要略胜一筹。NVIDIA的PhysX在硬件加速上,临时率先,但随着AMD增加到Havok硬件加速的开发,未来Havok的功能肯定会更加的强大。
二、Havok开发环境的搭建
1.安装SDK
首先,到Havok的官网下载SDK,http://software.intel.com/sites/havok/,填写自己的姓名和邮箱,注冊后就可以下载。

Content Tools是内容工具,包括一些3D建模软件的导出工具。Behavior Tool是给游戏美工或设计师用的角色编辑工具,具有所见即所得的功能。对程序猿来讲最重要的就是SDK了,我下载的是6.0.0这个版本号。由于Intel仅仅开放了物理和动画两个组件,所下面载的SDK是仅仅包括这两个组件,其它的如布料(Cloth)和破坏(Destruction)还是须要付费才干使用。
Havok SDK使用的是C++语言,开发环境是Visual Studio,我用的版本号是2005。

Demo文件夹以下是SDK的例子程序和源码,Docs是文档,包含chm和pdf两种格式。Lib是链接库,库分为Debug和release及动态链接和静态链接。Source以下是SDK的包含文件。Tools以下是工具,包含了Visual Debugger这个可视化调试器。
2.设置Visual Studio
这里以我使用的Visual Studio 2005为例。
头文件包括文件夹的设置。打开Visual Studio 2005,依次选择工具-》选项-》项目与解决方式-》VC++文件夹

选择包括文件,加入新的一行,路径指向Havok SDK安装文件夹的Source文件夹。建议建立一个叫HAVOK_HOME的环境变量,这样能够避免使用绝对路径。
库文件夹不能在这里设置,而应该为debug和release版本号设置不同的库包括文件夹。由于不论是debug还是release,它们的库名都是同样的。你能够打开Demo/Demos以下的project,看看它是怎样设置为不同版本号设置链接包括文件夹的。

三、第一个Havok程序
这里以SDK自带的一个控制台演示程序为例,使用Visual Debugger来观察Havok的详细效果。首先执行Tools/VisualDebugger文件夹下的Visual Debugger程序,使用它我们能够观察到Havok实际执行的效果,而省去渲染步骤,并且能够把场景记录下来,供以后观看。演示程序在Demo/StandAloneDemos/ConsoleExampleMt文件夹下,这个程序模拟一个高速运动的刚体,撞击墙壁的效果。执行它,然后就能够在VisualDebugger中看到实际的效果了。

好了,第一期教程就是这样。下期会接触到详细的编码问题。假设你有不论什么问题,欢迎和我交流,我的邮箱songnianhu@163.com,博客blog.csdn.net/shangguanwaner,下期再见。
物理引擎Havok教程(一)搭建开发环境的更多相关文章
- ExtJS4 MVC开发教程:搭建开发环境
原文地址:http://www.lihuai.net/qianduan/extjs/864.html 博主系列教程:http://www.lihuai.net/qianduan/extjs 在所有的J ...
- Hadoop基础教程之搭建开发环境及编写Hello World
整个Hadoop是基于Java开发的,所以要开发Hadoop相应的程序就得用JAVA.在linux下开发JAVA还数eclipse方便. 1.下载 进入官网:http://eclipse.org/do ...
- 混合式app ionic2.x 手动搭建开发环境教程分享(nodejs,jdk,ant,androidsdk)
1.ionic简介 为什么选用ionic: 彻底开源且免费 性能优异 基于红的发紫的AngularJs 漂亮的UI 强大的命令行(基于更热门的nodejs) 开发团队非常活跃 ngCordova,将主 ...
- qt学习教程1.qt开发环境搭建
qt学习教程1.qt开发环境搭建 首先下载qt 下载地址:http://download.qt.io/archive/qt/ 此教程使用的版本为5.1.1 下载好后,打开安装包,然后点下一步 选择一个 ...
- Android基础新手教程——1.2 开发环境搭建
Android基础新手教程--1.2 开发环境搭建 标签: Android基础新手教程 如今主流的Android开发环境有: ①Eclipse + ADT + SDK ②Android Studio ...
- 从0开发3D引擎(三):搭建开发环境
本系列使用Reason语言,因此需要搭建它的开发环境. 上一篇博文 从0开发3D引擎(二):准备预备知识 搭建开发环境 建议使用VSCode编辑器来开发Reason,因为它的插件支持得最好. 具体搭建 ...
- python Day 1 - 搭建开发环境
搭建开发环境 首先,确认系统安装的Python版本是2.7.x: $ python --version Python 2.7.5 然后,安装开发Web App需要的第三方库: 前端模板引擎jinja2 ...
- 3、Cocos2dx 3.0游戏开发找小三之搭建开发环境
尊重开发人员的劳动成果.转载的时候请务必注明出处:http://blog.csdn.net/haomengzhu/article/details/27107295 搭建开发环境 使用 Cocos2d- ...
- React Native从零到一搭建开发环境
React Native从零到一搭建开发环境 ReactNative环境搭建 安装Homebrew 安装rvm 安装nvm 安装node 安装react-native-cli 安装watchman i ...
随机推荐
- Java OCR tesseract 图像智能字符识别技术 Java代码实现
接着上一篇OCR所说的,上一篇给大家介绍了tesseract 在命令行的简单用法,当然了要继承到我们的程序中,还是需要代码实现的,下面给大家分享下java实现的例子. 拿代码扫描上面的图片,然后输出结 ...
- python K-means工具包初解
近期数据挖掘实验,写个K-means算法,写完也不是非常难,写的过程中想到python肯定有包,尽管师兄说不让用,只是自己也写完了,而用包的话,还不是非常熟,略微查找了下资料,学了下.另外,自己本身写 ...
- 每天进步一点点之SQL 获取表中某个时间字段离当前时间最近的几条
实际中用到的SQL: select * from (select top 3 Id, case when startSignup>GETDATE() then '敬请期待' when (star ...
- sql server 数据库 只有mdf文件,如何附加
直接附加就可以,SQL 会提示LOG文件找不到,可删除提示的错误行,只附加MDF文件,附加成功后,SQL会自动创建LOG文件.
- Cookie概念
ASP.NET Cookie概念.CURD操作.原理.实际运用 会话就WEB开发来说,一个会话就是你通过浏览器与服务器之间的一次通话,只不过这种通话是以用浏览器浏览的方式来实现的. 就会话的应用来 ...
- Xcode_6.3_beta_4 官方 下载地址
http://adcdownload.apple.com//Developer_Tools/Xcode_6.3_beta_4/Xcode_6.3_beta_4.dmg
- Linux下 高性能、易用、免费的ASP.NET服务器
Linux下 高性能.易用.免费的ASP.NET服务器 http://www.jexus.org/#
- 怎样用C#代码管理SharePoint解决方式
怎样用C#代码管理SharePoint解决方式 本文我们将了解怎样用代码管理SharePoint解决方式.我们使用server端对象模型抽取解决方式. SharePoi ...
- oracle 解锁scott账户
安装oracle数据库的时候忘了解锁账户,再加上一直配置不成功,链接不上,最后终于配置好了,发现没账户可用,oracle好难. oracle版本是 Oracle Database 11g Enterp ...
- OpenGL中shader使用
学了接近一个月的OpenGL,最终要排上用场了...好吧,就从学到的shader(着色器)开刀吧. 先简单的介绍shader,shader事实上是显卡的功能,就是利用显卡的GPU去做图像处理的工作,而 ...