Distance Matching
This plug-in is custom implementation of the Distance Matching technique which was shown by Laurent Delayen at Nucl.ai 2016. In two words, Distance Matching plays the animation frame which corresponds to the distance to marker location (start, stop, pivot, etc.). Target engine version for this plug-in is UE5, for UE4 see 4.27 branch.
Features:
- Predicting the stop, pivot, jump apex and landing location.
- Calculating the distance and time to marker location in each frame.
- Custom animation node for playing the animation by the distance.
- Animation Modifier for extracting distance from the root motion animation.
Restrictions:
Uniform Indexable
type of the curve compression should be applied to animation which will be used with DistanceMatching animation node.- Animation Modifier works only with root motion animations (root motion data is only needed for extracting the distance, you can disable root motion in animation itself).
Use Separate Braking Friction
should be disabled (when it's enabled, air resistance will be applied, it will complicate the jump apex and landing prediction).
Installation:
For Blueprint project you should add any C++ class.
- Close Unreal Engine editor.
- Copy DistanceMatching directory to the Plugins folder at the root of the project.
- Regenerate the Visual Studio project files.
- Open Visual Studio solution file and compile it.
- Open your project and enable the DistanceMatching plugin.
How to use Distance Matching plugin
How To Contribute:
- Create a personal fork of the project on Github.
- Clone the fork on your local machine. Your remote repo on Github is called
origin
. - Add the original repository as a remote called
upstream
. - If you created your fork a while ago be sure to pull upstream changes into your local repository.
- Create a new branch to work on. Branch from
develop
. - Implement/fix your feature, comment your code.
- Follow the Epic Games code style of the project, including indentation.
- Run
FormatSourceFiles.ps1
and commit changes if there is one. Don't forget to sets the PowerShell execution policies toRemoteSigned
. - Squash your commits into a single commit with git's interactive rebase. Create a new branch if necessary.
- Push your branch to your fork on Github, the remote
origin
. - From your fork open a pull request in the correct branch. Target the project's
develop
branch.