赋值(Assignment)节点实现了赋值的操作,可以把右边的值赋值给左侧的参数,如下图所示:
其中,左参数是某个Agent实例的属性,右参数可以是常数、Agent实例的属性或者方法调用的返回值,如下图所示:
类型转换
- 3.5.10及以后版本才支持
- 当属性‘类型转换’没有选中的时候,赋值节点只允许相同的类型进行赋值,也就是说右参数的下拉列表中仅列出与左参数相同类型的参数。
- 而‘类型转换’选中的时候,赋值节点允许较为宽松的类型。
- 当左参数是数据类型(int,short,byte,float等)的时候,右参数也将是数据类型,不需要完全一致。
- 当左参数是指针类型(对于C#是引用类型)的时候,右参数将是左参数类型的同类或子类。
其他
当需要对某个属性做一些加减乘除运算的时候,可以用计算节点。
另外,如果需要修改某些其他没有导出的属性,或做一些复杂的计算时,可以通过动作节点调用相应的函数来实现修改或计算。
具体的执行逻辑可以查看behaviortree/nodes/actions/assignment.cpp
One thought on “赋值节点”