DESKTOP-5RP3AKU\Jisol 0014eff5e0 update
2023-11-05 03:26:09 +08:00

231 lines
6.6 KiB
XML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<module name="ai">
<enum name="EExecutor">
<var name="CLIENT"/>
<var name="SERVER"/>
</enum>
<enum name="EKeyType">
<var name="BOOL" value="1"/>
<var name="INT" value="2"/>
<var name="FLOAT" value="3"/>
<var name="STRING" value="4"/>
<var name="VECTOR" value="5"/> vector3
<var name="ROTATOR" value="6"/> vector3
<var name="NAME" value="7"/>
<var name="CLASS" value="8"/> type name
<var name="ENUM" value="9"/>
<var name="OBJECT" value="10"/>
</enum>
<bean name="BlackboardKey">
<var name="name" type="string"/>
<var name="desc" type="string"/>
<var name="is_static" type="bool"/> 是否为全局共享字段。 对应 ue 里 InstanceSynced 字段
<var name="type" type="EKeyType"/>
<var name="type_class_name" type="string"/> 具体类型名. 只对 ENUM,OBJECT 类型有意义
</bean>
<bean name="Blackboard">
<var name="name" type="string"/>
<var name="desc" type="string"/>
<var name="parent_name" type="string#ref=ai.TbBlackboard?"/>
<var name="keys" type="list,BlackboardKey"/>
</bean>
<table name="TbBlackboard" value="Blackboard" input="ai/blackboards"/>
<enum name="EFlowAbortMode">
<var name="NONE"/>
<var name="LOWER_PRIORITY"/>
<var name="SELF"/>
<var name="BOTH"/>
</enum>
<enum name="EFinishMode">
<var name="IMMEDIATE"/>
<var name="DELAYED"/>
</enum>
<enum name="ENotifyObserverMode">
<var name="ON_VALUE_CHANGE"/> 当值改变时就通知
<var name="ON_RESULT_CHANGE"/> 当PerformaConditionCheck计算结果发生变化时通知
</enum>
<enum name="EOperator">
<var name="IS_EQUAL_TO"/>
<var name="IS_NOT_EQUAL_TO"/>
<var name="IS_LESS_THAN"/>
<var name="IS_LESS_THAN_OR_EQUAL_TO"/>
<var name="IS_GREAT_THAN"/>
<var name="IS_GREAT_THAN_OR_EQUAL_TO"/>
<var name="CONTAINS"/>
<var name="NOT_CONTAINS"/>
</enum>
<bean name="KeyData">
<bean name="FloatKeyData">
<var name="value" type="float"/>
</bean>
<bean name="IntKeyData">
<var name="value" type="int"/>
</bean>
<bean name="StringKeyData">
<var name="value" type="string"/>
</bean>
<bean name="BlackboardKeyData">
<var name="value" type="string"/>
</bean>
</bean>
<bean name="KeyQueryOperator">
<bean name="IsSet"/>
<bean name="IsNotSet"/> 这两个类型只对 bool,class,enum,name,object,rotator,vector 有效
<bean name="BinaryOperator">
<var name="oper" type="EOperator"/>
<var name="data" type="KeyData"/>
</bean>
</bean>
对于与ue4内置节点完全一致的实现我们都加上Ue前缀。
<bean name="Node">
<var name="id" type="int"/>
<var name="node_name" type="string"/>
<bean name="Service">
<bean name="UeSetDefaultFocus"> NOT
<var name="keyboard_key" type="string"/>
</bean>
<bean name="ExecuteTimeStatistic"> 统计子节点执行时间.执行完毕后打印日志
</bean>
<bean name="ChooseTarget">
<var name="result_target_key" type="string"/> actor
</bean>
<bean name="KeepFaceTarget">
<var name="target_actor_key" type="string"/> actor
</bean>
<bean name="GetOwnerPlayer">
<var name="player_actor_key" type="string"/> player
</bean>
<bean name="UpdateDailyBehaviorProps">
<var name="satiety_key" type="string"/>
<var name="energy_key" type="string"/>
<var name="mood_key" type="string"/>
<var name="satiety_lower_threshold_key" type="string"/>
<var name="satiety_upper_threshold_key" type="string"/>
<var name="energy_lower_threshold_key" type="string"/>
<var name="energy_upper_threshold_key" type="string"/>
<var name="mood_lower_threshold_key" type="string"/>
<var name="mood_upper_threshold_key" type="string"/>
</bean>
</bean>
<bean name="Decorator">
<var name="flow_abort_mode" type="EFlowAbortMode"/>
<bean name="UeLoop">
<var name="num_loops" type="int"/>
<var name="infinite_loop" type="bool"/>
<var name="infinite_loop_timeout_time" type="float"/>
</bean>
<bean name="UeCooldown">
<var name="cooldown_time" type="float"/>
</bean>
<bean name="UeTimeLimit">
<var name="limit_time" type="float"/>
</bean>
<bean name="UeBlackboard">
<var name="notify_observer" type="ENotifyObserverMode"/>
<var name="blackboard_key" type="string"/>
<var name="key_query" type="KeyQueryOperator"/>
</bean>
<bean name="UeForceSuccess"/>
<bean name="IsAtLocation"> NOT
<var name="acceptable_radius" type="float"/>
<var name="keyboard_key" type="string"/>
<var name="inverse_condition" type="bool"/>
</bean>
<bean name="DistanceLessThan">
<var name="actor1_key" type="string"/> actor 对象1
<var name="actor2_key" type="string"/> actor 对象2
<var name="distance" type="float"/> float 距离
<var name="reverse_result" type="bool"/> 是否取反结果
</bean>
</bean>
<bean name="FlowNode">
<var name="decorators" type="list,Decorator"/>
<var name="services" type="list,Service"/>
<bean name="ComposeNode">
<bean name="Sequence">
<var name="children" type="list,FlowNode"/>
</bean>
<bean name="Selector">
<var name="children" type="list,FlowNode"/>
</bean>
<bean name="SimpleParallel">
<var name="finish_mode" type="EFinishMode"/>
<var name="main_task" type="Task"/>
<var name="background_node" type="FlowNode"/>
</bean>
</bean>
<bean name="Task">
<var name="ignore_restart_self" type="bool"/>
<!--bean name="TickableTask">
<var name="tick_interval" type="float"/>
<bean name="RandomMove">一个演示用的,随机移动的 Task
<var name="total_time" type="float"/>
<var name="speed" type="float"/>
</bean>
</bean-->
<bean name="UeWait">
<var name="wait_time" type="float"/>
<var name="random_deviation" type="float"/>
</bean>
<bean name="UeWaitBlackboardTime">
<var name="blackboard_key" type="string"/> float
</bean>
<bean name="MoveToTarget">
<var name="target_actor_key" type="string"/> actor
<var name="acceptable_radius" type="float"/> float
</bean>
<bean name="ChooseSkill">
<var name="target_actor_key" type="string"/> actor
<var name="result_skill_id_key" type="string"/> int
</bean>
<bean name="MoveToRandomLocation">
<var name="origin_position_key" type="string"/> vector3
<var name="radius" type="float"/>
</bean>
<bean name="MoveToLocation">
<var name="acceptable_radius" type="float"/>
</bean>
<bean name="DebugPrint">
<var name="text" type="string"/>
</bean>
</bean>
</bean>
</bean>
<bean name="BehaviorTree">
<var name="id" type="int"/>
<var name="name" type="string"/>
<var name="desc" type="string"/>
<var name="blackboard_id" type="string#ref=ai.TbBlackboard"/>
<var name="root" type="ComposeNode"/>
</bean>
<table name="TbBehaviorTree" value="BehaviorTree" input="ai/behaviortrees"/>
</module>