主要内容

构建并连接虚拟世界

介绍

这个示例向您展示了如何使用3D world Editor创建一个简单的虚拟世界。这个示例并没有显示使用编辑器可以做的所有事情。不过,该示例确实向您展示了如何执行一些基本任务。

本例假设您已将默认编辑器设置为3D世界编辑器。有关详细信息,请参见设置默认编辑器

此示例描述了构建虚拟世界简化版本的步骤,如果在MATLAB中输入此命令,将看到该虚拟世界的简化版本®命令窗口:

编辑(vrworld (vrdeform.wrl))

定义问题

假设您希望在虚拟现实中模拟和可视化球体的变形。在虚拟世界中,您希望有两个代表刚性板(B1、B2)的框,以及它们之间的弹性球体。所有三个对象都沿中心对齐x-轴。框B1和B2以相同的速度向S移动,但它们的移动方向相反。当它们到达球体S时,它们开始通过减小球体的直径使其变形x尺寸标注和拉伸其YZ维度。

以下是虚拟世界的外观:

下表列出了为本示例创建的对象的位置和尺寸。

对象 中心位置 尺寸

地下一层

(3 0 0)

[0.3 1 1]

地下二层

(3 0 0)

[0.3 1 1]

s

(0 0 0)

r = 0.9

这个金宝app®3 d动画™产品包括教程模型vrtut3.这个简化的模型模拟了弹性球的变形。在与刚性块碰撞后,球体的x尺寸从1减小到0.4。此外,YZ尺寸将展开以保持变形球体椭球体的体积不变。模型中的其他块将正确大小的向量提供给金宝app仿真软件3 d动画块。当球体变形到原来大小的0.4倍时,模拟停止x方向。

您的第一个任务是打开Simulink模型并添加金宝app金宝app仿真软件3 d动画块到您的模型。

添加一个金宝app三维动画

本程序使用Simulink模型金宝appvrtut3演示如何添加金宝app仿真软件3 d动画块到您的模型。该模型生成B1位置的值,B2位置的值,以及S的维数(如定义问题).

  1. 打开教程#3的例子。

    1. 在打开的页面顶部,选择开放模式

    2. 保存vrtut3文件到MATLAB工作文件夹。

  2. 在MATLAB中,将当前文件夹更改为MATLAB工作文件夹。

  3. 在MATLAB命令窗口中,键入:

    vrtut3

    将打金宝app开Simulink窗口,其中的模型包含金宝app仿真软件3 d动画VR信号扩展器块,但是没有VR水槽块将数据从模型写入金宝app仿真软件3 d动画.相反,这个模型使用范围块来临时监视相关信号。

  4. 在MATLAB命令窗口中,键入

    vrlib

    这个金宝app仿真软件3 d动画图书馆开门。

  5. 从库窗口中,拖放VR水槽块到Simulink图。金宝app然后可以关闭“库浏览器”窗口。

您的下一个任务是创建一个虚拟世界,您将与VR水槽块看见打开一个新的虚拟世界

打开一个新的虚拟世界

您必须创建一个虚拟世界来连接到Simulink模型以可视化信号。金宝app

此过程将打开一个新的虚拟世界,在其中添加节点以可视化模型的信号vrtut3.虚拟世界和Simulink模型之间的连接要求模型包含一个金宝appVR水槽块,如添加Simu金宝applink 3D动画块

  1. 用一个空的虚拟世界启动3D世界编辑器。来自MATLAB Toolstrip,在应用程序选项卡,在模拟图形和报告部分中,点击3 d世界编辑器

    三维世界编辑器显示:

    • 在左窗格中,虚拟场景树仅包含节点

    • 在右侧窗格中,有一个空的虚拟世界

    • 在底部窗格中,用于编辑对象的空窗格

  2. 你可以在任何时候保存虚拟世界。将虚拟世界保存为vrtut3.wrl在同一个工作文件夹中vrtut3文件驻留。不要关闭3D世界编辑器。

的下两个任务创建一个虚拟世界vrtut3模型:

添加节点

创建框

定义虚拟世界对象涉及到定义节点层次结构。这个例子展示了如何定义使改变节点下节点,每个使改变的层次结构孩子们,形状,外貌,几何学,和特定形状(在本例中为)节点。

  1. 在左窗格的树中,单击(最上面的项目)。

  2. 添加一个使改变节点,使用以下菜单选择序列。

  3. 使改变节点用于B1框。命名使改变节点:

    1. 右键单击使改变节点。

    2. 选择编辑的名字菜单项。

    3. 控件左侧的编辑框中使改变节点类型地下一层

  4. 添加一个形状节点:

    1. 扩展B1变换节点。

    2. 选择孩子们节点。

    3. 添加一个形状节点,使用以下菜单选择序列:

  5. 添加外貌节点的形状节点:

    1. 形状节点,选择外观(SFNode)节点。

    2. 添加外貌节点,使用以下菜单选择序列。

  6. 添加一个布料节点到外貌节点:

    1. 扩展(外观)节点并选择材料(SFNode)节点。

    2. 添加一个布料节点,使用以下菜单选择序列。

  7. 添加一个节点到几何节点:

    1. 选择几何体(SFNode)节点的(形状)节点。

    2. 添加一个节点,使用以下菜单选择序列。

    扩展所有节点后,3D世界编辑器现在会在虚拟世界中显示窗格。

  8. 通过编辑它使方框变小大小属性:

    1. 选择大小财产的节点。

    2. 对象属性编辑窗格中,输入0.3在第一列中,以及1.在第二和第三列。

    3. 点击申请

    盒子变小了。

  9. 将方框向右移动,改变翻译(SFVec3f)财产的B1(变换)节点。在对象属性编辑窗格中,将第一列设置为3.将第二和第三列设置为0

  10. 添加与第一个框相似的第二个框。

    1. 节点,添加一个使改变节点(请参见步骤2)并将其命名地下二层(参见步骤3)。

    2. 抄袭形状节点。在B1变换节点,右键单击形状中的节点B1变换节点并选择复制菜单项。

    3. 将复制的形状节点粘贴到B2变换节点。在B2变换节点),右键单击孩子们节点并选择粘贴节点>粘贴菜单项。

      地下一层节点崩溃,并且地下二层节点展开后,3D世界编辑器如下图所示。

  11. 将您创建的方框移动到左边,通过更改翻译财产的B2(转换)节点。在对象属性编辑窗格中,将第一列设置为-3将第二和第三列设置为0

创建一个球体

你的下一个任务是在两个盒子之间添加一个球体。本节假设您已经完成了中描述的任务添加节点

  1. 这样更容易集中注意力树形结构窗格中要添加的节点上的B1(变换)B2(转换)节点。

  2. 在左窗格的树中,单击节点。

  3. 添加一个节点。3D世界编辑器包括一个用于构建虚拟世界的对象库,包括对象

    添加一个使用以下菜单选择序列创建库对象。

    从“组件库”文件夹列表中,选择形状文件夹,然后选择Sphere.wrl文件。

  4. 选择使改变节点并命名它s

    S变换节点完全展开,另一个使改变节点折叠后,三维世界编辑器如下图所示。

  5. 要使球体变成蓝色,在布料节点,选择漫射色财产。在对象属性编辑窗格中,将第一列值更改为0.2,第二列到1.,第三列到1.

  6. 保存虚拟世界文件。

下一个任务是将模型输出连接到金宝app仿真软件3 d动画在Simulink模型中创建金宝app块。看见链接到Simulin金宝appk模型

链接到一个金宝app模型

在使用VR Sink块创建虚拟世界和Simulink模型之后,定义模型信号和虚金宝app拟世界之间的关联。

笔记

此过程使用模型vrtut3举个例子。它假定您已打开模型并添加了VR接收器块,并且您已创建了一个名为vrtut3.wrl。请参见以开头的教程添加Simu金宝applink 3D动画块

  1. 打开VR水槽“块参数”对话框。在Simulink编辑器中,双击金宝appVR水槽块。

  2. 旁边的源文件编辑框中,单击浏览

  3. 选择vrtut3.wrl,然后单击开放

  4. 输出窗格中,选择自动打开查看器. 此复选框指定在运行模型时启动虚拟世界的查看器。

  5. 描述参数,类型vrtut3

  6. VR水槽对话框中,单击申请

  7. 树形结构窗格中,选择B1翻译,B2翻译S刻度复选框作为要连接到模型信号的节点。点击好啊

    这个VR水槽块与相应的输入一起出现。

  8. 删除这三个范围块及其相关的输入信号线。

  9. 将两个传感器的输入线连接起来VR信号扩展器块和XYZ缩放的适当端口阻塞VR水槽块。

  10. 双击VR水槽块。

    此时将显示查看器。

  11. 在查看器中,选择模拟>块参数选择。默认查看器打开并显示虚拟世界。有关更改默认查看器的更多信息,请参见设置默认查看器

  12. VR水槽“块参数”对话框中,单击视图按钮

  13. 在Simuli金宝appnk编辑器中,选择模拟>运行

    在默认查看器中,可以看到场景的三维动画。使用查看器控件,可以从各个点观察动作。

    当球体的宽度减小到原来的0.4时,模拟停止运行。

这个示例向您展示了如何创建和使用一个简单的虚拟现实模型。使用相同的方法,您可以创建更复杂的模型来解决您所面临的特定问题。

另见

功能

相关的话题