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.
- 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.
Uniform Indexabletype 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 Frictionshould be disabled (when it's enabled, air resistance will be applied, it will complicate the jump apex and landing prediction).
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 Contribute:
- Create a personal fork of the project on Github.
- Clone the fork on your local machine. Your remote repo on Github is called
- Add the original repository as a remote called
- 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
- Implement/fix your feature, comment your code.
- Follow the Epic Games code style of the project, including indentation.
FormatSourceFiles.ps1and commit changes if there is one. Don't forget to sets the PowerShell execution policies to
- 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
- From your fork open a pull request in the correct branch. Target the project's