我的订单|我的收藏|我的商城|帮助中心|返回首页
虚拟现实新闻>VR>行业资讯>培训教程

Vega Prime教程:碰撞检测

文章来源:第三维度 作者: 发布时间:2012年05月07日 点击数: 字号:

    来源:第三维度

    添加碰撞检测

    Isectors是接触检测,一些接触检测有大量复杂的运算,可以支持你用地线夹将运动模式固定在地面。还有一些相对简单的,包含几行代码行的运算,用来区分目标。根据检测类型的不同,您可以在C++程序中编写适当的反应程序,如在墙体前停车。

    你可以从以下内容选择运算:

 · Tripod – 三条聚集数据的直立线段,指引使用t者到指到目标。Tripod用于在水平地面上。

 · Bump-六条线段,沿X,Y,Z轴正负方向聚集爆炸。

 · LOS-单根视线线段,沿Y轴向辐射。它聚集您面前的数据。

 · HAT-单根线段,沿Z轴辐射,它计算地形上的高度。

 · XYZPR-计算及斜度和转向

 · ZPR-计算爆炸点的Z轴方向的斜度和转向

 · Z-计算Z轴上的爆炸点。

    在我们指南中,我们将添加一个Isector来用地线夹将汽车固定在地形上,然后给汽车添加一个bump检测爆炸。我们将使用LynX Prime添加这两个运算。

    添加一个Tripod检测

    添加之前,你必须创建一个实例来用地夹线通过Isector来固定一个运动模式。

    Step 1 在myMotion的用户操作区中,点击创建新实例的键Vega Prime教程:LP界面构成,这个按键在Next Position Strategy列表旁边。

    Step 2 在创建新实例对话框中,选择GroundClamp,点击Ok。

    Step 3 点前进键Vega Prime教程:LP界面构成显示myGoundClamp用户操作区。

    Step 4 点击Isector列表旁边的创建新实例键Vega Prime教程:LP界面构成

    Step 5 在创建新实例的对话框中选择IsectorTripod,Ground Clamp实例将会使用这个功能来计算爆炸信息。最终运动方法将接触信息反馈给汽车。

Vega Prime教程:碰撞检测

    Step 6 点击前进键显示myisector用户操作区

    Step 7 将mylsector改名称为tripodIsector.

    Step 8 保存。

    设置Tripod检测

    我们需要将地形做为tripod检测的目标,tripodIsector将用地形来寻找接触,并将信息传递给所有相关的运动模式。

    Step 1 在tripodIsector用户操作区,在Target列表中选择地形物体作为目标。

    Step 2 设置选择Render Isectort复选框用于isector显示。如果isector找到地形目标,线条显示为绿色,否则线条显示为红色。

    Step 3 运行Active Preview,你将能在屏幕上发现从汽车发出三条绿垂直线。

Vega Prime教程:碰撞检测

    Step 4 设置tripod检测的宽度为10,长度为12,这样可以检测更大的接触面。宽度和长度的参数表示三根线彼此之间的距离。重新设置后,三根线的之间距离会拉大,您将能看到地面上三根直线间的三角形联线。但这个三角形不处理任何爆炸信息,而是由这三根垂线处理所有的工作。

Vega Prime教程:碰撞检测

    Step 5 现在,沿湖边驾驭汽车。请注意你现在不会再觉得汽车在向下陷。当心,别开到湖里去。

    Step 6 现在请开到马路上,开始练习您的驾驭技术。

    Step 7 将汽车驶离数据库区,当你离开仿真世界的边缘时,汽车发出的三根线呈红色,因为这时他们无法再检测到与地面目标的接触。

    Step 8 退出Active Preview,别忘了存盘。

    添加Bump检测

    如果汽车面前有农舍时,Bump检测就会检验到。

    注意:

    如果在LynX Prime定义碰撞检测,那么它无法阻止汽车穿越农舍。你必须在API中定义这个动作,这部分将不在本文范围之内。随后,你要在LynX Prime中添加汽车与房屋相撞时的效果。

    Step 1 在工具条中点击创建实例键Vega Prime教程:LP界面构成

    Step 2 在对话框中选择IsectiorBump。

    Step 3 点击Create。

    Step 4 将myIsector改名为bumpIsector。

    Step 5 将碰撞的宽,长和高的参数设置为10,因为默认设置值太小。

    Step 6 在Target列表中选择农舍为目标。接触检测将根据边靠边标准检测与农舍的接触。

    Step 7 打开Isector Mask旁的浏览按键Vega Prime教程:创建场景打开Bitmask Editor,bitmask将会把指导地形目标(我们将在后面的指南中建立这些地形目标)从一些检测中排除出去,在检测最新过程中节约时间。

    Step 8 除了Bit1之外,清除所有的的bit。Bitmask将会显示为0000001。

    Step 9 点击ok保存bitmask。

    Step 10 在Position Reference列表中选择汽车目标,碰撞检测自己就会与汽车建立联接。

    Step 11 在用户操作区中选择Render Isector复选框,以便在Active Preview中查看线段。

    Step 12 点击Owning Isector Service列表旁的创建实例键,并且选择IsectorServiceInline。在线服务将会为每个结构提供最新的相关的检测,这样就把接触数据存贮起来为以后使用做准备。处理接触信息的流程与处理应用的流程一样。

    注意:

    我们不必给tripod检测添加在线服务,因为三角检测不直接联接于运动模式,而运动模式处理最新数据。但是,接触测试不与地夹线或运动模式联接。三角检测本身只确认它的位置与汽车直接相关。在线服务确认每个结构的检测是最新的,这样才能存贮数据。

    意外收获!

    如果您不喜欢在汽车后面驾驭汽车,你可以将transform添加在汽车内。

    Step 1 在hummerTransform用户操作区,将transform的位置改为(-9,-13.2,2.93)。

    Step 2 运行Active Preview来检测新的设置,你觉得驾驭变得容易了不是更难了?如果你喜欢这个设置,就把它保存起来,如果不,你可将设置改回原来的值(0,-30,5)。

    Step 3 退出Active Preview,退出前请先保存。

  • 暂无资料
  • 暂无资料
  • 暂无资料
  • 暂无资料
  • 暂无资料