Thanks, it worked.
Hello,
Does your IK Rig package for Android?
Thank you!
- s
No, itās only for PC VR.
Hi I am having a large amount of trouble getting this to work in 4.19. When I migrate the 4.18 demo project to a 4.19 project nothing works right. Any help would be extremely appreciated!
Basic projet for 4.19: https://drive.google.com/open?id=1K8xqpcoQOQEkD1EkyBhvR3QsSxO95v-A
Advanced (old) project with multiplayer for 4.19: https://drive.google.com/open?id=1UnytQDNgMknZT8H6df6RMvBZI0KYZOBB
I just purchased this plugin today. I followed the setup video (https://www.youtube.com/watch?v=CncQQyvaYZ4) using a new project. Iāve spent about 5 hours so far and still canāt get this plugin to work properly.
Iām going to echo Victorās point ā I have no idea what the steps are to ātryā a custom Skeletal Mesh in your template. Itās not clear. Could you provide these steps in the Doc, or here in the forum, or make an updated tutorial video with this information?
Iām in the process of retargeting, and renaming, and still having trouble. Iām also having to jump from forum page to forum page trying to get the most up-to-date infoā¦
Basic setup doesnāt change regardless of skeletal mesh. Donāt use demo project as a template. Instead, follow video tutorial (https://www.youtube.com/watch?v=CncQQyvaYZ4) to add support from scratch and then, if you donāt know how to add some feature (twist bones, walking animation, save/load calibration, fingers animation etc), copy if from demo project.
Common problems:
- Spelling mistake in bones names in the VRIKSkeletalMeshTranslator component.
- Sometimes UE4 doesnāt update settings in the player actor located at level. Solution: remove player actor from the scene and place a new one (donāt forget to set auto-possess checkbox).
Howdy, YuriNK,
Iām having a calibration issue. I followed your tutorial exactly, multiple times, using the default mannequin (besides the extra step to attach the head since the mannequinās head is attached). Iāve double-checked bone names, removed and re-added the actor to the map, etc., and Iām out of ideas. Iāve even double checked everything I do to what you do in the example project, and they seem the same (except for the more complicated rigging and rifle stuff which I ignored for the sake of simplicity).
The problem I see is: the mannequin seems to follow my general head location but none of the bones move. Heās in a default T-pose at all times. Any ideas about what might be the culprit?
Thanks in advance!
This doesnāt work for me. I have tried everything. Can we please get a sample project? Video tutorial didnāt help. Nothing moves.
Edit: The calibration functions donāt work. I am able to force the default setting, but the IK is terrible that way. Can we get some insight way calibration always fails?
Have you tried this project: https://drive.google.com/open?id=1K8xqpcoQOQEkD1EkyBhvR3QsSxO95v-A? Itās very close to the video tutorial/
Calibration requires two steps. First step: hands to left and right, trigger press. Seconds step: both hands down along body, trigger press.
Hey Yuri,
I notice that on the video tutorial youāre using the VR Template, so that all the motion controller stuff is already done, but can I use the plugin with a custom template, where the main difference will be that Iāll be using Vive Trackers?
Iām planning to use VR gloves, so I guess that also the calibration can be done by using delays on event begin play?
Are you sure that you mean this plugin and not ViveMocapKit? VR IK Body predicts an orientation of playerās torso. It doesnāt use Vive Trackers at all and, unfortunately, canāt get input from tracker event if you have it.
Yep, I mean this, since Iām planning to yse just the Vive HMD and the controllers.
My plan is to use the Trackers instead of the controllers, and ( correct me if Iām wrong ), but using the default VR Template I see in the tutorial, I shoudl be able to switch from the Left and Right controller to the Vive Trackers, by assigning Special1 and Special2, so in this case Iām not really changing/modifying anything related to the use of the VR IK Body, but rather changing the source of the motion controller by using the Trackersā¦I wonāt have the triggers to use, but thatāƬs not a big deal.
Iām asking this because Iām also testing the IKinema plugin, which basically does the same thing, and I switched from left and right controller to Special1 and Special2 in order to use the Trackers, and everything works as expected.
My plugin can get input from motion controller components (or any other scene components). I.e. you can simply add two motion controllers for trackers and bind them to the plugin as right hand and left hand.
Yes, it works with VR Template.
Perfect, I just wanted this confirmed, and having the driven lower body already done is a huge plus
No discount on the marketplace?
No, sells are good without discount
To be honest, default lower body animations is far from perfect. Itās better to use blend space.
Can you please create a function that allows us to deactivate the plugin in runtime? I couldnāt find anything in there to do that. Basically, there are situations (single player) where I only want hands to show, not body, but I have separate logic for hands-only. No need for all that IK logic running. I tried to Deactivate the component and do an IsValid on Tick, but it crashes with this error every time:
UE4Editor_Engine!USceneComponent::SetWorldLocationAndRotation() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\engine\private\components\scenecomponent.cpp:1418]
UE4Editor_VRIKBodyRuntime!UVRIKSkeletalMeshTranslator::UpdateSkeleton() [d:\build\++portal+dev-marketplace+full\sync\localbuilds\plugintemp\hostproject\plugins\vrikbody\source\vrikbodyruntime\private\vrikskeletalmeshtranslator.cpp:103]
UE4Editor_CoreUObject!UFunction::Invoke() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\coreuobject\private\uobject\class.cpp:4551]
UE4Editor_CoreUObject!UObject::CallFunction() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\coreuobject\private\uobject\scriptcore.cpp:763]
UE4Editor_CoreUObject!UObject::ProcessContextOpcode() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\coreuobject\private\uobject\scriptcore.cpp:2198]
UE4Editor_CoreUObject!UObject::ProcessInternal() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\coreuobject\private\uobject\scriptcore.cpp:985]
UE4Editor_CoreUObject!UObject::CallFunction() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\coreuobject\private\uobject\scriptcore.cpp:887]
UE4Editor_CoreUObject!UObject::ProcessInternal() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\coreuobject\private\uobject\scriptcore.cpp:985]
UE4Editor_CoreUObject!UObject::CallFunction() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\coreuobject\private\uobject\scriptcore.cpp:887]
UE4Editor_CoreUObject!UObject::ProcessInternal() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\coreuobject\private\uobject\scriptcore.cpp:985]
UE4Editor_CoreUObject!UObject::CallFunction() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\coreuobject\private\uobject\scriptcore.cpp:887]
UE4Editor_CoreUObject!UObject::ProcessInternal() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\coreuobject\private\uobject\scriptcore.cpp:985]
UE4Editor_CoreUObject!UFunction::Invoke() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\coreuobject\private\uobject\class.cpp:4551]
UE4Editor_CoreUObject!UObject::ProcessEvent() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\coreuobject\private\uobject\scriptcore.cpp:1345]
UE4Editor_Engine!AActor::ProcessEvent() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\engine\private\actor.cpp:687]
UE4Editor_Engine!AActor::ReceiveTick()
UE4Editor_Engine!AActor::Tick() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\engine\private\actor.cpp:888]
UE4Editor_Engine!AActor::TickActor() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\engine\private\actor.cpp:870]
UE4Editor_Engine!FActorTickFunction::ExecuteTick() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\engine\private\actor.cpp:134]
UE4Editor_Engine!FTickFunctionTask::DoTask() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\engine\private icktaskmanager.cpp:273]
UE4Editor_Engine!TGraphTask<FTickFunctionTask>::ExecuteTask() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\core\public\async askgraphinterfaces.h:829]
UE4Editor_Core!FNamedTaskThread::ProcessTasksNamedThread() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\core\private\async askgraph.cpp:665]
UE4Editor_Core!FNamedTaskThread::ProcessTasksUntilQuit() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\core\private\async askgraph.cpp:574]
UE4Editor_Core!FTaskGraphImplementation::WaitUntilTasksComplete() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\core\private\async askgraph.cpp:1355]
UE4Editor_Engine!FTickTaskSequencer::ReleaseTickGroup() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\engine\private icktaskmanager.cpp:542]
UE4Editor_Engine!FTickTaskManager::RunTickGroup() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\engine\private icktaskmanager.cpp:1449]
UE4Editor_Engine!UWorld::RunTickGroup() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\engine\private\leveltick.cpp:770]
UE4Editor_Engine!UWorld::Tick() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\engine\private\leveltick.cpp:1429]
UE4Editor_UnrealEd!UEditorEngine::Tick() [d:\build\++ue4+release-4.19+compile\sync\engine\source\editor\unrealed\private\editorengine.cpp:1693]
UE4Editor_UnrealEd!UUnrealEdEngine::Tick() [d:\build\++ue4+release-4.19+compile\sync\engine\source\editor\unrealed\private\unrealedengine.cpp:401]
UE4Editor!FEngineLoop::Tick() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\launch\private\launchengineloop.cpp:3339]
UE4Editor!GuardedMain() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\launch\private\launch.cpp:166]
UE4Editor!GuardedMainWrapper() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\launch\private\windows\launchwindows.cpp:144]
UE4Editor!WinMain() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\launch\private\windows\launchwindows.cpp:223]
UE4Editor!__scrt_common_main_seh() [f:\dd\vctools\crt\vcstartup\src\startup\exe_common.inl:253]
Plugin logics can be deactivated by VRIKBody:: DeactivateInput().
Iāll add a fix for crashes in the next update. For now: use DeactivateInput(); in pawnās Tick check VRIKBody::IsInitialized() and donāt call UpdateSkeleton() if it returns false.