Distance matching plugin

Overview

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:

You might also like...
A portable fork of the high-performance regular expression matching library

Vectorscan? A fork of Intel's Hyperscan, modified to run on more platforms. Currently ARM NEON/ASIMD is 100% functional, and Power VSX are in developm

K-Closest Points and Maximum Clique Pruning for Efficient and Effective 3-D Laser Scan Matching (RA-L 2022)
K-Closest Points and Maximum Clique Pruning for Efficient and Effective 3-D Laser Scan Matching (RA-L 2022)

KCP The official implementation of KCP: K-Closest Points and Maximum Clique Pruning for Efficient and Effective 3D Laser Scan Matching, accepted for p

mini-plugin host as plugin
mini-plugin host as plugin

DISTRHO Ildaeil DISTRHO Ildaeil is mini-plugin host working as a plugin, allowing one-to-one plugin format reusage. Load a VST2 plugin inside a LV2 ho

No loss LV2 sound effect plugin

B.Spacr Description: LV2 sound effect plugin B.Spacr is a unique LV2 effect plugin that enables a clear and brilliant audibility of your music product

A cross-platform (Android/iOS/Windows/macOS) cronet plugin for Flutter via `dart:ffi`

cronet_flutter A cross-platform (Android/iOS/Windows/macOS) cronet plugin for Flutter via dart:ffi

Multi-dimensional dynamically distorted staggered multi-bandpass LV2 plugin
Multi-dimensional dynamically distorted staggered multi-bandpass LV2 plugin

B.Angr A multi-dimensional dynamicly distorted staggered multi-bandpass LV2 plugin, for extreme soundmangling. Based on Airwindows XRegion. Key featur

Vimb - the vim like browser is a webkit based web browser that behaves like the vimperator plugin for the firefox and usage paradigms from the great editor vim.

Vimb - the vim like browser is a webkit based web browser that behaves like the vimperator plugin for the firefox and usage paradigms from the great editor vim. The goal of vimb is to build a completely keyboard-driven, efficient and pleasurable browsing-experience.

MHPatches is a plugin that brings some of PS2 features of Manhunt to the PC.
MHPatches is a plugin that brings some of PS2 features of Manhunt to the PC.

MHPatches Intro MHPatches is a plugin that brings some of PS2 features of Manhunt to the PC. Requirements UAL (https://github.com/ThirteenAG/Ultimate-

Bass21 tone plugin

Bass21 This VST3 is a virtual-analog simulation of the famous Bass Driver DI Version 1 preamp pedal from Tech21. The discretization, while far from be

Comments
  • Document pivot and jump implementation?

    Document pivot and jump implementation?

    The YouTube video was really helpful, would love something similar for utilizing your pivot and jump markers. Perhaps with the Paragon assets since they already contain the DistanceCurve and DistanceToApex curves.

    opened by jarrodspurrier 1
  • Curve Compression Settings 4.27

    Curve Compression Settings 4.27

    Trying to change the curve compression settings in 4.27 results in a crash to desktop. I have tested this on multiple machines with a brand new install of the engine/project. Is this something you are seeing too?

    opened by jodyalbritton 1
  • Curve Compression Settings 4.27

    Curve Compression Settings 4.27

    Trying to change the curve compression settings in 4.27 results in a crash to desktop. I have tested this on multiple machines with a brand new install of the engine/project. Is this something you are seeing too?

    opened by jodyalbritton 0
Owner
Roman Merkushin
Software Development Engineer in Test and Game Development Enthusiast
Roman Merkushin
GPU 3D signed distance field generator, written with DirectX 11 compute shader

GPU SDF Generator GPU 3D signed distance field generator, written with DirectX 11 compute shader Building git clone --recursive https://github.com/Air

Z Guan 30 Dec 13, 2022
multispectral monitoring of a sourdough starter; esp32 eink module, scd30 co2 sensor, vl6180 distance sensor

EINK STARTER MONITOR See full blogpost here Tracks height of starter with a VL6180 i2c distance sensor, and CO2/temperature/humidity with an SCD30. A

AKA 15 Feb 16, 2022
Example program demonstrating the Meijster's distance transform algorithm.

Distance Transform The distance transform operation consist in finding the shortest distance of a black pixel to a white one. This project demonstrate

Code In Colors 1 Nov 15, 2021
Implementation of bounded Levenshtein distance (Ukkonen)

ukkonen Implementation of bounded Levenshtein distance (Ukkonen) port this is a port of ukkonen from javascript to c++ / python via cffi. installation

Anthony Sottile 12 Nov 5, 2022
Functional programming style pattern-matching library for C++

Mach7: Pattern Matching for C++ by Yuriy Solodkyy, Gabriel Dos Reis, Bjarne Stroustrup Abstract Pattern matching is an abstraction mechanism that can

Yuriy Solodkyy 1.2k Dec 26, 2022
Simple header only pattern matching for c++14

Simple, Extensible C++ Pattern Matching Library I have recently been looking at Haskell and Rust. One of the things I wanted in C++ from those languag

John Bandela 210 Dec 30, 2022
Pan-Genomic Matching Statistics

SPUMONI Pan-genomic Matching Statistics for Targeted Nanopore Sequencing Based on MONI: A MEM-finder with Multi-Genome References. MONI index uses the

Omar Ahmed 27 Aug 27, 2022
fuzzy matching selection gui

fm === fm provides a gui to select an item from a list using a fuzzy matching algorithm. When an item is selected, it is sent to the plumber `send` po

phil9 12 Jan 6, 2023
An in-progress matching decompilation of Final Fantasy VII For the PSX.

FFVII An in-progress decompilation of the original US release of Final Fantasy VII on the PSX. Building (Linux) Install build dependencies The build p

null 17 Dec 14, 2022