Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
125 commits
Select commit Hold shift + click to select a range
29b5caa
Add CXXFlags for Msvc in case of no exception
Nov 5, 2023
172ca17
Added custom query weight for k_nearest_neighbors.
Nov 5, 2023
d587169
Added some animation post processing
Nov 6, 2023
ef5d498
Preparing things
Nov 8, 2023
e2ef2e8
Saving
Nov 13, 2023
9f6273c
Removed normalization. PP renaming
Nov 19, 2023
c91694b
Big renaming
Nov 19, 2023
f2580da
Spring to real_t
Nov 19, 2023
90bbe63
update gitignore
Nov 19, 2023
8569832
Removed binaries
Nov 19, 2023
b57ecf0
Added info in README. Type in PPInertialization
Nov 19, 2023
0d44cfe
Some change to readme
Nov 19, 2023
ff1fba3
Precision
Nov 20, 2023
1022733
Readded normalization with options
Nov 25, 2023
28e8b05
update to 4.2
Dec 4, 2023
80cf79f
compiling on 4.2 stable
Dec 4, 2023
30e6fa7
Embed variant, fix mixer active inertialization
Dec 6, 2023
7b85503
Saving changes to MMEditorPanel
Dec 14, 2023
304f5f0
Fix a whole lot of error on Tags
Dec 18, 2023
0d91cad
Editor rewrite. setup_profile to setup_bake_init
Dec 22, 2023
77b1eef
renamed setup_for_animation to setup_bake_animation
Dec 22, 2023
d75798e
Timings seems to works ish
Dec 24, 2023
85e98c5
Small changes here and there
Dec 27, 2023
f241fc4
Distance is working, but not perfect yet
Jan 1, 2024
5f92cb4
Saving
Jan 5, 2024
697f211
too much to count
Remi123 Jan 19, 2024
081273f
MFEvent
Remi123 Feb 3, 2024
153391f
Part of distance is ok.
Remi123 Feb 13, 2024
5f1e965
Removed unused classes
Remi123 Feb 15, 2024
a7eddf0
Removed ref to unused classes
Remi123 Feb 15, 2024
6544adb
Add offset decay algo in PPInertialization
Remi123 Feb 15, 2024
befc2aa
duration to halflife in spring
Remi123 Feb 15, 2024
3763d3a
StdDev instead of Variance fix all my issues... a simple sqrt that wa…
Remi123 Feb 20, 2024
86f635e
Removed warp. not ready and I'm missing info
Remi123 Feb 22, 2024
7b2679f
Std Dev instead of Variance. Fix almost everything
Remi123 Feb 22, 2024
7bde85b
traj feature now a Vector2 from direction
Remi123 Feb 22, 2024
8d93e83
Small refactoring. Mostly unuseful
Remi123 Feb 22, 2024
254d415
Clang-format
Remi123 Feb 22, 2024
1711865
MFBoneInfo Serialize PPInertialization3D
Remi123 Feb 24, 2024
948b3a0
BoneInfo now bake relative to a bone higher in the hierarchy. Soon any
Remi123 Feb 25, 2024
166f11a
Any bone can be
Remi123 Mar 4, 2024
7ef5619
Fix issues with serialize query. DataPanel now unnormalize
Remi123 Mar 4, 2024
cea3e1b
Fix issues with trajectory
Remi123 Mar 6, 2024
aff816e
Fix trajectory. Started adding calculate cost
Remi123 Mar 8, 2024
24da210
Calculate cost for Trajectory
Remi123 Mar 8, 2024
d3577c2
Rename
Remi123 Mar 8, 2024
3190a1c
Bone calculate cost rotation
Remi123 Mar 8, 2024
bf8457c
Fix some issues on the calculation
Remi123 Mar 8, 2024
272783c
Huge progress.
Remi123 Mar 13, 2024
2ab6e26
Aabb (#30)
Remi123 Mar 27, 2024
71ea748
Boneinfo Vel with root motion .
Remi123 Mar 27, 2024
01e4516
update readme with todo
Remi123 Mar 28, 2024
7520cb0
Added category penality.
Remi123 Mar 28, 2024
213f8e9
Updaetd PP to MM
Remi123 Mar 28, 2024
0c79de5
added missing info in readme
Remi123 Mar 28, 2024
dda60cc
Added Ref to paper
Remi123 Mar 28, 2024
8915565
spring todo
Remi123 Mar 28, 2024
ce977ce
created the 4 space kform obtention from animation.
Remi123 Mar 28, 2024
b5dfe69
The code compile, let's do some tests soon
Remi123 Mar 29, 2024
03584bb
Removed no exception thingy in sconstruct
Remi123 Mar 30, 2024
b3f6ab5
Update Readme
Remi123 Mar 30, 2024
01e6107
Tested how to do virtual
Remi123 Mar 30, 2024
8ff36eb
Oups, fixed Data panel
Remi123 Apr 1, 2024
9c759d6
Finally able to use gdscript in baking. ready to merge
Remi123 Apr 1, 2024
69f90ec
Changed where we calculate the weights
Remi123 Apr 2, 2024
3435f7d
Oups forgot to remove some test files
Remi123 Apr 2, 2024
5630b88
format
Remi123 Apr 2, 2024
1736037
Added Trajectory predict, and a few other fix in predictoin
Remi123 Apr 3, 2024
13732a9
Fix error in bone info
Remi123 Apr 3, 2024
3931822
Added some signals
Remi123 Apr 8, 2024
9dbe38f
Some fix in MFDistance and MFEvents
Remi123 Apr 8, 2024
70bbd5e
MFDistance is now taking the skeleton_name into consideration.
Remi123 Apr 8, 2024
70af0d3
Added InertializationCost to boneinfo
Remi123 Apr 9, 2024
b6e7a5f
Latest changes
Remi123 Apr 10, 2024
ef42e09
Upgrade to latest godot_cpp
Remi123 Apr 10, 2024
c441d5b
Now use custom Api files. No more waiting
Remi123 Apr 10, 2024
44bb278
Moving CircularBuffer to Util
Remi123 Apr 10, 2024
e6bce30
Spring and Kform to Math
Remi123 Apr 10, 2024
97af065
Clang-format
Remi123 Apr 10, 2024
296e2ad
Clang-format
Remi123 Apr 10, 2024
65429b5
Merge branch 'event_features' of https://github.com/Remi123/MotionMat…
Remi123 Apr 10, 2024
a99ab9f
Migrated MMInertialization to inherit skeletonmodifier3d
Remi123 Apr 14, 2024
1d0312f
Modifier to Ik for now
Remi123 Apr 14, 2024
d78f410
First commit for indexset
Remi123 Apr 14, 2024
3beb3ff
update gdext
Remi123 Apr 21, 2024
44e80be
First impl with SetRangeIndex
Remi123 Apr 27, 2024
56cadd6
SetRangeIndex Fix, RemoveRange
Remi123 Apr 29, 2024
41e22ed
Rasterize Category
Remi123 Apr 29, 2024
519c7b0
indices
Remi123 Apr 30, 2024
3cea818
Contains
Remi123 May 1, 2024
a007a97
Continuation Bias
Remi123 May 3, 2024
c270cfc
fix bias
Remi123 May 5, 2024
17439c5
continuation bias
Remi123 May 5, 2024
02005c3
Calculation
Remi123 May 13, 2024
5b4e2ff
Fix add category
Remi123 May 14, 2024
e0c0b21
Fix MMInertialization's serialize
Remi123 May 28, 2024
ad2385e
Fix issues with junk tag when baking when bigger than anim.
Remi123 May 30, 2024
108fe43
format
Remi123 May 30, 2024
935829a
Fix using image that always changed Id in tscn
Remi123 Jun 2, 2024
72caafc
icons image
Remi123 Jun 5, 2024
ecf42db
before big refactor
Remi123 Jun 30, 2024
3900ebb
remove previous gizmo debug
Remi123 Jun 30, 2024
ab72d2d
huge refactor. starting tests
Remi123 Jul 1, 2024
6ab3279
Able to bake
Remi123 Jul 2, 2024
4d5d534
Removed kdtree.
Remi123 Jul 18, 2024
666b2c8
Lots of changes
Remi123 Jul 22, 2024
02e8126
Another days of refactor
Remi123 Aug 2, 2024
3e44fe4
First phase of taking from other branch
Remi123 Aug 16, 2024
e659cc9
Copying things. too many changes
Remi123 Aug 16, 2024
c469416
License and builds action
Remi123 Aug 16, 2024
bb01322
Merge branch 'main' into event_features
Remi123 Aug 16, 2024
7661cc2
fix artifacts
Remi123 Aug 16, 2024
0e660e5
artifact
Remi123 Aug 16, 2024
dc5d21c
typo windows is no match case, linux yes
Remi123 Aug 16, 2024
6b01ecb
Let's try this
Remi123 Aug 16, 2024
7c32864
artifacts
Remi123 Aug 16, 2024
94b7ce0
artifact
Remi123 Aug 16, 2024
eb2822f
artifacts macos
Remi123 Aug 16, 2024
64bbe4a
format on linux
Remi123 Aug 16, 2024
16cd2b2
boost platform_version
Remi123 Aug 16, 2024
6e2de92
removed format
Remi123 Aug 16, 2024
9ddc758
new gitignore,testing
Remi123 Aug 20, 2024
e5bb785
dlls
Remi123 Aug 20, 2024
b50422d
Saving dll
Remi123 Aug 20, 2024
9060d84
release_build dlls
Remi123 Aug 20, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
199 changes: 199 additions & 0 deletions .clang-format
Original file line number Diff line number Diff line change
@@ -0,0 +1,199 @@
# Commented out parameters are those with the same value as base LLVM style.
# We can uncomment them if we want to change their value, or enforce the
# chosen value in case the base style changes (last sync: Clang 14.0).
---
### General config, applies to all languages ###
BasedOnStyle: LLVM
AccessModifierOffset: -4
AlignAfterOpenBracket: DontAlign
# AlignArrayOfStructures: None
# AlignConsecutiveMacros: None
# AlignConsecutiveAssignments: None
# AlignConsecutiveBitFields: None
# AlignConsecutiveDeclarations: None
# AlignEscapedNewlines: Right
AlignOperands: DontAlign
AlignTrailingComments: false
# AllowAllArgumentsOnNextLine: true
AllowAllParametersOfDeclarationOnNextLine: false
# AllowShortEnumsOnASingleLine: true
# AllowShortBlocksOnASingleLine: Never
# AllowShortCaseLabelsOnASingleLine: false
# AllowShortFunctionsOnASingleLine: All
# AllowShortLambdasOnASingleLine: All
# AllowShortIfStatementsOnASingleLine: Never
# AllowShortLoopsOnASingleLine: false
# AlwaysBreakAfterDefinitionReturnType: None
# AlwaysBreakAfterReturnType: None
# AlwaysBreakBeforeMultilineStrings: false
# AlwaysBreakTemplateDeclarations: MultiLine
# AttributeMacros:
# - __capability
# BinPackArguments: true
# BinPackParameters: true
# BraceWrapping:
# AfterCaseLabel: false
# AfterClass: false
# AfterControlStatement: Never
# AfterEnum: false
# AfterFunction: false
# AfterNamespace: false
# AfterObjCDeclaration: false
# AfterStruct: false
# AfterUnion: false
# AfterExternBlock: false
# BeforeCatch: false
# BeforeElse: false
# BeforeLambdaBody: false
# BeforeWhile: false
# IndentBraces: false
# SplitEmptyFunction: true
# SplitEmptyRecord: true
# SplitEmptyNamespace: true
# BreakBeforeBinaryOperators: None
# BreakBeforeConceptDeclarations: true
# BreakBeforeBraces: Attach
# BreakBeforeInheritanceComma: false
# BreakInheritanceList: BeforeColon
# BreakBeforeTernaryOperators: true
# BreakConstructorInitializersBeforeComma: false
BreakConstructorInitializers: AfterColon
# BreakStringLiterals: true
ColumnLimit: 0
# CommentPragmas: '^ IWYU pragma:'
# QualifierAlignment: Leave
# CompactNamespaces: false
ConstructorInitializerIndentWidth: 8
ContinuationIndentWidth: 8
Cpp11BracedListStyle: false
# DeriveLineEnding: true
# DerivePointerAlignment: false
# DisableFormat: false
# EmptyLineAfterAccessModifier: Never
# EmptyLineBeforeAccessModifier: LogicalBlock
# ExperimentalAutoDetectBinPacking: false
# PackConstructorInitializers: BinPack
ConstructorInitializerAllOnOneLineOrOnePerLine: true
# AllowAllConstructorInitializersOnNextLine: true
# FixNamespaceComments: true
# ForEachMacros:
# - foreach
# - Q_FOREACH
# - BOOST_FOREACH
# IfMacros:
# - KJ_IF_MAYBE
# IncludeBlocks: Preserve
IncludeCategories:
- Regex: '".*"'
Priority: 1
- Regex: '^<.*\.h>'
Priority: 2
- Regex: '^<.*'
Priority: 3
# IncludeIsMainRegex: '(Test)?$'
# IncludeIsMainSourceRegex: ''
# IndentAccessModifiers: false
IndentCaseLabels: true
# IndentCaseBlocks: false
# IndentGotoLabels: true
# IndentPPDirectives: None
# IndentExternBlock: AfterExternBlock
# IndentRequires: false
IndentWidth: 4
# IndentWrappedFunctionNames: false
# InsertTrailingCommas: None
# JavaScriptQuotes: Leave
# JavaScriptWrapImports: true
KeepEmptyLinesAtTheStartOfBlocks: false
# LambdaBodyIndentation: Signature
# MacroBlockBegin: ''
# MacroBlockEnd: ''
# MaxEmptyLinesToKeep: 1
# NamespaceIndentation: None
# PenaltyBreakAssignment: 2
# PenaltyBreakBeforeFirstCallParameter: 19
# PenaltyBreakComment: 300
# PenaltyBreakFirstLessLess: 120
# PenaltyBreakOpenParenthesis: 0
# PenaltyBreakString: 1000
# PenaltyBreakTemplateDeclaration: 10
# PenaltyExcessCharacter: 1000000
# PenaltyReturnTypeOnItsOwnLine: 60
# PenaltyIndentedWhitespace: 0
# PointerAlignment: Right
# PPIndentWidth: -1
# ReferenceAlignment: Pointer
# ReflowComments: true
# RemoveBracesLLVM: false
# SeparateDefinitionBlocks: Leave
# ShortNamespaceLines: 1
# SortIncludes: CaseSensitive
# SortJavaStaticImport: Before
# SortUsingDeclarations: true
# SpaceAfterCStyleCast: false
# SpaceAfterLogicalNot: false
# SpaceAfterTemplateKeyword: true
# SpaceBeforeAssignmentOperators: true
# SpaceBeforeCaseColon: false
# SpaceBeforeCpp11BracedList: false
# SpaceBeforeCtorInitializerColon: true
# SpaceBeforeInheritanceColon: true
# SpaceBeforeParens: ControlStatements
# SpaceBeforeParensOptions:
# AfterControlStatements: true
# AfterForeachMacros: true
# AfterFunctionDefinitionName: false
# AfterFunctionDeclarationName: false
# AfterIfMacros: true
# AfterOverloadedOperator: false
# BeforeNonEmptyParentheses: false
# SpaceAroundPointerQualifiers: Default
# SpaceBeforeRangeBasedForLoopColon: true
# SpaceInEmptyBlock: false
# SpaceInEmptyParentheses: false
# SpacesBeforeTrailingComments: 1
# SpacesInAngles: Never
# SpacesInConditionalStatement: false
# SpacesInContainerLiterals: true
# SpacesInCStyleCastParentheses: false
## Godot TODO: We'll want to use a min of 1, but we need to see how to fix
## our comment capitalization at the same time.
SpacesInLineCommentPrefix:
Minimum: 0
Maximum: -1
# SpacesInParentheses: false
# SpacesInSquareBrackets: false
# SpaceBeforeSquareBrackets: false
# BitFieldColonSpacing: Both
# StatementAttributeLikeMacros:
# - Q_EMIT
# StatementMacros:
# - Q_UNUSED
# - QT_REQUIRE_VERSION
TabWidth: 4
# UseCRLF: false
UseTab: Always
# WhitespaceSensitiveMacros:
# - STRINGIZE
# - PP_STRINGIZE
# - BOOST_PP_STRINGIZE
# - NS_SWIFT_NAME
# - CF_SWIFT_NAME
---
### C++ specific config ###
Language: Cpp
Standard: c++17
---
### ObjC specific config ###
Language: ObjC
# ObjCBinPackProtocolList: Auto
ObjCBlockIndentWidth: 4
# ObjCBreakBeforeNestedBlockParam: true
# ObjCSpaceAfterProperty: false
# ObjCSpaceBeforeProtocolList: true
---
### Java specific config ###
Language: Java
# BreakAfterJavaFieldAnnotations: false
JavaImportGroups: ['org.godotengine', 'android', 'androidx', 'com.android', 'com.google', 'java', 'javax']
...
21 changes: 21 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
root = true

[*]
charset = utf-8
end_of_line = lf
indent_style = tab
insert_final_newline = true
trim_trailing_whitespace = true

[{*.gradle,AndroidManifest.xml}]
indent_style = space
indent_size = 4

[{*.py,SConstruct,SCsub}]
indent_style = space
indent_size = 4

# YAML requires indentation with spaces instead of tabs.
[*.{yml,yaml}]
indent_style = space
indent_size = 2
Empty file added .gdignore
Empty file.
2 changes: 2 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
# Normalize EOL for all files that Git considers text files.
* text=auto eol=lf
25 changes: 12 additions & 13 deletions .github/workflows/build-addons.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ on:
workflow_dispatch:

env:
LIBRARY_PATH: addons/MotionMatching/bin
LIBRARY_PATH: demo/addons/MotionMatching/

jobs:
build:
Expand Down Expand Up @@ -99,7 +99,7 @@ jobs:
- identifier: linux-debug-single
os: ubuntu-latest
name: 🐧 Linux Debug (Single Precision)
runner: ubuntu-22.04
runner: ubuntu-24.04
target: template_debug
platform: linux
arch: x86_64
Expand All @@ -109,7 +109,7 @@ jobs:
- identifier: linux-debug-double
os: ubuntu-latest
name: 🐧 Linux Debug (Double Precision)
runner: ubuntu-22.04
runner: ubuntu-24.04
target: template_debug
platform: linux
arch: x86_64
Expand All @@ -119,7 +119,7 @@ jobs:
- identifier: linux-release-single
os: ubuntu-latest
name: 🐧 Linux Release (Single Precision)
runner: ubuntu-22.04
runner: ubuntu-24.04
target: template_release
platform: linux
arch: x86_64
Expand All @@ -129,7 +129,7 @@ jobs:
- identifier: linux-release-double
os: ubuntu-latest
name: 🐧 Linux Release (Double Precision)
runner: ubuntu-22.04
runner: ubuntu-24.04
target: template_release
platform: linux
arch: x86_64
Expand Down Expand Up @@ -160,7 +160,7 @@ jobs:
id: install-boost
uses: MarkusJx/install-boost@v2.4.4
with:
boost_version: 1.81.0
boost_version: 1.83.0
# The toolset used to compile boost, e.g. "msvc"
toolset: ${{ matrix.toolset }} # optional, default is
# The platform version boost was compiled on, e.g. "18.04"
Expand Down Expand Up @@ -197,16 +197,15 @@ jobs:
${{ github.workspace }}/godot-cpp/include
${{ github.workspace }}/godot-cpp/gen
key: ${{ runner.os }}-${{ env.SUBMODULE_HASH }}
- name: Compile Godot Library
if: steps.cache-godot-cpp.outputs.cache-hit != 'true'
run: |
scons -j8 platform=${{ matrix.platform }} target=${{ matrix.target }} arch=${{ matrix.arch }}
working-directory: godot-cpp

# - name: Compile Godot Library
# if: steps.cache-godot-cpp.outputs.cache-hit != 'true'
# run: |
# scons platform=${{ matrix.platform }} target=${{ matrix.target }} arch=${{ matrix.arch }} precision=${{ matrix.precision }}
# working-directory: godot-cpp

- name: Compile Addon
run: scons
disable_exceptions=false
platform=${{ matrix.platform }}
target=${{ matrix.target }}
arch=${{ matrix.arch }}
Expand Down
75 changes: 43 additions & 32 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,42 +1,53 @@
# Import settings
*.import
# Godot 4+ specific ignores
.godot/

# Prerequisites
*.d

# Compiled Object files
*.slo
*.lo
*.o
*.obj
demo/assets/**
!demo/assets/animations
!demo/assets/animations/.gitkeep
!demo/assets/resources
!demo/assets/resources/.gitkeep
!demo/assets/models/**
# Ignore library files but not the gdextension file
# demo/addons/MotionMatching/bin/*

!demo/addons/MotionMatching/editor/**
!*/libMotionMatching*
!demo/addons/MotionMatching/MotionMatching.gdextension
.sconsign*.dblite

# Precompiled Headers
*.gch
*.pch
src/gen/*

# Compiled Dynamic libraries
*.dylib
*.pdb
*.dll
*.ilk
*.exp
!*.gitkeep

# Ignore custom.py
custom.py

# Fortran module files
*.mod
*.smod
# Ignore generated compile_commands.json
compile_commands.json

# Compiled Static libraries
*.lai
*.la
*.a
# Binaries
*.o
*.os
*.so
*.obj
*.bc
*.pyc
*.dblite
*.pdb
*.lib
*.config
*.creator
*.creator.user
*.files
*.includes
*.idb
*.exp

# Executables
*.exe
*.out
*.app
# Other stuff
*.log

# Scons
.vscode/
.sconsign.dblite
# VSCode
.vscode/*
!.vscode/extensions.json
.DS_Store
2 changes: 1 addition & 1 deletion .gitmodules
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
[submodule "godot-cpp"]
path = godot-cpp
url = https://github.com/godotengine/godot-cpp.git
branch = master
branch = 4.3
Loading