Git Product home page Git Product logo

distancematching's Introduction

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.

  1. Close Unreal Engine editor.
  2. Copy DistanceMatching directory to the Plugins folder at the root of the project.
  3. Regenerate the Visual Studio project files.
  4. Open Visual Studio solution file and compile it.
  5. 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 to RemoteSigned.
  • 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.

Special Thanks:

distancematching's People

Contributors

romanmerkushin avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.