From ea8ff574b090eafd40dec6f5c1a2694f241619c2 Mon Sep 17 00:00:00 2001 From: Arnaud Jamin Date: Mon, 16 Oct 2023 23:39:30 -0400 Subject: [PATCH] Update README.md --- README.md | 80 ++++++++++++++++++++++++++++++++++++++----------------- 1 file changed, 55 insertions(+), 25 deletions(-) diff --git a/README.md b/README.md index ef4b5d4..bb2d1cb 100644 --- a/README.md +++ b/README.md @@ -31,23 +31,34 @@ Displays the gameplay abilities of the selected actor. ### Actions Displays the state of Input Action. -![image](https://github.com/arnaud-jamin/Cog/assets/13844285/6323e78b-2ee4-43e2-bec6-19aa15716d2c) +![Actions](https://github.com/arnaud-jamin/Cog/assets/13844285/6323e78b-2ee4-43e2-bec6-19aa15716d2c) - Can be used to inject inputs to help debugging. - The display input action are read from a Input Mapping Context defined in a Data Asset. ### Attributes Displays the gameplay attributes of the selected actor. -![image](https://github.com/arnaud-jamin/Cog/assets/13844285/a6329ef1-f775-4e6e-9581-6389f9f4b39c) +![Attributes](https://github.com/arnaud-jamin/Cog/assets/13844285/a6329ef1-f775-4e6e-9581-6389f9f4b39c) - Attributes can be sorted by name, category or attribute set. - Attributes with the Current value greater than the Base value are displayed in green. - Attributes with the Current value lower than the Base value are displayed in red. - Use the options 'Show Only Modified' to only show the attributes that have modifiers. +### Behavior Tree +Displays the behavior tree of the selected actor. + +![Behavior Tree](https://github.com/arnaud-jamin/Cog/assets/13844285/2e3ab30f-414a-497d-be08-605e1d299d23) + +### Blackboard +Displays the blackboard of the selected actor. + +![Blackboard](https://github.com/arnaud-jamin/Cog/assets/13844285/649d46d5-386c-4990-9f45-e4eb95a6b81a) + + ### Cheats Used to apply cheats to the selected actor. -![image](https://github.com/arnaud-jamin/Cog/assets/13844285/b7b89635-7924-49b7-98c0-311199947dfc) +![Cheats](https://github.com/arnaud-jamin/Cog/assets/13844285/b7b89635-7924-49b7-98c0-311199947dfc) - The cheats are gameplay effects configured in a data asset. - Key modifiers can be used to change which actor should be affected by the cheat: - [CTRL] apply the cheat to the controlled actor @@ -57,7 +68,7 @@ Used to apply cheats to the selected actor. ### Collisions Used to inspect collisions by performing a collision query with the selected channels. -![image](https://github.com/arnaud-jamin/Cog/assets/13844285/ccee855b-b33b-4dfc-ba14-dff87e1150cf) +![Collisions](https://github.com/arnaud-jamin/Cog/assets/13844285/ccee855b-b33b-4dfc-ba14-dff87e1150cf) - The query can be configured in the options. - The displayed collision channels can be configured in a Data Asset. - It can be used to better understand what object collisions are blocking a raycast. @@ -65,24 +76,25 @@ Used to inspect collisions by performing a collision query with the selected cha ### Debug Settings Used to tweak how the debug display is drawn. -![image](https://github.com/arnaud-jamin/Cog/assets/13844285/e55c8d07-133e-48ab-a974-ed076f3d4a58) +![Debug Settings](https://github.com/arnaud-jamin/Cog/assets/13844285/e55c8d07-133e-48ab-a974-ed076f3d4a58) ### Effects Displays the gameplay effects of the selected actor. -![image](https://github.com/arnaud-jamin/Cog/assets/13844285/4fffa8fe-bd93-44bc-8ca5-27ae81f5da0c) +![Effects](https://github.com/arnaud-jamin/Cog/assets/13844285/4fffa8fe-bd93-44bc-8ca5-27ae81f5da0c) - Mouse over an effect to see its details such as its modifiers, the gameplay tags it grants, the remaining time, etc. ### Gamepad Display the state of the gamepad -![image](https://github.com/arnaud-jamin/Cog/assets/13844285/734dd08a-5b9f-44cf-8d24-9bf257f08ec6) +![Gamepad](https://github.com/arnaud-jamin/Cog/assets/13844285/734dd08a-5b9f-44cf-8d24-9bf257f08ec6) +- Can be displayed as an overlay - Can be used to inject inputs to help debugging, as loosing window focus when breaking in the code doesn't affect the state of injected inputs unlike real inputs. ### Inspector Used to inspect and modify an Object properties -![image](https://github.com/arnaud-jamin/Cog/assets/13844285/e6ed8841-40cc-4491-b46f-517e6cd7f296) +![Inspector](https://github.com/arnaud-jamin/Cog/assets/13844285/e6ed8841-40cc-4491-b46f-517e6cd7f296) - Inspect the selected actor by default - Favorites can be added with a custom function defining what happens when the user press the Apply button (typically this can be used to modify and apply the Game User Settings) - Manage a history of inspected objects. @@ -90,7 +102,7 @@ Used to inspect and modify an Object properties ### Log Categories Can be used to activate and deactivate log categories -![image](https://github.com/arnaud-jamin/Cog/assets/13844285/7ced2751-c3bc-43a3-9280-d11a34bf0482) +![Log Categories](https://github.com/arnaud-jamin/Cog/assets/13844285/7ced2751-c3bc-43a3-9280-d11a34bf0482) - Activating a log category set its verbosity to VeryVerbose. - Deactivating a log category set its verbosity to Warning. - The detailed verbosity of each log category can be shown by using the Option menu. @@ -100,39 +112,57 @@ Can be used to activate and deactivate log categories ### Metric Gather various values sent by the selected actor and compte their rate per second. This is typically useful to compute the damage dealt or received per second. -![image](https://github.com/arnaud-jamin/Cog/assets/13844285/64d3cb7c-8731-4897-9ef9-b0868148ebe2) +![Metric](https://github.com/arnaud-jamin/Cog/assets/13844285/64d3cb7c-8731-4897-9ef9-b0868148ebe2) ### Net Emulation Used to configure the network emulation -![image](https://github.com/arnaud-jamin/Cog/assets/13844285/97103f15-fae8-4fe9-8189-8fdbcab5cb20) +![Net Emulation](https://github.com/arnaud-jamin/Cog/assets/13844285/97103f15-fae8-4fe9-8189-8fdbcab5cb20) ### Output Log Display the output log based on each log categories verbosity. -![image](https://github.com/arnaud-jamin/Cog/assets/13844285/71b1de06-a3d0-4e4d-83f3-c3f482c0d8f4) +![Output Log](https://github.com/arnaud-jamin/Cog/assets/13844285/71b1de06-a3d0-4e4d-83f3-c3f482c0d8f4) - The verbosity of each log category can be configured in the 'Log Categories' window. ### Pools Displays attributes of the selected actor as pools. -![image](https://github.com/arnaud-jamin/Cog/assets/13844285/7bb1aadd-9c0b-439f-b263-5ed842d0cd69) +![Pools](https://github.com/arnaud-jamin/Cog/assets/13844285/7bb1aadd-9c0b-439f-b263-5ed842d0cd69) - The pools can be configured in a data asset. ### Plots Plots values overtime. When applicable, only the values of the selected actor are displayed. -![image](https://github.com/arnaud-jamin/Cog/assets/13844285/bc134e95-4887-4245-b34d-c030464f644a) +![Plots](https://github.com/arnaud-jamin/Cog/assets/13844285/bc134e95-4887-4245-b34d-c030464f644a) + +- Handle both float values and discrete events. +- Here is an exemple to push a float values: +```cpp +#if ENABLE_COG +FCogDebugPlot::PlotValue(Character, "Speed", Velocity.Length()); +#endif //ENABLE_COG +``` +- Here is an exemple to push an event: +```cpp +#if ENABLE_COG + FCogDebugPlot::PlotEvent(this, "Effects", GameplayEffectSpec.Def->GetFName(), GameplayEffectSpec.GetDuration() == 0.0f) + .AddParam("Name", AbilitySystemComponent->CleanupName(GetNameSafe(GameplayEffectSpec.Def))) + .AddParam("Effect Instigator", GetNameSafe(GameplayEffectSpec.GetEffectContext().GetInstigator())) + .AddParam("Effect Level", GameplayEffectSpec.GetLevel()) + .AddParam("Effect Duration", GameplayEffectSpec.GetDuration()); +#endif //ENABLE_COG +``` ### Scalability Used to configure the rendering quality. -![image](https://github.com/arnaud-jamin/Cog/assets/13844285/4866b54c-5efa-4efa-a841-74ac8e1713c0) +![Scalability](https://github.com/arnaud-jamin/Cog/assets/13844285/4866b54c-5efa-4efa-a841-74ac8e1713c0) ### Skeleton Display the bone hierarchy and the skeleton debug draw of the selected actor if it has a Skeletal Mesh. -![image](https://github.com/arnaud-jamin/Cog/assets/13844285/19648e3d-70dc-45bc-940d-e53eb9a99871) +![Skeleton](https://github.com/arnaud-jamin/Cog/assets/13844285/19648e3d-70dc-45bc-940d-e53eb9a99871) - Mouse over a bone to highlight it. - Right click a bone to access more debug display. - Use the [Ctrl] key to toggle the bone debug draw recursively. @@ -140,42 +170,42 @@ Display the bone hierarchy and the skeleton debug draw of the selected actor if ### Selection Used to select an actor either by picking an actor in the world or by selecting an actor in the actor list. -![image](https://github.com/arnaud-jamin/Cog/assets/13844285/67cf9019-85c0-449f-88bf-0fc4841f8795) +![Selection](https://github.com/arnaud-jamin/Cog/assets/13844285/67cf9019-85c0-449f-88bf-0fc4841f8795) - The actor list can be filtered by actor type (Actor, Character, etc). - The current selection is used by various debug windows to filter out their content. ### Settings Configure the settings of Cog Windows. -![image](https://github.com/arnaud-jamin/Cog/assets/13844285/edd6a701-9a50-41fa-b7df-90fd11cc2937) +![Settings](https://github.com/arnaud-jamin/Cog/assets/13844285/edd6a701-9a50-41fa-b7df-90fd11cc2937) - Can configure the input key to toggle the input focus between the game and imgui - Can change the DPI Scaling ### Spawn Used to spawn new actors in the world. The spawn list can be configured in a Data Asset. -![image](https://github.com/arnaud-jamin/Cog/assets/13844285/b37f9307-5fd5-4ea5-9652-c265a8f63e32) +![Spawn](https://github.com/arnaud-jamin/Cog/assets/13844285/b37f9307-5fd5-4ea5-9652-c265a8f63e32) ### Stats Displays engine stats such as FPS, Ping, Packet Loss. -![image](https://github.com/arnaud-jamin/Cog/assets/13844285/e394ec7b-02fa-4b09-879b-90c82bd542ef) +![Stats](https://github.com/arnaud-jamin/Cog/assets/13844285/e394ec7b-02fa-4b09-879b-90c82bd542ef) ### Tags Displays the gameplay tags of the selected actor. -![image](https://github.com/arnaud-jamin/Cog/assets/13844285/3f14be3f-77f2-4d59-887d-1245fc97ed6a) +![Tags](https://github.com/arnaud-jamin/Cog/assets/13844285/3f14be3f-77f2-4d59-887d-1245fc97ed6a) ### Time Scale Used to change the game global time scale. -![image](https://github.com/arnaud-jamin/Cog/assets/13844285/d19198c5-37dd-400d-a09f-7a5077eb2511) +![Time Scale](https://github.com/arnaud-jamin/Cog/assets/13844285/d19198c5-37dd-400d-a09f-7a5077eb2511) - If changed on a client the time scale is also modified on the game server, and replicated to the other clients. ### Tweaks Used to apply tweaks to all the spawned actors -![image](https://github.com/arnaud-jamin/Cog/assets/13844285/e8a5cdd5-908d-4ae3-901a-48addd4ce353) +![Tweaks](https://github.com/arnaud-jamin/Cog/assets/13844285/e8a5cdd5-908d-4ae3-901a-48addd4ce353) - The tweaks are used to test various gameplay settings by actor category - The tweaks can be configured in a data asset. @@ -183,11 +213,11 @@ Used to apply tweaks to all the spawned actors Cog provides C++ and Blueprint functions to log and debug draw within Log Categories. -![image](https://github.com/arnaud-jamin/Cog/assets/13844285/cc0ba4a5-7fa6-44a8-b737-f523bdf94321) +![Log Categories](https://github.com/arnaud-jamin/Cog/assets/13844285/cc0ba4a5-7fa6-44a8-b737-f523bdf94321) Log and debug draw functions can be filtered by the selected actor. -![image](https://github.com/arnaud-jamin/Cog/assets/13844285/a6f1329e-d49e-410f-8a70-4613aafabb5a) +![Log and debug draw functions](https://github.com/arnaud-jamin/Cog/assets/13844285/a6f1329e-d49e-410f-8a70-4613aafabb5a) ## Setup