这个示例向您展示了如何使用3D world Editor创建一个简单的虚拟世界。这个示例并没有显示使用编辑器可以做的所有事情。不过,该示例确实向您展示了如何执行一些基本任务。
本例假设您已将默认编辑器设置为3D世界编辑器。有关详细信息,请参见设置默认编辑器.
此示例描述了构建虚拟世界简化版本的步骤,如果在MATLAB中输入此命令,将看到该虚拟世界的简化版本®命令窗口:
编辑(vrworld (vrdeform.wrl))
假设您希望在虚拟现实中模拟和可视化球体的变形。在虚拟世界中,您希望有两个代表刚性板(B1、B2)的框,以及它们之间的弹性球体。所有三个对象都沿中心对齐x-轴。框B1和B2以相同的速度向S移动,但它们的移动方向相反。当它们到达球体S时,它们开始通过减小球体的直径使其变形x尺寸标注和拉伸其Y和Z维度。
以下是虚拟世界的外观:
下表列出了为本示例创建的对象的位置和尺寸。
对象 | 中心位置 | 尺寸 |
---|---|---|
|
|
|
|
|
|
|
|
|
这个金宝app®3 d动画™产品包括教程模型vrtut3
.这个简化的模型模拟了弹性球的变形。在与刚性块碰撞后,球体的x尺寸从1减小到0.4。此外,Y和Z尺寸将展开以保持变形球体椭球体的体积不变。模型中的其他块将正确大小的向量提供给金宝app仿真软件3 d动画块。当球体变形到原来大小的0.4倍时,模拟停止x方向。
您的第一个任务是打开Simulink模型并添加金宝app金宝app仿真软件3 d动画块到您的模型。
本程序使用Simulink模型金宝appvrtut3
演示如何添加金宝app仿真软件3 d动画块到您的模型。该模型生成B1位置的值,B2位置的值,以及S的维数(如定义问题).
打开教程#3
.的例子。
在打开的页面顶部,选择开放模式.
保存vrtut3
文件到MATLAB工作文件夹。
在MATLAB中,将当前文件夹更改为MATLAB工作文件夹。
在MATLAB命令窗口中,键入:
vrtut3
将打金宝app开Simulink窗口,其中的模型包含金宝app仿真软件3 d动画VR信号扩展器块,但是没有VR水槽块将数据从模型写入金宝app仿真软件3 d动画.相反,这个模型使用范围块来临时监视相关信号。
在MATLAB命令窗口中,键入
vrlib
这个金宝app仿真软件3 d动画图书馆开门。
从库窗口中,拖放VR水槽块到Simulink图。金宝app然后可以关闭“库浏览器”窗口。
您的下一个任务是创建一个虚拟世界,您将与VR水槽块看见打开一个新的虚拟世界.
您必须创建一个虚拟世界来连接到Simulink模型以可视化信号。金宝app
此过程将打开一个新的虚拟世界,在其中添加节点以可视化模型的信号vrtut3
.虚拟世界和Simulink模型之间的连接要求模型包含一个金宝appVR水槽块,如添加Simu金宝applink 3D动画块.
用一个空的虚拟世界启动3D世界编辑器。来自MATLAB Toolstrip,在应用程序选项卡,在模拟图形和报告部分中,点击3 d世界编辑器.
三维世界编辑器显示:
在左窗格中,虚拟场景树仅包含根
节点
在右侧窗格中,有一个空的虚拟世界
在底部窗格中,用于编辑对象的空窗格
你可以在任何时候保存虚拟世界。将虚拟世界保存为vrtut3.wrl
在同一个工作文件夹中vrtut3
文件驻留。不要关闭3D世界编辑器。
的下两个任务创建一个虚拟世界vrtut3
模型:
定义虚拟世界对象涉及到定义节点层次结构。这个例子展示了如何定义使改变
节点下根
节点,每个使改变
的层次结构孩子们
,形状
,外貌
,几何学
,和特定形状(在本例中为盒
)节点。
在左窗格的树中,单击根
(最上面的项目)。
添加一个使改变
节点,使用以下菜单选择序列。
这使改变
节点用于B1框。命名使改变
节点:
右键单击使改变
节点。
选择编辑的名字菜单项。
控件左侧的编辑框中使改变
节点类型地下一层
.
添加一个形状
节点:
扩展B1变换
节点。
选择孩子们
节点。
添加一个形状
节点,使用以下菜单选择序列:
添加外貌
节点的形状节点:
在形状
节点,选择外观(SFNode)
节点。
添加外貌
节点,使用以下菜单选择序列。
添加一个布料
节点到外貌
节点:
扩展(外观)
节点并选择材料(SFNode)
节点。
添加一个布料
节点,使用以下菜单选择序列。
添加一个盒
节点到几何
节点:
选择几何体(SFNode)
节点的(形状)
节点。
添加一个盒
节点,使用以下菜单选择序列。
扩展所有节点后,3D世界编辑器现在会在虚拟世界中显示窗格。
通过编辑它使方框变小大小
属性:
选择大小
财产的盒
节点。
在对象属性编辑窗格中,输入0.3
在第一列中,以及1.
在第二和第三列。
点击申请.
盒子变小了。
将方框向右移动,改变翻译(SFVec3f)
财产的B1(变换)
节点。在对象属性编辑窗格中,将第一列设置为3.
将第二和第三列设置为0
.
添加与第一个框相似的第二个框。
在根
节点,添加一个使改变
节点(请参见步骤2)并将其命名地下二层
(参见步骤3)。
抄袭形状
节点。在B1变换
节点,右键单击形状
中的节点B1变换
节点并选择复制菜单项。
将复制的形状节点粘贴到B2变换
节点。在B2变换
节点),右键单击孩子们
节点并选择粘贴节点>粘贴菜单项。
和地下一层
节点崩溃,并且地下二层
节点展开后,3D世界编辑器如下图所示。
将您创建的方框移动到左边,通过更改翻译
财产的B2(转换)
节点。在对象属性编辑窗格中,将第一列设置为-3
将第二和第三列设置为0
.
你的下一个任务是在两个盒子之间添加一个球体。本节假设您已经完成了中描述的任务添加节点.
这样更容易集中注意力树形结构窗格中要添加的节点上的B1(变换)
和B2(转换)
节点。
在左窗格的树中,单击根
节点。
添加一个球
节点。3D世界编辑器包括一个用于构建虚拟世界的对象库,包括球
对象
添加一个球
使用以下菜单选择序列创建库对象。
从“组件库”文件夹列表中,选择形状
文件夹,然后选择Sphere.wrl
文件。
选择使改变
节点并命名它s
.
和S变换
节点完全展开,另一个使改变
节点折叠后,三维世界编辑器如下图所示。
要使球体变成蓝色,在布料
节点,选择漫射色
财产。在对象属性编辑窗格中,将第一列值更改为0.2
,第二列到1.
,第三列到1.
.
保存虚拟世界文件。
下一个任务是将模型输出连接到金宝app仿真软件3 d动画在Simulink模型中创建金宝app块。看见链接到Simulin金宝appk模型.
在使用VR Sink块创建虚拟世界和Simulink模型之后,定义模型信号和虚金宝app拟世界之间的关联。
笔记
此过程使用模型vrtut3
举个例子。它假定您已打开模型并添加了VR接收器块,并且您已创建了一个名为vrtut3.wrl
。请参见以开头的教程添加Simu金宝applink 3D动画块.
打开VR水槽“块参数”对话框。在Simulink编辑器中,双击金宝appVR水槽块。
旁边的源文件编辑框中,单击浏览.
选择vrtut3.wrl
,然后单击开放.
在输出窗格中,选择自动打开查看器. 此复选框指定在运行模型时启动虚拟世界的查看器。
为描述参数,类型vrtut3
.
在VR水槽对话框中,单击申请.
在树形结构窗格中,选择B1翻译,B2翻译和S刻度复选框作为要连接到模型信号的节点。点击好啊.
这个VR水槽块与相应的输入一起出现。
删除这三个范围块及其相关的输入信号线。
将两个传感器的输入线连接起来VR信号扩展器块和XYZ缩放
的适当端口阻塞VR水槽块。
双击VR水槽块。
此时将显示查看器。
在查看器中,选择模拟>块参数选择。默认查看器打开并显示虚拟世界。有关更改默认查看器的更多信息,请参见设置默认查看器.
在VR水槽“块参数”对话框中,单击视图按钮
在Simuli金宝appnk编辑器中,选择模拟>运行.
在默认查看器中,可以看到场景的三维动画。使用查看器控件,可以从各个点观察动作。
当球体的宽度减小到原来的0.4时,模拟停止运行。
这个示例向您展示了如何创建和使用一个简单的虚拟现实模型。使用相同的方法,您可以创建更复杂的模型来解决您所面临的特定问题。