jonasmolgaard / ubiksolver Goto Github PK
View Code? Open in Web Editor NEWUpper Body IK is an implementation inspired by Mathias Parger's Master thesis.
License: MIT License
Upper Body IK is an implementation inspired by Mathias Parger's Master thesis.
License: MIT License
I have a SkeletalMesh from the POLYGON Samurai package, which does not use the default UE4 mannequin skeleton. Is it possible to make it work with retargeting or something else?
How do I disable the moving of the hands with the camera, it causing offsets between my controllers and in game hands.
Thanks!
So we can follow the YouTube tutorial without having to separate the meshes ourselves.
Thanks!
While determining if the shoulder should be rotated back towards the hand, 0.08 is the distanceRatioThreshold. To create an area about 0 which has no rotation, within the range [-0.08, 0.5] it should be adding 0.08 not subtracting (since ForwardDistanceRatio is negative here).
(As an aside, VRIK actually had its own bug in this section but because the default back shoulder limit was 0, it didn't matter.)
The UPlugin file doesn't seem to work with the latest unreal engine version (5.3.0), and won't build properly due to some minor errors. (might just be me though, and I fixed the issue with a slightly modified UPlugin file)
*edit fixed some grammar for readability
{
"FileVersion": 3,
"Version": 1,
"VersionName": "1.1",
"FriendlyName": "UBIKSolver",
"Description": "UpperBody IK Solver",
"Category": "Animation",
"CreatedBy": "Sticky Snout Studio (Jonas Molgaard)",
"CreatedByURL": "https://stickysnoutstudio.com/",
"DocsURL": "",
"MarketplaceURL": "",
"SupportURL": "",
"CanContainContent": false,
"IsBetaVersion": false,
"Installed": false,
"SupportedTargetPlatforms": [
"Win64",
"Android"
],
"Modules": [
{
"Name": "UBIKRuntime",
"Type": "Runtime",
"LoadingPhase": "Default"
},
{
"Name": "UBIKEditor",
"Type": "UncookedOnly",
"LoadingPhase": "Default"
}
]
}
This is an issue I encountered while trying to get a build working on quest 2 (android). It did not include the animation blueprint which contained the UBIK node.
By adding
"SupportedTargetPlatforms": [
"Win64",
"Android"
]
to the UBIKSolver.uplugin I got it included in the build for Windows (HTC-Vive) and Android (Oculus Quest 2) on UE 5.1.1.
Hi, I know this plugin is made for UE4 but its been working great on UE5 until Preview 1. This is the error I get.
Procedure entry point ?OneVector@FVector@@2U1@B could not be located in the dynamic link library.
Could you please add a license (hopefully MIT) to the repo? :)
First, slashes need to be fixed in AnimGraphNode_UBIKSolver.cpp to be cross-platform and not Windows-only. e.g.,
#include "../Public/AnimGraphNode_UBIKSolver.h"
Environment: MacOS Monterey 12.6 (21G115)
Hardware: MacBook Pro 2.9 Ghz intel Core i9
Compiler: Xcode 14.0.1
Unreal Engine 4.27.2
Second, running in to this linker error I can't solve:
[Adaptive unity build] Excluded from UBIKEditor unity file: AnimGraphNode_UBIKSolver.cpp
Performing 4 actions (12 in parallel)
[1/4] Compile Module.UBIKEditor.cpp
[2/4] Compile AnimGraphNode_UBIKSolver.cpp
[3/4] Link UE4Editor-UBIKEditor.dylib
Undefined symbols for architecture x86_64:
"vtable for FAnimNode_SkeletalControlBase", referenced from:
UAnimGraphNode_UBIKSolver::~UAnimGraphNode_UBIKSolver() in AnimGraphNode_UBIKSolver.cpp.o
UAnimGraphNode_UBIKSolver::~UAnimGraphNode_UBIKSolver() in AnimGraphNode_UBIKSolver.cpp.o
NOTE: a missing vtable usually means the first non-inline virtual member function has no definition.
ld: symbol(s) not found for architecture x86_64
0>clang: Error : linker command failed with exit code 1 (use -v to see invocation)
Build failed at 10:18:24 AM
In the first set of code, UpperArmsDistance appears to be the distance from the shoulder center to the distinct shoulder:
But in the distinct shoulder rotation solver, there is a divide by two on the UpperArmsDistance. Indicating in this spot that it is meant to indicate the distance between the distinct shoulders, not the distance from shoulder center to distinct shoulder:
This is likely throwing off your shoulder rotation solve. To fix this, either the ArmLength should be calculated as:
Settings.ArmLength = (Calibration.Height - Calibration.UpperArmsDistance) / 2.0f;
OR the divide by two should be removed:
const FVector InitialUpperArmTranslation = FVector::RightVector * Settings.UpperArmsDistance * Sign;
I tried setting this up using a default VR Template in UE 5.3, and everything works. The only issue that I'm having is that the UBIK mannequin hands are offset from the VR Template hands. None of the hand positions align with the VR Template hands, such as Left Grip, Left Aim, or just Left. Trying to make adjustments to the UBIK settings defaults for Local Hand Offset & Local Hand Rotation Offset is a nightmare. I just want to be able to get these hands to align with the VR Template provided hands so that grabbing works correctly.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.