Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
System used to grab objects in a similar way to dead space, with a type of telekinesis, and to grab and carry objects physically on player’s hands, using IK for that as well, and managing the collisions and forces of that object, including to drop or throw it.
It manages the movement and animation of the character, including ground and air detection, collisions, velocities, being physics based driven, but with a custom gravity system to apply force in the local down direction of the player, allowing to manage its gravity with different directions
Used to configure the different powers that the player can use to fire energy from his hands and use other type of abilities, which can be extended to add new ones, similar to the weapon system or the ability system itself
-Gravity System: used to manage the gravity control on the character
This is the main player gameObject itself, though the humanoid AI uses most of the same components than the player to work, which allows to make these components easy to manage and extend, and have available any element/system that is added to the player for the AI, without major modifications or additions. This contains the next main elements:
It is the main damage detection system, which can be configured on any object that can be damaged, including event options on death, damage, and other states. It has also options to use a shield to avoid damage and allows to detect damage on specific body parts of any object or character, like a hand, arms, chest, head, etc….triggering any event on each part as needed.
Used to manage interaction with devices and objects on the game, detecting and storing all of them and setting the current that to use according to the settings, like closer to the player, closer to the center of the screen, the one that is visible on screen, etc...like vehicles, computers, buttons, pickups, chests, etc….
It manages the close combat, usually configured as kicks and punches, managing the different attacks configured on it and the combo logic. It also manages the AI to trigger attacks on the AI characters.
It manages the ragdoll configured in the character when it dies or the ragdoll state is triggered by external events. It also allows using death animations instead of activating the ragdoll directly.
Used to show the info (name and/or icons) of the pickups taken by the player in-game.
Used to manage the different elements which have IK options for the character on it, like seats on vehicles when driving, using weapons, grabbing objects, etc….
Used to manage and configure all the weapons used on the character, including changing between them, activate/deactivate each one according to if the player equips them or not, edit its attachments and all the regular actions on fire weapons, like reload, fire, drop or pick weapons, etc.
Used to make the damage visible on screen, with a red screen and arrows showing the direction of the damage, and showing damage icons numbers on the screen for each object that receives damage and which is visible on the screen (similar to borderlands) respectively.
Used to manage the inventory that the player carries with it, including to configure the initial inventory that the player has at the beginning of the game, which can be empty or contain certain items or weapons, which can be configured as equipped at the start too.
It also allows to combine, drop, use, examine and more actions with the objects, including showing the weapons slots equipped in-game.
Used to detect the current surface where the character is located and play different sounds, particles, and footprints over it, including terrains, and configure different states, for a walk, run, crouch, etc… in order to configure different volumes for the steps and noise values for the AI.
Used to manage the different friendly AI found by the player, to give orders to it. It can be activated with K by default.
It manages the upper body orientation when using weapons or powers that requires the player to aim in third person, so its upper body can rotate separately from the lower body to aim up, down, and to the sides, as any other third-person game does.
It manages the head and upper body orientation to make them look to a certain position, with certain clamp limits and according to the forward direction of the character, using IK for both body parts.
It allows you to configure different modes for the character and change between them in-game through input or events, like having a weapons mode, powers mode, close combat mode, melee weapons mode, simple mode without nothing extra or special to activate, etc...Basically, a list of states with events to trigger for each one.
Once all the input actions are configured in Input Manager, the player gets that list of actions and to each one, an event is configured along with setting the type of press key (down, hold or release) to activate that action. So it makes the player call the jump function when the key jump is pressed through an event calling such function. It also manages the gamepad and mobile input, along with the axis for movement and camera.
Used to configure an object as an element to be shown in the map system as an icon, like a door, an AI, the player, an elevator, etc.
Used to configure the faction where that character belongs, so the AI is able to identify each character and attack them if they are identified as enemies or leave them alone if the other character is a friend or neutral.
Used to activate the movement on the character based on navmesh navigation, used most of the time for point and click control type.
This system which allows to configure a list of events and assign a name to each element of the list. Each one of these elements can be triggered remotely by another object through an effect area, on trigger or by certain components or other events, as the system is made in order to avoid having direct references to the object with the event to trigger, so each object can be different prefabs without any relation.
An example of this is that the player can activate their sleep spell ability which basically uses a sphere cast to detect objects inside a radius and trigger their remote event system, searching for the element with the name “Activate Sleep Spell Cast”. That has an event configured on each AI to call to the ragdoll state to make them fall and be in that state x amount of time.
So that type of reaction is triggered without any direct reference to any specific component or object of the AI and the player, even if the AI is spawned dynamically at run time.
This can be used in a multitude of situations, for example, an ability hack which basically detects an object by raycast and calls its remote event system component to call the event called “Hack”, to unlock a door, make a device explode, disable the energy of a generator, make a vehicle to activate its self destruct function, etc.
A system used to detect dynamically when the player is on the air and close to a ledge that could be grabbed, so the player can hang from it, climb it or lose it or jump from it on the air again. It also allows it to grab to a flat wall (instead of the ledge at top) by getting close to the wall in the air and pressing the E (interaction key).
Calls to the Remove Event Searcher. Searching for Remove Event System on the scene with a certain range of distance and layers. So you can check that melee weapon, it has the remote searcher inside.
The activator is used with a trigger to detect objects which enter it to call for the Remote Event Object. By default, the player and the AI have them configured on their AI player controller and player controller gameObjects respectively.
IK system based used to place the feet of the character on the ground according to the collider shape of that mesh, so in stairs, slopes, etc.. the feet are placed visually on top of the mesh, instead of being always flat in the same height, looking awkward when the component is disabled.
The one for the hands makes the character place their hands dynamically on close surfaces without animations, making both systems feel like the characters are more alive and interact with objects of the scene organically.