物理引擎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 ...
随机推荐
- MySQL各种日期类型与整型(转)
日期类型 存储空间 日期格式 日期范围 datetime 8 bytes YYYY-MM-DD HH:MM:SS 1000-01-01 00:00:00 ~ 9999-12-31 23:59:59 t ...
- Win10打不开chm文件的解决办法
在Win10系统中打开chm文件时,提示安全警告,如下图: 点击打开后,可以看到chm文件的目录大纲,但是点击任意目录其内容都是空白,如下图: 经过网络一通搜索,发现解决办法很简单,就是在上面的安装警 ...
- 【软件使用技巧】PL/SQL Developer实现双击table询
二手plsql都知道,在表名默认双击[开展/关闭]. 习惯了MySql Workbench要么Sqlserver Management Studio无法适应其他管理工具. 直接在溶液: Tools - ...
- 持久化redis
redis持久化 Redis持久化原理: Redis支持两种持久化:RDB和AOF模式 一.名词解释: RDB:持久化可以在指定的时间间隔内生成数据集的时间点快照(point-in-time snap ...
- MailTest
GridBagLayout把一个界面分为m行n列的网格 GridBagConstraints的一个实例:gridx = 2; // X2,表示组件位于第2列gridy = 0; // Y0,表示组件位 ...
- 2014ACM上海邀请赛A解释称号
#include <cstdio> #include <cstring> #include <iostream> using namespace std; cons ...
- MEF初体验之六:导出和元素据
在导出声明这一节中解释了部件导出服务和值的基础知识.在某些情况下,出于多种原因,关联与导出相关的信息是有必要的.通常,它被用来解释一个指定的普通契约实现的能力.这对于允许导入约束满足它的导出,或者导入 ...
- 思考的工作方式——计划经济or市场经济
背景:单位成立了技术领先的基础部门.专注于产品规划的技术解决方案部门.产品的发展规划方向.批准的项目和各部门的其他工作方案.工作内容是在这一领域没有问题.毕竟,从过去企业发展的一个部门模型现在是一个功 ...
- vs2015web工程中的html引用压缩后css后无法智能提示的问题解决
环境:win10x64 vs2015企业版 项目:空白web项目(.net framework4) 问题:html页面加入压缩后的css(eg:bootstrap.min.css),编码的时候无法智能 ...
- 王立平-NGUI
NGUI: UI插入 UI : 人机交互界面 UI大部分是2D 眼下就我们总结这些.也许会增加 版权声明:本文博主原创文章,博客,未经同意不得转载.