Important links:
Description
Advanced sight is an efficient and multi-threaded implementation of sight perception system. It exist because what default AI perception shipped with vanilla Unreal offers is simply not enough for games that require more complex AI behaviors. Any game that features any form of stealth is going to benefit from using advanced sight thanks for very flexible way of setting up sight ranges, having full control over how fast an AI agent is going to perceive visible targets and how fast are they going to forget about them switch behavior to their regular routine.
Changelog v1.5
- Fix bug with debug drawing showing a target as lost despite its actual state being perceived (debug drawing bug only)
- Add verbose output log logging to make debugging easier
- Add visual logger logging to make debugging easier
Changelog v1.4.2
- Fix issue with `Set Perceivable` function not clearing the target from spotted, perceived and remembered targets for all advanced sight components registered to the system
- Fix compilation warning about `Attitude` property not being initialized
- Prevent some events from being broadcasted if certain conditions are not met i.e. do not broadcast `On Target Lost` if a target actor passed as parameter wasn't either spotted nor perceived
Changelog v1.4.1
- Fix crash when destroying an actor that is a sight system target
- Fix warnings on gym maps caused by team component not being created while system was attempting to register an actor as a target
- Prevent the game from crashing when advanced sight component is used on a none controller based class; previously it was printing an error but wasn't terminating the function; it is now returning early allowing user to read the error from the output log
Changelog v1.4
- Fix crash caused by dynamically spawning actor with Advanced Sight Target Component (thanks ToffelsKater for reporting)
- Fix issue with system not always properly registering agents to the sight system when spawned dynamically
- Fix sight indicator not working properly for blueprint only agents on the gym map
- Fix issue with target actors not being able to be perceived again after they have been set as not perceivable due to their id not being cleaned up from registered targets when setting them as not perceivable (thanks Feanix for reporting)
- Add few more examples to the Gym map
- Add new property Gain Rate in Advanced Sight Target Component allowing to set custom gain rate for any target. This can be updated in runtime by calling Set Gain Rate function (thanks Feanix for reporting)
- Add new custom scene components which must now be used as visibility points; custom visibility point components allow not to define Gain Rate per visibility point. This means that you can set Gain Rate for bigger body parts to value greater than 1 making this agent to be perceived faster when this point is visible, or less than 1 making this agent to be perceived slower when this point is visible. These can be updated in runtime. If multiple points are visible at the same time, the one with highest Gain Rate will be used for calculating the new gain value in the system (thanks Feanix for reporting)
Changelog v1.3
- Add "SetPerceivable" blueprint callable function to the Advanced Sight Target Component allowing a target to become "invisible" or "perceivable" to the NPCs (#6)
- Add data table row definition allowing to define custom team relationships (friendly, neutral, hostile). Previously, teams with different IDs were always considered hostile (#7)
- Add "AddGainToTarget" blueprint callable function to the Advanced Sight Component allowing to manually add specified gain value for a selected target (#8)
- Add "UpdateTeamsRelationship" blueprint callable function to the Advanced Sight System allowing to update relationship between teams in runtime
- Add "ForcePerceiveTarget" blueprint callalbe function to the Advanced Sight Component allowing to user to forcefully perceive a selected target
Changelog v1.2
- Add new component that allows to define agent's team id without using base C++ character class (#5)
- Fix issue with plugin's content not appearing properly when using it with versions older than 5.4 (#4)
- Fix warning appearing first time PIE is started caused by advanced sight system defining it supports Editor worlds instead only PIE and Game
Changelog v1.1
- Move some advanced sight system properties from protected to public access modifier so they can be easily accessed outside of the system to write custom logic (#1)