Announcement

Collapse
No announcement yet.

Dragon IK (Inverse Kinematics) Plugin [SUPPORT]

Collapse
X
  • Time
  • Show
Clear All
new posts

    #31
    When setting up a character there is a problem bending the legs at the knees, they bend sideways, and on a standard mannequin everything works correctly.
    Help me solve this problem.

    Comment


      #32
      I think Im having the same problem as Yota_13 on the product page. The feet are eratically flipping in different directions. Did you guys solve that in Discord? Increasing the trace height below feet doesnt seem to work.

      Comment


        #33
        Originally posted by Alveo Mundi View Post
        When setting up a character there is a problem bending the legs at the knees, they bend sideways, and on a standard mannequin everything works correctly.
        Help me solve this problem.
        set the feet yaw offset inside your foot array data. A couple of posts ago i showed an example for overall offset of your knee angle.

        btw, i notice you tested it on the ref pose of the character, but what about when using any proper idle animations or when running ? The plugin logic takes care of the bending of the legs based on the current posing angle of the leg. If the leg is bent slightly in any direction, the ik bending happens only in that particular direction. That is why the mannequin handles the knee bending well, because the idle animation of the mannequin already slightly bends the knee in the forward direction.

        Click image for larger version  Name:	knee_offseting.PNG Views:	1 Size:	283.6 KB ID:	1542064
        Last edited by codehawk64; 10-21-2018, 05:50 AM.

        Comment


          #34
          I think the previous discord link might've expired or became invalid. Generated a new one here.

          https://discord.gg/XdBWW2U

          Comment


            #35
            Thank you very much for your reply. I will follow your advice on setting. The result I will write. Thank you again.

            Comment


              #36
              Originally posted by Alveo Mundi View Post
              Thank you very much for your reply. I will follow your advice on setting. The result I will write. Thank you again.
              sure. let me know how it goes.

              Comment


                #37
                Originally posted by ChunkySmoove View Post
                I think Im having the same problem as Yota_13 on the product page. The feet are eratically flipping in different directions. Did you guys solve that in Discord? Increasing the trace height below feet doesnt seem to work.
                not fully solved. Turns out the flipping problem seems to happen in multiplayer for some reason while the problem isn't that bad in single player. still not fully understood on why that happens to yota_13. So you also have the flipping foot rotation or the bad knee bending ? Did you try the example project with the mannequin ?

                Edit: For yota_13 his situation was greatly improved when reducing the shift speed in the foot solver from 5 to 2 or 3. You can also try that and see if that helps.
                Last edited by codehawk64; 10-24-2018, 04:32 PM.

                Comment


                  #38
                  In the latest update (1.0.2) the ik can work on snakes,worms and other critters that doesn't have legs.

                  Additionally, the option of custom selecting the knees and thighs are introduced for the foot solver. Before, the plugin automatically recursively figure out what is the knee and thigh based on the feet array data. This is useful on certain rigs that does not have a linear feet structure, such as having additional bones between the thigh-knee-feet. Custom selection of knee and thighs can be enabled when unchecking the 'automatic knee/thigh detection' in the foot solver.

                  Also submitted the plugin for 4.21 recently, should expect an update from epic soon regarding the same.

                  Comment


                    #39
                    version 1.0.3 is updated and live in the marketplace with some bug fixes related to manual foot-knee-thigh detection mode as well as the extra dip on up/down slopes settings

                    Comment


                      #40
                      I have a question: The regular UE IK node does not work with setups like the DAZ G8 skeleton where you have a squence like UpperArmBend-LowerArmBend-LowerArmTwist-Hand.
                      The twist inbetween the hand and LowerArmBend is interpreted as a regular bendable bone which makes the whole IK system useless for me.
                      Is your system able to ignore such a bone and only operate on the two enclosing bend bones?

                      Comment


                        #41
                        Hi codehawk64,

                        when in editor your plugin frequintly crashes,
                        Ex: Spider Blueprint or Spider Animblueprint is open in the background
                        Can we disable editor features?

                        I have the latest version of your plugin and UE 4.21.
                        Here is the crash log:

                        LoginId:efc31eb948c14da33b0b41acc6eb7fda
                        EpicAccountId:32a2e88791bd4ad789ad813c0809d254

                        Assertion failed: (Index >= 0) & (Index < ArrayNum) [File:\Build\++UE4\Sync\Engine\Source\Runtime\Core\Public\Containers/Array.h] [Line: 611] Array index out of bounds: 1067 from an array of size 1067

                        UE4Editor_Core!FDebug::AssertFailed() [d:\build\++ue4\sync\engine\source\runtime\core\private\misc\assertionmacros.cpp:417]
                        UE4Editor_Engine!operator new<FBatchedLine,FDefaultAllocator>() [d:\build\++ue4\sync\engine\source\runtime\core\public\containers\array.h:2849]
                        UE4Editor_Engine!ULineBatchComponent:rawLine() [d:\build\++ue4\sync\engine\source\runtime\engine\private\components\linebatchcomponent.cpp:129]
                        UE4Editor_Engine!DrawDebugLine() [d:\build\++ue4\sync\engine\source\runtime\engine\private\drawdebughelpers.cpp:42]
                        UE4Editor_Engine!DrawDebugLineTraceSingle() [d:\build\++ue4\sync\engine\source\runtime\engine\private\kismettraceutils.cpp:133]
                        UE4Editor_Engine!UKismetSystemLibrary::LineTraceSingle() [d:\build\++ue4\sync\engine\source\runtime\engine\private\kismetsystemlibrary.cpp:1338]
                        UE4Editor_DragonIKPlugin!FAnimNode_DragonSpineSolver::line_trace_func() [d:\build\++portal+dev-marketplace+full\sync\localbuilds\plugintemp\hostproject\plugins\dragonikplugin\source\dragonikplugin\private\animnode_dragonspinesolver.cpp:1744]
                        UE4Editor_DragonIKPlugin!FAnimNode_DragonSpineSolver::UpdateInternal() [d:\build\++portal+dev-marketplace+full\sync\localbuilds\plugintemp\hostproject\plugins\dragonikplugin\source\dragonikplugin\private\animnode_dragonspinesolver.cpp:686]
                        UE4Editor_DragonIKPlugin!FAnimNode_DragonSpineSolver::Update_AnyThread() [d:\build\++portal+dev-marketplace+full\sync\localbuilds\plugintemp\hostproject\plugins\dragonikplugin\source\dragonikplugin\private\animnode_dragonspinesolver.cpp:56]
                        UE4Editor_Engine!FPoseLinkBase::Update() [d:\build\++ue4\sync\engine\source\runtime\engine\private\animation\animnodebase.cpp:241]
                        UE4Editor_DragonIKPlugin!FAnimNode_DragonFeetSolver::Update_AnyThread() [d:\build\++portal+dev-marketplace+full\sync\localbuilds\plugintemp\hostproject\plugins\dragonikplugin\source\dragonikplugin\private\animnode_dragonfeetsolver.cpp:45]
                        UE4Editor_Engine!FPoseLinkBase::Update() [d:\build\++ue4\sync\engine\source\runtime\engine\private\animation\animnodebase.cpp:241]
                        UE4Editor_Engine!FPoseLinkBase::Update() [d:\build\++ue4\sync\engine\source\runtime\engine\private\animation\animnodebase.cpp:241]
                        UE4Editor_Engine!FAnimInstanceProxy::UpdateAnimationNode() [d:\build\++ue4\sync\engine\source\runtime\engine\private\animation\animinstanceproxy.cpp:46]
                        UE4Editor_Engine!FAnimInstanceProxy::UpdateAnimation() [d:\build\++ue4\sync\engine\source\runtime\engine\private\animation\animinstanceproxy.cpp:1112]
                        UE4Editor_Engine!UAnimInstance::ParallelUpdateAnimation() [d:\build\++ue4\sync\engine\source\runtime\engine\private\animation\animinstance.cpp:569]
                        UE4Editor_Engine!USkeletalMeshComponent::PerformAnimationProcessing() [d:\build\++ue4\sync\engine\source\runtime\engine\private\components\skeletalmeshcomponent.cpp:1775]
                        UE4Editor_Engine!FParallelAnimationEvaluationTask:oTask() [d:\build\++ue4\sync\engine\source\runtime\engine\private\components\skeletalmeshcomponent.cpp:113]
                        UE4Editor_Engine!TGraphTask<FParallelAnimationEvaluationTask>::ExecuteTask() [d:\build\++ue4\sync\engine\source\runtime\core\public\async\taskgraphinterfaces.h:829]
                        UE4Editor_Core!FTaskThreadAnyThread::ProcessTasks() [d:\build\++ue4\sync\engine\source\runtime\core\private\async\taskgraph.cpp:1022]
                        UE4Editor_Core!FTaskThreadAnyThread::ProcessTasksUntilQuit() [d:\build\++ue4\sync\engine\source\runtime\core\private\async\taskgraph.cpp:847]
                        UE4Editor_Core!FTaskThreadAnyThread::Run() [d:\build\++ue4\sync\engine\source\runtime\core\private\async\taskgraph.cpp:923]
                        UE4Editor_Core!FRunnableThreadWin::Run() [d:\build\++ue4\sync\engine\source\runtime\core\private\windows\windowsrunnablethread.cpp

                        Comment


                          #42
                          Originally posted by Wallenstein View Post
                          I have a question: The regular UE IK node does not work with setups like the DAZ G8 skeleton where you have a squence like UpperArmBend-LowerArmBend-LowerArmTwist-Hand.
                          The twist inbetween the hand and LowerArmBend is interpreted as a regular bendable bone which makes the whole IK system useless for me.
                          Is your system able to ignore such a bone and only operate on the two enclosing bend bones?

                          Sorry for the late reply. It will absolutely work.

                          Just recently a user asked me the same thing regarding his daz human rig, with its problem of having multiple bones between the thigh bone and the feet bone which is not supported by unreal default two-bone ik system. I modified the plugin to support such problems by being able to explicitly define what are the thigh,knee and foot bones. The plugin by default uses the normal unreal method of automatically detecting the thigh-knee-foot just by the foot input alone. But by disabling 'Enable Automatic thigh feet foot detection' you can specify the exact thigh and knee along with the foot for your character. There can be many bones between the thigh and knee or the knee and foot but the explicit thigh and knee will be used only for the bending. But i do have to give a heads up that whatever i mentioned will only be good for the feets, because the ik can only react to terrains and platforms currently and not for holding and reaching objects and specific target points using either the hands or feet.

                          Long answer short, the plugin can work on daz rigs which cannot be handled by unreal native two-bone ik system. Good for foot ik for responding to terrains but not designed for hands.

                          Comment


                            #43
                            Originally posted by NailGUNNERX View Post
                            Hi codehawk64,

                            when in editor your plugin frequintly crashes,
                            Ex: Spider Blueprint or Spider Animblueprint is open in the background
                            Can we disable editor features?

                            I have the latest version of your plugin and UE 4.21.
                            Here is the crash log:

                            LoginId:efc31eb948c14da33b0b41acc6eb7fda
                            EpicAccountId:32a2e88791bd4ad789ad813c0809d254

                            Assertion failed: (Index >= 0) & (Index < ArrayNum) [File:\Build\++UE4\Sync\Engine\Source\Runtime\Core\Public\Containers/Array.h] [Line: 611] Array index out of bounds: 1067 from an array of size 1067

                            UE4Editor_Core!FDebug::AssertFailed() [d:\build\++ue4\sync\engine\source\runtime\core\private\misc\assertionmacros.cpp:417]
                            UE4Editor_Engine!operator new<FBatchedLine,FDefaultAllocator>() [d:\build\++ue4\sync\engine\source\runtime\core\public\containers\array.h:2849]
                            UE4Editor_Engine!ULineBatchComponent:rawLine() [d:\build\++ue4\sync\engine\source\runtime\engine\private\components\linebatchcomponent.cpp:129]
                            UE4Editor_Engine!DrawDebugLine() [d:\build\++ue4\sync\engine\source\runtime\engine\private\drawdebughelpers.cpp:42]
                            UE4Editor_Engine!DrawDebugLineTraceSingle() [d:\build\++ue4\sync\engine\source\runtime\engine\private\kismettraceutils.cpp:133]
                            UE4Editor_Engine!UKismetSystemLibrary::LineTraceSingle() [d:\build\++ue4\sync\engine\source\runtime\engine\private\kismetsystemlibrary.cpp:1338]
                            UE4Editor_DragonIKPlugin!FAnimNode_DragonSpineSolver::line_trace_func() [d:\build\++portal+dev-marketplace+full\sync\localbuilds\plugintemp\hostproject\plugins\dragonikplugin\source\dragonikplugin\private\animnode_dragonspinesolver.cpp:1744]
                            UE4Editor_DragonIKPlugin!FAnimNode_DragonSpineSolver::UpdateInternal() [d:\build\++portal+dev-marketplace+full\sync\localbuilds\plugintemp\hostproject\plugins\dragonikplugin\source\dragonikplugin\private\animnode_dragonspinesolver.cpp:686]
                            UE4Editor_DragonIKPlugin!FAnimNode_DragonSpineSolver::Update_AnyThread() [d:\build\++portal+dev-marketplace+full\sync\localbuilds\plugintemp\hostproject\plugins\dragonikplugin\source\dragonikplugin\private\animnode_dragonspinesolver.cpp:56]
                            UE4Editor_Engine!FPoseLinkBase::Update() [d:\build\++ue4\sync\engine\source\runtime\engine\private\animation\animnodebase.cpp:241]
                            UE4Editor_DragonIKPlugin!FAnimNode_DragonFeetSolver::Update_AnyThread() [d:\build\++portal+dev-marketplace+full\sync\localbuilds\plugintemp\hostproject\plugins\dragonikplugin\source\dragonikplugin\private\animnode_dragonfeetsolver.cpp:45]
                            UE4Editor_Engine!FPoseLinkBase::Update() [d:\build\++ue4\sync\engine\source\runtime\engine\private\animation\animnodebase.cpp:241]
                            UE4Editor_Engine!FPoseLinkBase::Update() [d:\build\++ue4\sync\engine\source\runtime\engine\private\animation\animnodebase.cpp:241]
                            UE4Editor_Engine!FAnimInstanceProxy::UpdateAnimationNode() [d:\build\++ue4\sync\engine\source\runtime\engine\private\animation\animinstanceproxy.cpp:46]
                            UE4Editor_Engine!FAnimInstanceProxy::UpdateAnimation() [d:\build\++ue4\sync\engine\source\runtime\engine\private\animation\animinstanceproxy.cpp:1112]
                            UE4Editor_Engine!UAnimInstance::ParallelUpdateAnimation() [d:\build\++ue4\sync\engine\source\runtime\engine\private\animation\animinstance.cpp:569]
                            UE4Editor_Engine!USkeletalMeshComponent::PerformAnimationProcessing() [d:\build\++ue4\sync\engine\source\runtime\engine\private\components\skeletalmeshcomponent.cpp:1775]
                            UE4Editor_Engine!FParallelAnimationEvaluationTask:oTask() [d:\build\++ue4\sync\engine\source\runtime\engine\private\components\skeletalmeshcomponent.cpp:113]
                            UE4Editor_Engine!TGraphTask<FParallelAnimationEvaluationTask>::ExecuteTask() [d:\build\++ue4\sync\engine\source\runtime\core\public\async\taskgraphinterfaces.h:829]
                            UE4Editor_Core!FTaskThreadAnyThread::ProcessTasks() [d:\build\++ue4\sync\engine\source\runtime\core\private\async\taskgraph.cpp:1022]
                            UE4Editor_Core!FTaskThreadAnyThread::ProcessTasksUntilQuit() [d:\build\++ue4\sync\engine\source\runtime\core\private\async\taskgraph.cpp:847]
                            UE4Editor_Core!FTaskThreadAnyThread::Run() [d:\build\++ue4\sync\engine\source\runtime\core\private\async\taskgraph.cpp:923]
                            UE4Editor_Core!FRunnableThreadWin::Run() [d:\build\++ue4\sync\engine\source\runtime\core\private\windows\windowsrunnablethread.cpp

                            I know we just resolved this issue on discord but i want others to know the solution

                            For anyone who has the plugin crashing the editor at random times, you just need to disable 'display line tracing' on both the spine solver and the foot solver(which is turned off by default).

                            Comment

                            Working...
                            X