赋值(Assignment)节点实现了赋值的操作,可以把右边的值赋值给左侧的参数,如下图所示:

assignment

其中,左参数是某个Agent实例的属性,右参数可以是常数、Agent实例的属性或者方法调用的返回值,如下图所示:

无标题

类型转换

  • 3.5.10及以后版本才支持
  • 当属性‘类型转换’没有选中的时候,赋值节点只允许相同的类型进行赋值,也就是说右参数的下拉列表中仅列出与左参数相同类型的参数。
  • 而‘类型转换’选中的时候,赋值节点允许较为宽松的类型。
    • 当左参数是数据类型(int,short,byte,float等)的时候,右参数也将是数据类型,不需要完全一致。
    • 当左参数是指针类型(对于C#是引用类型)的时候,右参数将是左参数类型的同类或子类。

其他

当需要对某个属性做一些加减乘除运算的时候,可以用计算节点

另外,如果需要修改某些其他没有导出的属性,或做一些复杂的计算时,可以通过动作节点调用相应的函数来实现修改或计算。

具体的执行逻辑可以查看behaviortree/nodes/actions/assignment.cpp

One thought on “赋值节点

发表评论

电子邮件地址不会被公开。 必填项已用*标注