PS_AI_Agent/Build_Plugin.bat
j.foucher 2e04cb0334 Fix perception, patrol, and spline following for PS_AI_Behavior
Perception:
- Configure senses in BeginPlay + RequestStimuliListenerUpdate (not constructor)
- Filter threats by team attitude: only Hostile actors generate threat
- Skip Friendly and Neutral actors in CalculateThreatLevel and GetHighestThreatActor
- All Hostile actors are valid threats regardless of TargetPriority list

Blackboard:
- Use SetValueAsEnum/GetValueAsEnum for BehaviorState key (was Int)

Patrol:
- Auto NavMesh patrol when no manual waypoints defined
- Project HomeLocation onto NavMesh before searching random points
- Fallback to NPC current position if HomeLocation not on NavMesh

Spline following:
- Choose direction based on NPC forward vector vs spline tangent (not longest distance)
- Skip re-search if already following a spline (prevent BT re-boucle)
- Reverse at end: wait for NPC to catch up before inverting direction
- Use NPC actual CharacterMovement speed for target point advancement
- Face toward target point (not spline tangent) to prevent crab-walking in turns
- Junction switching: direction continuity check, 70% switch chance, world gap tolerance
- Debug draw: green sphere (target), yellow line (gap), cyan arrow (tangent), text overlay
- Add GetWorldDirectionAtDistance to SplinePath

Editor:
- Add Placeable to SplinePath and CoverPoint UCLASS
- Add PersonalityProfileFactory for Data Asset creation
- Add EnsureBlackboardAsset declaration

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-26 15:44:39 +01:00

66 lines
2.6 KiB
Batchfile

@echo off
setlocal
:: ─── Configuration ──────────────────────────────────────────────────────────
set UE_ROOT=C:\Program Files\Epic Games\UE_5.5
set UPROJECT=E:\ASTERION\GIT\PS_AI_Agent\Unreal\PS_AI_Agent\PS_AI_Agent.uproject
set PLATFORM=Win64
set CONFIG=Development
set TARGET=PS_AI_AgentEditor
:: ─── Colors ─────────────────────────────────────────────────────────────────
set GREEN=[92m
set RED=[91m
set YELLOW=[93m
set RESET=[0m
:: ─── Banner ─────────────────────────────────────────────────────────────────
echo.
echo %GREEN%============================================%RESET%
echo PS_AI_Agent - Plugin Build
echo Target: %TARGET% %PLATFORM% %CONFIG%
echo %GREEN%============================================%RESET%
echo.
:: ─── Verify paths ───────────────────────────────────────────────────────────
if not exist "%UE_ROOT%\Engine\Binaries\ThirdParty\DotNet\8.0.300\win-x64\dotnet.exe" (
echo %RED%ERROR: UE5.5 dotnet not found at %UE_ROOT%%RESET%
echo Check UE_ROOT path in this script.
pause
exit /b 1
)
if not exist "%UPROJECT%" (
echo %RED%ERROR: .uproject not found: %UPROJECT%%RESET%
pause
exit /b 1
)
:: ─── Build ──────────────────────────────────────────────────────────────────
echo %YELLOW%Building %TARGET% (%CONFIG%)...%RESET%
echo.
"%UE_ROOT%\Engine\Binaries\ThirdParty\DotNet\8.0.300\win-x64\dotnet.exe" ^
"%UE_ROOT%\Engine\Binaries\DotNET\UnrealBuildTool\UnrealBuildTool.dll" ^
%TARGET% %PLATFORM% %CONFIG% ^
-Project="%UPROJECT%" ^
-WaitMutex ^
-FromMsBuild
set BUILD_EXIT=%ERRORLEVEL%
echo.
if %BUILD_EXIT% EQU 0 (
echo %GREEN%============================================%RESET%
echo BUILD SUCCEEDED
echo %GREEN%============================================%RESET%
) else (
echo %RED%============================================%RESET%
echo BUILD FAILED (exit code: %BUILD_EXIT%)
echo %RED%============================================%RESET%
)
echo.
pause
exit /b %BUILD_EXIT%