月下的博客

  C++博客 :: 首页 :: 联系 :: 聚合  :: 管理
  34 Posts :: 0 Stories :: 59 Comments :: 0 Trackbacks

常用链接

留言簿(5)

我参与的团队

搜索

  •  

最新评论

阅读排行榜

评论排行榜

  博客又好久不更新了,今天上课拿手机正好查Havok的内容,突然发现Havok自从08年5月后对商业用和非商业用的游戏开发者是免费的,(以前我一直以为是收费的,甚至不开放给非商业开发者-。-!!被Physx迷惑了,5555)如果是商业用途,价格低于10美金(也就是国内单机游戏的价格),你甚至不用和Intel打招呼就能直接用。高于10美刀的话,也只需要问Intel要个免费授权即可~0~
----------------------------分割线----------------------------
恩恩恩,我知道,我的题目是比较;鉴于我是个物理引擎小白(只“看”过physx),所以不一定能保证准确性,但我尽力保证比较客观的去比较两者。
安装:havok提供两个压缩包,一个是SDK库,还有一个是提供给美工的Behaivor Tool。Physx是一个SDK包,不过之前必须装一个SystemSoftware(我记得Physx的GPU加速只支持英伟达自家的显卡)
Samples:Havok的实例写的还是挺工整的,附带了基本的注释,基本能保证你明白哪块代码干嘛用的.

        
// The cache size in bytes is equal to m_buckets * m_slots * m_chunkSize

        hkaDefaultChunkCacheCinfo cacheCinfo;
        cacheCinfo.m_numberOfCachePools 
= 2;
        cacheCinfo.m_cachePools.setSize( 
2 );
        cacheCinfo.m_cachePools[
0= cpCinfo[0];
        cacheCinfo.m_cachePools[
1= cpCinfo[1];

        
// Create a cache only if the number of buckets is nonzero
        
// Some variants of this demo do not use a cache.
        
// N.B. This is the default chunk cache which is not threadsafe (but invokes no critical sections
        
// so is fastest when used in a single threaded environment). For sharing a cache across
        
// multiple threads, the Animation/Animation/Playback/Cache/Multithreaded/hkaMultithreadedChunkCache
        
// class is provided - see also the Demo\StandAloneDemos\ConsoleExampleAnimationMT for an example use.
        m_cache = ( cpCinfo[0].m_buckets ) ? new hkaDefaultChunkCache( cacheCinfo ) : HK_NULL;
    }
相比Physx的代码就差一些,解释性的注释很少。
 1 _computeMostTouchedActor();
 2     NxVec3 relativeVelocity;
 3     if (_mostTouchedActor == NULL || !_mostTouchedActor->isDynamic())
 4     {
 5         relativeVelocity = _bodyActor->getLinearVelocity();
 6     } else {
 7         relativeVelocity = _bodyActor->getLinearVelocity() - _mostTouchedActor->getLinearVelocity();
 8     }
 9     NxQuat rotation = _bodyActor->getGlobalOrientationQuat();
10     NxQuat global2Local;
11     _localVelocity = relativeVelocity;
12     rotation.inverseRotate(_localVelocity);
13     //printf("Velocity: %2.3f %2.3f %2.3f\n", _localVelocity.x, _localVelocity.y, _localVelocity.z);
文档和教程:API详细程度上粗看差不多,不过貌似Physx没有提供索引功能,而只有搜索;
教程上看,我个人更偏好Havok的教程,上面譬如车辆那部分,havok专门划了块Vehicle Kit来讲,里面把物理大概原理什么都讲了,而且带了很多解释图,我觉得这对初学者会很不错。


Physx的教程更多带的是实例的代码,里面的lesson就对应了一个小程序,不过觉得里面的解释相对havok较少,而且毕竟是word文档,看着比chm的累。。。

  我现在有这感觉,在国内而言Physx的名声比Havok要大。但似乎Havok更强大且更易用些。
  累了。。睡个午觉去

posted on 2010-06-29 13:52 月下圆舞曲 阅读(3606) 评论(4)  编辑 收藏 引用 所属分类: 杂事

Feedback

# re: 初探Havok后,和Physx的一点点比较 2010-06-30 08:20 ccsdu2009

物理引擎就那么几个 子弹 ode, PHyx,Havok  回复  更多评论
  

# re: 初探Havok后,和Physx的一点点比较 2010-06-30 08:50 liangairan
求havok下载连接地址。  回复  更多评论
  

# re: 初探Havok后,和Physx的一点点比较 2010-06-30 12:19 月下圆舞曲
@liangairan
http://software.intel.com/sites/havok/
把表单填了就能下载了  回复  更多评论
  

# re: 初探Havok后,和Physx的一点点比较 2011-10-23 22:19 李素颙
之前项目有用过,但感觉API和文档对开发者很不友好啊,根本查不到什么资料,官网也不太活跃,等回复很囧  回复  更多评论
  


只有注册用户登录后才能发表评论。
【推荐】超50万行VC++源码: 大型组态工控、电力仿真CAD与GIS源码库
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理