{"id":4067,"date":"2024-03-29T23:45:34","date_gmt":"2024-03-29T15:45:34","guid":{"rendered":"https:\/\/lonelinerd.com\/?p=4067"},"modified":"2024-03-30T00:50:06","modified_gmt":"2024-03-29T16:50:06","slug":"ue5_ai_create_behavior-tree","status":"publish","type":"post","link":"https:\/\/lonelinerd.com\/index.php\/2024\/03\/29\/ue5_ai_create_behavior-tree\/","title":{"rendered":"[C++\/UE] UE5\u4e2dAI\u958b\u767c\u7684\u4e00\u9ede\u529f\u80fd\u68b3\u7406\uff08\u4e00\uff09 &#8211; \u884c\u70ba\u6a39\u5275\u5efa"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-post\" data-elementor-id=\"4067\" class=\"elementor elementor-4067\">\n\t\t\t\t\t\t<div class=\"elementor-inner\">\n\t\t\t\t<div class=\"elementor-section-wrap\">\n\t\t\t\t\t\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-fa33efa elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"fa33efa\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t\t\t<div class=\"elementor-row\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-bf7db76\" data-id=\"bf7db76\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-column-wrap elementor-element-populated\">\n\t\t\t\t\t\t\t<div class=\"elementor-widget-wrap\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-db15a4b elementor-widget elementor-widget-text-editor\" data-id=\"db15a4b\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t<div class=\"elementor-text-editor elementor-clearfix\">\n\t\t\t\t<p>\u00a0 \u00a0 \u00a0 \u00a0 \u9996\u5148\uff0c\u9019\u88e1\u5148\u653e\u5e7e\u689d\u5728\u7814\u7a76\u904e\u7a0b\u4e2d\u5f97\u5230\u7279\u5225\u5927\u5e6b\u52a9\u7684\u4e00\u4e9b\u53c3\u8003\u8cc7\u6599\u93c8\u63a5\uff1a<\/p><ul><li>Artificial Intelligence in Unreal Engine 5.3 <a href=\"https:\/\/dev.epicgames.com\/documentation\/en-us\/unreal-engine\/artificial-intelligence-in-unreal-engine\" target=\"_blank\" rel=\"noopener\">https:\/\/dev.epicgames.com\/documentation\/en-us\/unreal-engine\/artificial-intelligence-in-unreal-engine<\/a><\/li><li>Unreal Engine 5 Tutorial &#8211; AI <a href=\"https:\/\/www.youtube.com\/watch?v=IDZh0epFTRY&amp;list=PL4G2bSPE_8uklDwraUCMKHRk2ZiW29R6e&amp;index=2\" target=\"_blank\" rel=\"noopener\">https:\/\/www.youtube.com\/watch?v=IDZh0epFTRY&amp;list=PL4G2bSPE_8uklDwraUCMKHRk2ZiW29R6e&amp;index=2<\/a><\/li><li>UE4\u6e90\u7801-AI\u611f\u77e5\u7cfb\u7edfAIPerception <a href=\"https:\/\/zhuanlan.zhihu.com\/p\/569297977\" target=\"_blank\" rel=\"noopener\">https:\/\/zhuanlan.zhihu.com\/p\/569297977<\/a><\/li><li>ue4 \u81ea\u5b9a\u4e49\u884c\u4e3a\u6811\u7684Service\uff0c Task\uff0cDecorator\u8282\u70b9 <a href=\"https:\/\/blog.csdn.net\/u010385624\/article\/details\/89339958\" target=\"_blank\" rel=\"noopener\">https:\/\/blog.csdn.net\/u010385624\/article\/details\/89339958<\/a><\/li><li>Navigation Modifiers and Links in UE4 <a href=\"https:\/\/www.vikram.codes\/blog\/ai\/02-nav-modifiers-links\" target=\"_blank\" rel=\"noopener\">https:\/\/www.vikram.codes\/blog\/ai\/02-nav-modifiers-links<\/a><\/li><li>UE\u7684AI\u57fa\u7840\uff082\uff09EQS <a href=\"https:\/\/blog.csdn.net\/qq_45617648\/article\/details\/130938339\" target=\"_blank\" rel=\"noopener\">https:\/\/blog.csdn.net\/qq_45617648\/article\/details\/130938339<\/a><\/li><li>UE4\u573a\u666f\u8be2\u95ee\u7cfb\u7edf\u6d45\u6790\uff08EQS\u4e0e\u884c\u4e3a\u6811\uff09 <a href=\"https:\/\/www.uejoy.com\/?p=500\" target=\"_blank\" rel=\"noopener\">https:\/\/www.uejoy.com\/?p=500<\/a><\/li><\/ul>\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-ae3bebb elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"ae3bebb\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t\t\t<div class=\"elementor-row\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-b6491a5\" data-id=\"b6491a5\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-column-wrap elementor-element-populated\">\n\t\t\t\t\t\t\t<div class=\"elementor-widget-wrap\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-3370bd7 elementor-widget-divider--view-line elementor-widget elementor-widget-divider\" data-id=\"3370bd7\" data-element_type=\"widget\" data-widget_type=\"divider.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"elementor-divider\">\n\t\t\t<span class=\"elementor-divider-separator\">\n\t\t\t\t\t\t<\/span>\n\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-26fb34b elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"26fb34b\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t\t\t<div class=\"elementor-row\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-bd73755\" data-id=\"bd73755\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-column-wrap elementor-element-populated\">\n\t\t\t\t\t\t\t<div class=\"elementor-widget-wrap\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-54aadf6 elementor-widget elementor-widget-text-editor\" data-id=\"54aadf6\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t<div class=\"elementor-text-editor elementor-clearfix\">\n\t\t\t\t<h3><strong><span style=\"text-decoration: underline;\">\u884c\u70ba\u6a39 Behavior Tree<\/span><\/strong><\/h3><h4><span style=\"text-decoration: underline;\"><strong>\u4e8b\u524d\u6e96\u5099<\/strong><\/span><\/h4><ul><li>\u5275\u5efa\u7e7c\u627f\u4e86AI Controller\u7236\u985e\u7684\u85cd\u5716<\/li><\/ul>\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-06984f7 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"06984f7\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t\t\t<div class=\"elementor-row\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-c73eb13\" data-id=\"c73eb13\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-column-wrap elementor-element-populated\">\n\t\t\t\t\t\t\t<div class=\"elementor-widget-wrap\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-7498ee4 elementor-widget elementor-widget-image\" data-id=\"7498ee4\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t<div class=\"elementor-image\">\n\t\t\t\t\t\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"553\" height=\"422\" src=\"https:\/\/lonelinerd.com\/wp-content\/uploads\/2024\/03\/Create_AIController.png\" class=\"attachment-large size-large wp-image-4072\" alt=\"\" srcset=\"https:\/\/lonelinerd.com\/wp-content\/uploads\/2024\/03\/Create_AIController.png 553w, https:\/\/lonelinerd.com\/wp-content\/uploads\/2024\/03\/Create_AIController-300x229.png 300w\" sizes=\"auto, (max-width: 553px) 100vw, 553px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-10f5106 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"10f5106\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t\t\t<div class=\"elementor-row\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-177fdfd\" data-id=\"177fdfd\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-column-wrap elementor-element-populated\">\n\t\t\t\t\t\t\t<div class=\"elementor-widget-wrap\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-daa0aa6 elementor-widget elementor-widget-text-editor\" data-id=\"daa0aa6\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t<div class=\"elementor-text-editor elementor-clearfix\">\n\t\t\t\t<ul><li>\u5275\u5efaAI\u89d2\u8272\uff08Character\uff09<ul><li>\u5728Character -&gt; Pawn\u8a2d\u7f6e\u4e2d\u9032\u884cAI Controller Class\u548c Auto Possess AI\u7684\u914d\u7f6e<\/li><\/ul><\/li><\/ul>\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-8923ac9 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"8923ac9\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t\t\t<div class=\"elementor-row\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-280d2ef\" data-id=\"280d2ef\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-column-wrap elementor-element-populated\">\n\t\t\t\t\t\t\t<div class=\"elementor-widget-wrap\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-35cdf91 elementor-widget elementor-widget-image\" data-id=\"35cdf91\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t<div class=\"elementor-image\">\n\t\t\t\t\t\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"553\" height=\"234\" src=\"https:\/\/lonelinerd.com\/wp-content\/uploads\/2024\/03\/Create_AICharacter.png\" class=\"attachment-large size-large wp-image-4073\" alt=\"\" srcset=\"https:\/\/lonelinerd.com\/wp-content\/uploads\/2024\/03\/Create_AICharacter.png 553w, https:\/\/lonelinerd.com\/wp-content\/uploads\/2024\/03\/Create_AICharacter-300x127.png 300w\" sizes=\"auto, (max-width: 553px) 100vw, 553px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-09c0e76 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"09c0e76\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t\t\t<div class=\"elementor-row\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-8a942c1\" data-id=\"8a942c1\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-column-wrap elementor-element-populated\">\n\t\t\t\t\t\t\t<div class=\"elementor-widget-wrap\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-14afd3d elementor-widget elementor-widget-text-editor\" data-id=\"14afd3d\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t<div class=\"elementor-text-editor elementor-clearfix\">\n\t\t\t\t<ul><li>\u53c3\u6578\u8aaa\u660e<ul><li>AI Controller Class -&gt; \u9019\u500b\u89d2\u8272\u5c0d\u61c9\u7684\u7e7c\u627f\u4e86AI Controller\u7236\u985e\u7684\u85cd\u5716<\/li><li>Auto Possess AI -&gt; \u6307\u7684\u662fAI Controller Class\u8981\u600e\u6a23\u63a5\u7ba1Character\uff08AI Controller\u63a5\u7ba1\u4e86Character\u624d\u80fd\u4f7fAI\u751f\u6548\uff09<ul><li>Placed in World\uff1a\u4e00\u958b\u59cb\u5c31\u653e\u5728\u5834\u666f\u7684Character\u6703\u88ab\u81ea\u52d5\u63a5\u7ba1<ul><li>\u5982\u679cCharacter\u5f8c\u9762\u88ab\u5378\u8f09\u4e86\uff0c\u518d\u91cd\u65b0\u751f\u6210\u51fa\u4f86\uff0c\u5c31\u4e0d\u6703\u518d\u88abAI Controller Class\u63a5\u7ba1<\/li><\/ul><\/li><li>Spawned\uff1a\u5834\u666f\u52a0\u8f09\u5b8c\u4e4b\u5f8c\uff0c\u518d\u88ab\u751f\u6210\u51fa\u4f86\u7684Character\u6703\u88ab\u81ea\u52d5\u63a5\u7ba1\uff0c\u4e5f\u5c31\u662f\u8aaa\u4e00\u958b\u59cb\u5c31\u653e\u7f6e\u5728\u5834\u666f\u88e1\u7684Character\u4e0d\u6703\u88abAI Controller Class\u63a5\u7ba1<\/li><li>Placed in World or Spawned\uff1a\u53ea\u8981Character\u88ab\u5275\u5efa\u51fa\u4f86\u5c31\u81ea\u52d5\u63a5\u7ba1<\/li><li>Disable -&gt; \u4e0d\u81ea\u52d5\u63a5\u7ba1\uff0c\u9700\u8981\u5728AI Controller\u88e1\u624b\u52d5\u63a5\u7ba1<ul><li>AI Controller\u88e1\u4f7f\u7528Possess\u7bc0\u9ede\uff08Server Only\uff09\uff0c\u63a5\u53d7\u4e00\u500b\u63a5\u7ba1\u5c0d\u8c61\u53c3\u6578<\/li><\/ul><\/li><\/ul><\/li><\/ul><\/li><\/ul>\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-c3b7405 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"c3b7405\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t\t\t<div class=\"elementor-row\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-be530e1\" data-id=\"be530e1\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-column-wrap elementor-element-populated\">\n\t\t\t\t\t\t\t<div class=\"elementor-widget-wrap\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-85b6c60 elementor-widget elementor-widget-code-block-for-elementor\" data-id=\"85b6c60\" data-element_type=\"widget\" data-widget_type=\"code-block-for-elementor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<pre class='line-numbers theme-okaidia' data-show-toolbar='yes'><code class='language-cpp'>\/\/Pawn.cpp\r\n\r\nvoid APawn::PostInitializeComponents()\r\n{\r\n    QUICK_SCOPE_CYCLE_COUNTER(STAT_Pawn_PostInitComponents);\r\n\r\n    Super::PostInitializeComponents();\r\n    \r\n    if (IsValid(this))\r\n    {\r\n        UWorld* World = GetWorld();\r\n\r\n        \/\/ Automatically add Controller to AI Pawns if we are allowed to.\r\n        if (AutoPossessPlayer == EAutoReceiveInput::Disabled\r\n            &amp;&amp; AutoPossessAI != EAutoPossessAI::Disabled &amp;&amp; Controller == nullptr &amp;&amp; GetNetMode() != NM_Client\r\n#if WITH_EDITOR\r\n            &amp;&amp; (GIsEditor == false || World-&gt;IsGameWorld())\r\n#endif \/\/ WITH_EDITOR\r\n            )\r\n        {\r\n            const bool bPlacedInWorld = (World-&gt;bStartup);\r\n            if ((AutoPossessAI == EAutoPossessAI::PlacedInWorldOrSpawned) ||\r\n                (AutoPossessAI == EAutoPossessAI::PlacedInWorld &amp;&amp; bPlacedInWorld) ||\r\n                (AutoPossessAI == EAutoPossessAI::Spawned &amp;&amp; !bPlacedInWorld))\r\n            {\r\n                SpawnDefaultController();\r\n            }\r\n        }\r\n\r\n        \/\/ update movement component's nav agent values\r\n        UpdateNavAgent();\r\n    }\r\n}\r\n\r\nvoid APawn::SpawnDefaultController()\r\n{\r\n    if ( Controller != nullptr || GetNetMode() == NM_Client)\r\n    {\r\n        return;\r\n    }\r\n\r\n    if (AIControllerClass != nullptr)\r\n    {\r\n        FActorSpawnParameters SpawnInfo;\r\n        SpawnInfo.Instigator = GetInstigator();\r\n        SpawnInfo.SpawnCollisionHandlingOverride = ESpawnActorCollisionHandlingMethod::AlwaysSpawn;\r\n        SpawnInfo.OverrideLevel = GetLevel();\r\n        SpawnInfo.ObjectFlags |= RF_Transient;    \/\/ We never want to save AI controllers into a map\r\n        AController* NewController = GetWorld()-&gt;SpawnActor&lt;AController&gt;(AIControllerClass, GetActorLocation(), GetActorRotation(), SpawnInfo);\r\n        if (NewController != nullptr)\r\n        {\r\n            \/\/ if successful will result in setting this-&gt;Controller \r\n            \/\/ as part of possession mechanics\r\n            NewController-&gt;Possess(this);\r\n        }\r\n    }\r\n}\r\n<\/code><\/pre>\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-096ac4b elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"096ac4b\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t\t\t<div class=\"elementor-row\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-3fa111d\" data-id=\"3fa111d\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-column-wrap elementor-element-populated\">\n\t\t\t\t\t\t\t<div class=\"elementor-widget-wrap\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-df00819 elementor-widget elementor-widget-image\" data-id=\"df00819\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t<div class=\"elementor-image\">\n\t\t\t\t\t\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"502\" height=\"210\" src=\"https:\/\/lonelinerd.com\/wp-content\/uploads\/2024\/03\/PossessNode.png\" class=\"attachment-large size-large wp-image-4075\" alt=\"\" srcset=\"https:\/\/lonelinerd.com\/wp-content\/uploads\/2024\/03\/PossessNode.png 502w, https:\/\/lonelinerd.com\/wp-content\/uploads\/2024\/03\/PossessNode-300x125.png 300w\" sizes=\"auto, (max-width: 502px) 100vw, 502px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-2ba9180 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"2ba9180\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t\t\t<div class=\"elementor-row\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-6338611\" data-id=\"6338611\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-column-wrap elementor-element-populated\">\n\t\t\t\t\t\t\t<div class=\"elementor-widget-wrap\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-e7e6d0e elementor-widget elementor-widget-text-editor\" data-id=\"e7e6d0e\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t<div class=\"elementor-text-editor elementor-clearfix\">\n\t\t\t\t<h4><strong><span style=\"text-decoration: underline;\">\u4f7f\u7528\u8aaa\u660e<\/span><\/strong><\/h4><ul><li><h5><strong>\u5275\u5efaBlackboard\u8cc7\u6e90<\/strong><\/h5><ul><li><span style=\"font-size: 11.0pt; mso-bidi-font-size: 10.0pt; font-family: '\u5fae\u8f6f\u96c5\u9ed1',sans-serif; mso-bidi-font-family: \u5fae\u8f6f\u96c5\u9ed1; color: #080f17; mso-ansi-language: EN-US; mso-fareast-language: ZH-TW; mso-bidi-language: AR-SA;\">\u7528\u65bc\u7ba1\u7406\u884c\u70ba\u6a39<span lang=\"EN-US\">(s<\/span>\uff09\u53ef\u7528\u7684\u8b8a\u91cf<span lang=\"EN-US\">Key<\/span>\uff0c\u4f7f\u884c\u70ba\u6a39\u53ef\u4ee5\u8ffd\u8e64\u3001\u63a7\u5236<span lang=\"EN-US\">AI Agent<\/span>\u7684\u72c0\u614b<\/span><\/li><\/ul><\/li><\/ul>\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-17c083a elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"17c083a\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t\t\t<div class=\"elementor-row\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-85a114e\" data-id=\"85a114e\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-column-wrap elementor-element-populated\">\n\t\t\t\t\t\t\t<div class=\"elementor-widget-wrap\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-6b3553b elementor-widget elementor-widget-image\" data-id=\"6b3553b\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t<div class=\"elementor-image\">\n\t\t\t\t\t\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"553\" height=\"242\" src=\"https:\/\/lonelinerd.com\/wp-content\/uploads\/2024\/03\/CreateBlackboard_1.png\" class=\"attachment-large size-large wp-image-4076\" alt=\"\" srcset=\"https:\/\/lonelinerd.com\/wp-content\/uploads\/2024\/03\/CreateBlackboard_1.png 553w, https:\/\/lonelinerd.com\/wp-content\/uploads\/2024\/03\/CreateBlackboard_1-300x131.png 300w\" sizes=\"auto, (max-width: 553px) 100vw, 553px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-68a923a elementor-widget elementor-widget-image\" data-id=\"68a923a\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t<div class=\"elementor-image\">\n\t\t\t\t\t\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"553\" height=\"293\" src=\"https:\/\/lonelinerd.com\/wp-content\/uploads\/2024\/03\/CreateBlackboard_2.png\" class=\"attachment-large size-large wp-image-4077\" alt=\"\" srcset=\"https:\/\/lonelinerd.com\/wp-content\/uploads\/2024\/03\/CreateBlackboard_2.png 553w, https:\/\/lonelinerd.com\/wp-content\/uploads\/2024\/03\/CreateBlackboard_2-300x159.png 300w\" sizes=\"auto, (max-width: 553px) 100vw, 553px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-95edba5 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"95edba5\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t\t\t<div class=\"elementor-row\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-b2b4269\" data-id=\"b2b4269\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-column-wrap elementor-element-populated\">\n\t\t\t\t\t\t\t<div class=\"elementor-widget-wrap\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-4a3f345 elementor-widget elementor-widget-text-editor\" data-id=\"4a3f345\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t<div class=\"elementor-text-editor elementor-clearfix\">\n\t\t\t\t<ul><li><h5><strong>\u5275\u5efa\u884c\u70ba\u6a39<\/strong><\/h5><ul><li>\u5728\u6a39\u754c\u9762\u6709\u4e00\u500b\u6839\u7bc0\u9ede\uff0c\u4e5f\u662f\u884c\u70ba\u6a39\u904b\u884c\u7684\u8d77\u9ede<\/li><li>Detail\u754c\u9762\u8981\u6c42\u6307\u5b9a\u4e00\u500bBlackboard\u8cc7\u6e90<ul><li>\u4f7f\u9019\u500b\u884c\u70ba\u6a39\u80fd\u57fa\u65bc\u8a72Blackboard\u7684Key\u72c0\u614b\u57f7\u884c\u4e0d\u540c\u7684\u884c\u70ba<\/li><\/ul><\/li><\/ul><\/li><\/ul>\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-2e18d73 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"2e18d73\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t\t\t<div class=\"elementor-row\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-51ef9d4\" data-id=\"51ef9d4\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-column-wrap elementor-element-populated\">\n\t\t\t\t\t\t\t<div class=\"elementor-widget-wrap\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-7cfdc2f elementor-widget elementor-widget-image\" data-id=\"7cfdc2f\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t<div class=\"elementor-image\">\n\t\t\t\t\t\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"553\" height=\"256\" src=\"https:\/\/lonelinerd.com\/wp-content\/uploads\/2024\/03\/CreateBT_1.png\" class=\"attachment-large size-large wp-image-4078\" alt=\"\" srcset=\"https:\/\/lonelinerd.com\/wp-content\/uploads\/2024\/03\/CreateBT_1.png 553w, https:\/\/lonelinerd.com\/wp-content\/uploads\/2024\/03\/CreateBT_1-300x139.png 300w\" sizes=\"auto, (max-width: 553px) 100vw, 553px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-17d2b6a elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"17d2b6a\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t\t\t<div class=\"elementor-row\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-dd862f0\" data-id=\"dd862f0\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-column-wrap elementor-element-populated\">\n\t\t\t\t\t\t\t<div class=\"elementor-widget-wrap\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-a36d0f3 elementor-widget elementor-widget-image\" data-id=\"a36d0f3\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t<div class=\"elementor-image\">\n\t\t\t\t\t\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"545\" height=\"387\" src=\"https:\/\/lonelinerd.com\/wp-content\/uploads\/2024\/03\/CreateBT_2.png\" class=\"attachment-large size-large wp-image-4079\" alt=\"\" srcset=\"https:\/\/lonelinerd.com\/wp-content\/uploads\/2024\/03\/CreateBT_2.png 545w, https:\/\/lonelinerd.com\/wp-content\/uploads\/2024\/03\/CreateBT_2-300x213.png 300w\" sizes=\"auto, (max-width: 545px) 100vw, 545px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-8d95187 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"8d95187\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t\t\t<div class=\"elementor-row\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-c09960f\" data-id=\"c09960f\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-column-wrap elementor-element-populated\">\n\t\t\t\t\t\t\t<div class=\"elementor-widget-wrap\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-1f30f4b elementor-widget-divider--view-line elementor-widget elementor-widget-divider\" data-id=\"1f30f4b\" data-element_type=\"widget\" data-widget_type=\"divider.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"elementor-divider\">\n\t\t\t<span class=\"elementor-divider-separator\">\n\t\t\t\t\t\t<\/span>\n\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>\u76f8\u6bd4\u8d77Unity\uff0cUnreal Engine\u70ba\u6211\u5011\u7684AI\u958b\u767c\u63d0\u4f9b\u4e86\u66f4\u591a\u4e14\u66f4\u5b8c\u5099\u7684\u529f\u80fd\uff0c\u9664\u4e86\u57fa\u672c\u7684\u884c\u70ba\u6a39\u548cNav\u4ee5\u5916\uff0c\u9084\u63d0\u4f9b\u4e86Perception System\u3001EQS\u7b49\u5f37\u5927\u7684\u7cfb\u7d71\u7d66\u6211\u5011\u53bb\u5e6bAI\u8a2d\u8a08\u70ba\u66f4\u6709\u610f\u601d\u7684\u667a\u80fd\u65b9\u6848\u3002<br \/>\n\u6700\u8fd1\u56e0\u70ba\u5de5\u4f5c\u4e0a\u7684\u539f\u56e0\uff0c\u9700\u8981\u5f80\u9019\u65b9\u9762\u9032\u884c\u4e00\u4e9b\u7814\u7a76\uff0c\u767c\u73fe\u7db2\u7d61\u4e0a\u95dc\u65bcUE AI\u7684\u4e2d\u6587\u6587\u6a94\u5be6\u5728\u7a00\u5c11\uff0c\u56e0\u6b64\u4e5f\u5e0c\u671b\u53ef\u4ee5\u51fa\u4e00\u5206\u529b\uff0c\u586b\u88dc\u4e00\u4e0bUE AI\u4e2d\u6587\u8cc7\u6599\u7684\u7f3a\u53e3<\/p>\n<p>\u672c\u7bc7\u70baUE AI\u7cfb\u5217\u7684\u7b2c\u4e00\u90e8\u5206\uff1a\u884c\u70ba\u6a39\u5275\u5efa<\/p>\n","protected":false},"author":1,"featured_media":4068,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4,17],"tags":[],"class_list":["post-4067","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-programming-notes","category-devnotes"],"jetpack_sharing_enabled":true,"jetpack_featured_media_url":"https:\/\/lonelinerd.com\/wp-content\/uploads\/2024\/03\/FeatureCover_Unreal5ArtificialIntelligence.png","_links":{"self":[{"href":"https:\/\/lonelinerd.com\/index.php\/wp-json\/wp\/v2\/posts\/4067","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/lonelinerd.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/lonelinerd.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/lonelinerd.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/lonelinerd.com\/index.php\/wp-json\/wp\/v2\/comments?post=4067"}],"version-history":[{"count":8,"href":"https:\/\/lonelinerd.com\/index.php\/wp-json\/wp\/v2\/posts\/4067\/revisions"}],"predecessor-version":[{"id":4100,"href":"https:\/\/lonelinerd.com\/index.php\/wp-json\/wp\/v2\/posts\/4067\/revisions\/4100"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/lonelinerd.com\/index.php\/wp-json\/wp\/v2\/media\/4068"}],"wp:attachment":[{"href":"https:\/\/lonelinerd.com\/index.php\/wp-json\/wp\/v2\/media?parent=4067"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/lonelinerd.com\/index.php\/wp-json\/wp\/v2\/categories?post=4067"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/lonelinerd.com\/index.php\/wp-json\/wp\/v2\/tags?post=4067"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}