nlebedenco / TPCE

Third Person Character Extension Plug-in for Unreal Engine 4
MIT License
84 stars 29 forks source link

Third Person Character Extensions

Unreal Engine 4 plug-in that adds an extended character class with an integrated locomotion system and components for third person based games.

About

The TPCE plug-in implements a module that provides an extended Character class derived from ACharacter and extra components to speed up development of third person character based games.

Supported Platforms

This plug-in should work in all platforms.

Dependencies

No external dependencies.

Usage

You can use this plug-in as a project plug-in, or an Engine plug-in.

If you use it as a project plug-in, clone this repository into your project's /Plugins directory and compile your game in Visual Studio. A C++ code project is required for this to work.

If you use it as an Engine plug-in, clone this repository into the /Engine/Plugins/Gameplay directory and compile your game. Engine source code is required for this so make sure to have it selected in Epic's Launcher Library options.

After compiling the plug-in, you have to enable it in Unreal Editor's plug-in browser.

Support

Note: This plugin is not supported by Epic Games.

Please file an issue here

References

CHANGELOG

Version 1.0

ExtCharacter

Custom Anim Nodes

Speed Warping Node: scale foot IK targets according to the character's speed potentially producing shorter or larger steps.

Orientation Warping Node: rotates the IK Foot Root bone in a certain direction while adjusting the torso to compensate.

Foot Placement Node: adjusts Foot IK bones within limits according to terrain.

Custom Components

Actor Widget : specialized UserWidget that has a reference to the WidgetComponent that owns it. A reference to the owining actor can be obtained through the owning WidgetComponent then.

Actor Widget Component: specialized WidgetComponent that can auto assign itself to a Player and become visible/invisble when its player joins/leaves the game.

Custom Arm Components (camera boom):

PushToTargetComponent: custom movement component that updates the position of another component simulating an unrealistic force that pushes the updated component towards a target. This 'force' becomes stronger with distance and ignores both inertia and gravity. It supports sliding over surfaces and can simulate friction. Normally the root component of the owning actor is moved. Does not affect components that are simulating physics.

StateMachineComponent: a simple actor component that stores and replicates a single variable representing its state. It can handle state changes that happen on the spot and after the fact due to network relevancy and late replication (see unreal manual's chapter about replication and network relevancy parts 1-4.

Editor Extensions