此示例显示了如何使用3D世界编辑器创建一个简单的虚拟世界。该示例不会显示您可以使用编辑器执行的一切。但是,该示例确实向您展示了如何执行一些基本任务以开始。
此示例假定您已将默认编辑器设置为3D世界编辑器。有关详细信息,请参阅设置默认编辑器。
此示例描述了构建虚拟世界的简化版本的步骤,您将在Matlab中输入此命令®命令窗口:
编辑(vrworld('vrdeform.wrl'))
假设您想在虚拟现实中模拟和可视化球体的变形。在您的虚拟世界中,您希望有两个盒子代表刚性板(B1,B2)和它们之间的弹性球。所有三个物体都是中心对齐的X-轴。盒子B1和B2以相同的速度向S移动,但它们在相反的方向上移动。当他们到达球体时,他们开始通过减少它来使其变形X尺寸并伸展其y和Z.方面。
这是这个虚拟世界的外观方式:
下表列出了为此示例创建的对象的位置和尺寸。
目的 | 中心位置 | 方面 |
---|---|---|
|
|
|
|
|
|
|
|
|
这万博1manbetx®3D动画™产品包括教程模型vrtut3.
。这种简化的模型模拟了弹性球的变形。与刚性块碰撞后,球体的X尺寸从1到0.4减小。此外,y和Z.尺寸膨胀以保持变形球体 - 椭圆形常数的体积。模型中的其他块提供了正确尺寸的向量万博1manbetxSimulink 3D动画堵塞。当球体变形为其原始尺寸的0.4倍时,模拟停止X方向。
您的第一个任务是打开一个Simulink模型并添加一个万博1manbetx万博1manbetxSimulink 3D动画块到您的模型。
此过程使用Simulink模型万博1manbetxvrtut3.
展示如何添加一个万博1manbetxSimulink 3D动画块到您的模型。该模型产生B1位置的值,B2的位置和S的尺寸(如定义问题)。
打开教程#3
。例子。
在打开的页面顶部,选择开放式。
保存vrtut3.
文件到MATLAB工作文件夹。
在MATLAB中,将当前文件夹更改为MATLAB工作文件夹。
在MATLAB命令窗口中,键入:
vrtut3.
使用万博1manbetx一个包含的模型打开一个模拟窗口万博1manbetxSimulink 3D动画VR信号膨胀机块,但没有VR水槽块从模型中写入数据万博1manbetxSimulink 3D动画。相反,这种模型使用范围块暂时监视相关信号。
从MATLAB命令窗口,键入
vrlib.
这万博1manbetxSimulink 3D动画图书馆打开。
从库窗口,拖放拖放VR水槽块到Simulink图。万博1manbetx然后,您可以关闭库浏览器窗口。
您的下一个任务是创建一个虚拟世界,您将与之关联VR水槽堵塞。看打开一个新的虚拟世界。
您必须创建一个虚拟世界以连接到Simulink模型以可视化信号。万博1manbetx
此过程打开一个新的虚拟世界,在其中添加节点以可视化模型的信号vrtut3.
。虚拟世界和Simulink模型之间的连接要求该模型包括一个万博1manbetxVR水槽块,如添加Simu万博1manbetxlink 3D动画块。
使用空虚拟世界启动3D世界编辑器。从Matlab Toolstrip,在应用标签,在仿真图形和报告部分,点击3D世界编辑。
3D世界编辑器显示:
在左窗格中,只有一个虚拟场景树根
节点
在右窗格中,一个空的虚拟世界
在底部窗格中,用于编辑对象的空窗格
您可以在任何时候保存虚拟世界。保存虚拟世界vrtut3.wrl.
在你的同一工作文件夹中vrtut3.
文件驻留。不要关闭3D世界编辑。
您的接下来的两个任务创建了一个虚拟世界即可使用vrtut3.
模型:
定义虚拟世界对象涉及定义节点的层次结构。此示例显示如何定义转变
下面的节点根
节点,每个转变
节点包括层次结构孩子们
那形状
那外貌
那几何学
具体形状(在这种情况下,一个盒子
)节点。
在左窗格中的树中,单击根
(最顶层的项目)。
添加A.转变
节点,使用以下菜单选择序列。
这个转变
节点适用于B1框。命名为转变
节点:
右键单击转变
节点。
选择编辑名称菜单项。
在左侧的编辑框中转变
节点,类型B1.
。
添加A.形状
节点:
展开B1变换
节点。
选择孩子们
节点。
添加A.形状
节点,使用以下菜单选择序列:
加一个外貌
形状节点的节点:
在下面形状
节点,选择外观(SFNODE)
节点。
加一个外貌
节点,使用以下菜单选择序列。
添加A.材料
节点到外貌
节点:
展开(外貌)
节点并选择材料(SFNODE)
节点。
添加A.材料
节点,使用以下菜单选择序列。
添加A.盒子
节点到几何学
节点:
选择几何(SFNODE)
节点(形状)
节点。
添加A.盒子
节点,使用以下菜单选择序列。
通过所有节点扩展,3D世界编辑器现在显示了一个框虚拟世界展示窗格。
通过编辑它使盒子变小尺寸
财产:
选择尺寸
财产的财产盒子
节点。
在里面对象属性编辑窗格在3D世界编辑器的底部,输入0.3
在第一列,1
在第二列和第三列中。
点击申请。
盒子变小。
通过改变右侧将盒子移动到右侧翻译(sfvec3f)
财产的财产B1(变换)
节点。在里面对象属性编辑窗格,将第一列设置为3.
并留下第二列和第三列0.
。
添加一个类似于第一个框的第二个框。
在下面根
节点,添加一个转变
节点(见第2步)并命名它B2.
(见第3步)。
复制形状
节点。在下面B1变换
节点,右键单击形状
节点在B1变换
节点并选择复制菜单项。
将复制的形状节点粘贴到B2变换
节点。在下面B2变换
节点),右键单击孩子们
节点并选择粘贴节点>粘贴菜单项。
与之B1.
节点折叠和B2.
节点扩展后,3D世界编辑器看起来像以下图形。
通过更改左侧的框移动到左侧的框翻译
财产的财产B2(变换)
节点。在里面对象属性编辑窗格,将第一列设置为-3
并留下第二列和第三列0.
。
您的下一个任务是在两个框之间添加一个球体。本节假定您已完成所描述的任务添加节点。
让它更容易关注树结构窗格在您要添加的节点上,折叠B1(变换)
和B2(变换)
节点。
在左窗格中的树中,单击根
节点。
添加A.领域
节点。3D世界编辑器包括构建虚拟世界的对象库,包括一个领域
目的。
添加A.领域
库对象使用以下菜单选择序列。
从组件库文件夹列表中,选择形状
文件夹,然后选择SPINE.WRL.
文件。
选择转变
节点并命名它S.
。
与之变换
节点完全扩展和另一个转变
节点折叠,3D世界编辑器看起来像以下图形。
制作蓝色,下面材料
节点,选择漫反应
财产。在里面对象属性编辑窗格,将第一个列值更改为0.2
,第二栏1
,和第三列1
。
保存虚拟世界文件。
您的下一个任务是将模型输出连接到万博1manbetxSimulink 3D动画在Simulink模型中块。万博1manbetx看链接到Simulin万博1manbetxk模型。
使用VR接收器块创建虚拟世界和Simulink模型后,定义模型信号与虚拟世界之万博1manbetx间的关联。
笔记
此过程使用模型vrtut3.
举个例子。它假设您已打开该模型,并且您已添加VR接收器块,并且您已创建一个名为Virtual Worldvrtut3.wrl.
。请参阅从中开始的教程添加Simu万博1manbetxlink 3D动画块。
打开VR水槽阻止参数对话框。在Simuli万博1manbetxnk编辑器中,双击VR水槽堵塞。
旁边的源文件编辑框,单击浏览。
选择vrtut3.wrl.
,然后单击打开。
在里面输出窗格,选择自动打开查看器。此复选框指定在运行模型时启动虚拟世界的查看器。
为了描述参数,类型vrtut3.
。
在里面VR水槽对话框,单击申请。
在里面树结构窗格,选择B1翻译那B2翻译, 和s鳞片复选框作为要连接到模型信号的节点。点击好的。
这VR水槽块出现相应的输入。
删除三个范围块及其相关的输入信号线。
将输入线从两者连接VR信号膨胀机块和在XYZ中的缩放
阻止到适当的端口VR水槽堵塞。
双击VR水槽堵塞。
查看者出现。
在查看器中,选择模拟>块参数选项。您的默认查看器将打开并显示虚拟世界。有关更改默认查看器的详细信息,请参阅设置默认查看器。
在里面VR水槽阻止参数对话框,单击“看法按钮。
在Simuli万博1manbetxnk编辑器中,选择模拟>跑。
在您的默认查看器中,您可以看到场景的3-D动画。使用Viewer控件,您可以从各个点遵守操作。
当球体的宽度降低到其原始尺寸的0.4时,模拟停止运行。
此示例显示了如何创建和使用简单的虚拟现实模型。使用相同的方法,您可以创建更复杂的模型,以解决您面临的特定问题。