MC-Basic:PASS/zh-hans

From SoftMC-Wiki
Jump to: navigation, search
语言: English  • 中文(简体)‎

缩写

格式

PASS <element> Nodes = <array of points>

{StretchFactor=<stretch factor>}

{StrechVector =<stretch vector>}

{UserParameterVector =<up. vector>}

{PassUpTo = <number of points>}

{PassBackward = 0|1}

{PassFrom = <value>}

{[list of all nodal parameters of MOVE and MOVES]}

适用版本

4.0.26及以上版本

描述

增加设定的点矢量到运动缓存中。这个运动会依据PassInterpolation和节点(或者模型)的参数进行生成。

当点的数量超过了PassBufferMin的设定值,运动就会开始。由PASS命令(点数组最小空间以及PassUpTo值)进行设定的点的数量,不能比PassBufferSize-PassBufferLevel大:

Min(ArraySize(Through), PassUpTo) <= PassBufferSize-PassBufferLevel

所有的标准运动限制保持不变(添加/使能/限制等)。

可以给空间坐标点或者关节坐标点,对于运动轨迹不会有影响。点数组需要提前定义好。

类型

取值范围

单位

默认

使用范围

Task or Terminal

限制

只适用于机器人,运动限制与其它运动相同。
当时用PASS指令时,下面的指令不会起作用或者会返回错误:

  • CP
  • StartType
  • Vfinal, Vtranfinal, Vrotfinal

只有在BlendingMethod设置为3的情况下,PASS指令才会起作用,否则会返回错误。

注意,不要互相访问节点用户向量 (节点, 延伸矢量, 自定义参数矢量). 当PASS指令执行后,这些数值(这些矢量组成的数组)就会复制到内部缓存空间(在运动开始前)。如果这个矢量数组在被复制之前被其它任务(或者终端)访问(更改),这样有可能会导致数据被更改。 因此,需要等待运动开始之后,直到矢量数组有效。(事实上,矢量数组在PASS命令执行之后是立即有效的,但是因为没有检测是否完成,因此最好(最安全)的做法就是等待运动开始。)

例子

参见