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

Quest3d教程4:常用编程模块

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

    来源:第三维度

    软件简介:Quest3D软件是由荷兰的Act 3D公司在1998年研发出来的专门从事虚拟现实方面的应用软件,软件有丰富的功能模块,可以实现模块化、图像化编程,不需要我们去书写代码就能够制作功能强大和画面效果绚丽的VR项目。软件有很好的开放性,我们可以在3D Max或Maya中完成建模、材质、动画和烘焙渲染然后导入到Quest3D,可以跟大量的VR硬件很好的连接,还可以用软件提供的SDK来开发新的功能模块和整合新的硬件设备。

    常用编程模块的学习(if、trigger、switch……)

    掌握常用的编程模块是运用Quest3D制作项目的基础,下面对这些常用的编程模块做详细的讲解。

Quest3d教程4:常用编程模块

    1、if(逻辑判断)

    左边第一个接口是条件判断,当其数值>=1时条件为真,右边连接的一切模块将被持续运行。

    2、Value(数值)

    数值模块储存整型或浮点型数值,可以把它当作是一个储存空间,里面储存的数值可以被更改也可以被提取。

    3、Trigger(触发)

    左边第一个接口是条件判断,当条件为真时,右边连接的一切模块将被运行一次,双击Trigger模块会弹出下图界面,可以在此设置判断条件。

Quest3d教程4:常用编程模块

    (1)、当选这项时,连接左边第一个模块的值只要发生一次变化,右边连接的所有模块将被执行一次。

    (2)、当选这项时,连接左边第一个模块的值增大一次,右边连接的所有模块将被执行一次。

    (3)、当选这项时,连接左边第一个模块的值减小一次,右边连接的所有模块将被执行一次。

    (4)、这是Quest3D的默认项,可以根据值的变化趋向来判断触发。当选○6时表示当写入的值从=0趋向>0变化时条件为真;当选○7时表示写入的值从>0趋向=0变化时条件为真;选○5时两种情况有其一满足时就为真,右边连接的所有模块将被执行一次。

    4、UserInput(用户输入)

    人与计算机的交互必须要依托外部输入设备,UserInput就是用于实现交互功能的输入模块。

Quest3d教程4:常用编程模块

    如上图,可以选择与之交互的硬件设备,○1为键盘输入,可以用键盘上任何一个按键作输入控制,出现○6画面时可以点击键盘上的某一个按键,这样就能实现了键盘输入了。○2为鼠标输入(可以获取鼠标点击、鼠标坐标等);○3为组合按键输入(比如ctri+f);○4操作杆输入(比如手柄、方向盘等设备);○5键盘输入(与○1的区别在于它不用指定按键)。

   5、Set Value(赋值)

    执行这个模块可以把左边第一个接口的数值赋给右边连接的所有模块。

Quest3d教程4:常用编程模块

     (1)、Channel Caller(呼叫模块)

    顾名思义,Channel Callers模块只是简单地呼叫与它们连接的模块,任何类型的模块都能与之连接,并顺利被呼叫。 Channel Callers模块可被看作是一个分流器。

    (2)、If Else(判断)

    If Else左边第一个接口是条件判断,当其数值>=1时条件为真,第二个接口连接的模块将被持续运行。否则将运行第三个接口连接的模块将被持续运行。

    (3)、Expression Value(表达式)

    在Quest3D中可以使用Expression Value模块描述数学公式。它就像是一个高级计算器,也可以调用一些常用函数。可以作复杂的数学运算还可以作逻辑判断,上图的作用就是一个逻辑判断,当第一个接口连接的模块数值等于5时就输出一个1的值。更多的运用可以查看软件提供的帮助文档。

    一个Expression Value模块的实际值等于该模块内部公式的结果。该结果在属性窗口的‘Current Value’项下也有显示。

Quest3d教程4:常用编程模块

    括号可被用来定义公式中的优先运算权,下图中的两个公式不一样,因而运算结果也不同。

Quest3d教程4:常用编程模块

    与Expression Value模块的子连接相连值也可用作模块内部的部分公式。第一个子连接用字母‘A’表示,第一个子连接用字母‘B’表示,等等。

Quest3d教程4:常用编程模块

    下面的例子示范了Set Value, Expression Value 和Value模块的常用组合。在左边的例子中每按空格键一次,‘1’被加入‘Value’模块。

Quest3d教程4:常用编程模块

    Expression Values模块也可用作If 和 Trigger模块的条件输入,下图结构应被解读为“如果A等于B,则执行下面的模块”。

Quest3d教程4:常用编程模块    Quest3d教程4:常用编程模块

   上图中,条件‘A == B’被满足。

   多重公式可以在同一个模块内使用逻辑算子AND ( && ) 和 OR ( || )相互连接。

Quest3d教程4:常用编程模块

    在上图中,如果‘A==1 && B==2’则条件被满足,该公式应被解读为“如果A等于1,以及B等于2”。

   公式也可使用形式的条件。下图中,‘A==B ? C : D’公式应被解读为“如果A等于B,则结果C或者是D”。

Quest3d教程4:常用编程模块    Quest3d教程4:常用编程模块

   在右图中,条件‘A==B’被满足,运算的结果是‘C’值。

   (4)、Channel Switch(模块切换)

    Channel Switches模块使得您可以在不同的模块之间进行选择运行,类型几乎不限。一个Channel Switches模块必须首先设置为与其子模块相同的基本类型。

Quest3d教程4:常用编程模块

    可以根据第一个接口的数值选择运行右边连接的模块:一个‘0’值的结果是第一个变量被使用。而值‘1’为第二个被使用,往右依次加‘1’。

Quest3d教程4:常用编程模块

   (5)、5Set Text(设置文本)

    运行这个模块可以把左边Text模块内的文字赋给右边的Text模块。

    Envelopes(设置文本)

    Envelopes在动画方面能发挥重要作用,也还有其它更多的用途。一个Envelope模块中的图表是一个二维函数。可以在图表中插入一些坐标点,而Quest3D会在它们之间进行插补。

Quest3d教程4:常用编程模块


 
    上图中的Envelope图表呈现的公式为‘y = x²’。通过Envelope就可以将一个数值转换成另一个数值。换言之,Envelope就是用来描述两个值之间的关系。

Quest3d教程4:常用编程模块

    人物的动作混合设置可以基于行走速度进行处理。上图中的图表依比例确定了‘0’ 和 ‘5.0’之间速度输入值和‘0’ 到 ‘1.0’之间的合成输出值。该图表是非线性的。

    Envelopes也可以用来限制一个值的范围。

Quest3d教程4:常用编程模块

   上面的图表将输入值的输出值限制在‘-1’ 和 ‘1’之间。

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