Havok使用笔记

  • 基础的框架可以参考Demo\StandAloneDemos\ConsoleExampleMt搭建
  • 如果只是用碰撞检测的话, RigidBody集成进去就差不多了
  • HavokCloth&HavokDestruction是不是收费的? 竟然还有HavokAI和HavokScript
  • Phantom不参与物理运算, 感觉只是一个区域的定义, 可以用来做触发器什么的吧
  • 物理材质的参数是在哪编辑呢? 美术/策划?(补充:插件里有)
  • Constraint感觉很多游戏都没用上, 物理玩法的除外(补充: Ragdoll就是一种应用).
  • Api/Dynamics/Listeners/World Listener可以用来做波斯猴子/劳拉那样的荡秋千的动作
  • 如果集成了物理, 现有引擎中的射线查询可以替换掉了
  • Shape有几种最基本的: Box/Sphere/Capsule/Cylinder, 应该像Unity3D那样集成到编辑器里去
  • ConvexHull在GeometryProcessing/ConvexHull/hkgpConvexHull.h中有自动生成并简化的函数
  • Wind Action让我想起了Sacred2中技能引起草和树摇动的现象
  • simulation step建议是1/60秒, 那么对于帧率不稳定的游戏, 是不是要另外开个线程去更新它? Asynchronous stepping是另一种解决方案
  • 关于*.cxx文件: 这是在cpp文件中include的文件, 如果漏掉可能会有链接错误
  • Max: RigidBody属性是在修改器中
  • Max: ConvexHullUtility可以快速生成模型的凸包
  • Max: 质量为0的RigidBody被当成是固定的(静态模型)
  • Max: 创建Compound Rigid Body时最后选择的对象做为parent
  • 预览工具里可以按住空格用鼠标拖拽物体
  • Max: 由Box修改来的几何体其Shape默认还是"Box"类型, 需要改成"ConvexHull"
  • Max: Proxy要避免非等轴缩放, Align Pivots按钮必须按一下
  • 批量处理工具: tools/bin/batchprocess/processAssets.py
  • *.hkx文件里不仅导出来一些物理信息, 连模型/动画/场景等都有. 这样文件有点大, 解析起来也慢...
  • 感觉havok还是倾向于整个场景都在建模工具里制作, 所有场景信息统一导出. 而我们现在是以模型为单位的制作流程
  • hkt文件总是比hkx文件小, 但是加载速度就不如纯内存映射的hkx文件快.
  • hkQemMeshSimplifier可以用来做网格减面, 用途: 优化地形网格, 模型LOD生成
  • Max: 导出的文件要用Transform scene filter变换一下坐标系(交换YZ轴), 三角形顶点顺序也需要变一下
  • 从文件加载的hkpPhysicsSystem的生命周期受hkResource控制(可能是hkShape什么的受控制)
  • hkResource销毁时要markWrite一下, 估计对象自己把自己从场景里删除了(或者先把场景清空)
  • 待续...

你可能感兴趣的:(游戏,框架)