sceneform-android icon indicating copy to clipboard operation
sceneform-android copied to clipboard

I don't understand why there has to call updateBoneMatrices in updateRegionNodes

Open dandingol03 opened this issue 3 years ago • 2 comments

Hi. I want to implement a skeleton-binding feature in filament recently, and i saw the discussion you post on filament repo. There are some interesting sample on this sceneform-android repo, and i dive to the argument-face sample. I found some weried code as below:

 if(faceRegionNode != null && faceRegionNode.getRenderableInstance() != null) {
      faceRegionNode.getRenderableInstance().getFilamentAsset().getAnimator().updateBoneMatrices();
  }

Question: The fox.glb has no skin at all, is there any reason tø call updateBoneMatrices?Here is the code of updateBoneMatrices:

void Animator::updateBoneMatrices() {
    auto renderableManager = mImpl->renderableManager;
    auto transformManager = mImpl->transformManager;

    auto update = [=](const SkinVector& skins, BoneVector& boneVector, utils::NameComponentManager* nameComponentManager) {
        for (const auto& skin : skins) {
            ....
       }
}

Because there is no skin in fox.glb, this function cannot go to the update lambda in function. I delete this function invoking , and the argument-face sample still work. I want to know why, thanks.

dandingol03 avatar May 23 '22 05:05 dandingol03

Hi, Sorry for the late answer but we are pretty more active within the new Kotlin repo. You're totally right about the double updateBoneMatrices call.

Since you look like having some Filament knowledge would you like helping us on moving and cleaning the AugmentedFaceNode to Kotlin within SceneView?

ThomasGorisse avatar May 24 '22 07:05 ThomasGorisse

Maybe someday i am free. Recently filament repo release attach-bone interface, i am trying to implement the bone attach function with that interface. I still have some problem on that.

On Tue, May 24, 2022 at 3:54 PM Thomas Gorisse @.***> wrote:

Hi, Sorry for the late answer but we are pretty more active within the new Kotlin repo https://github.com/SceneView/sceneview-android. You're totally right about the double updateBoneMatrices call.

Since you look like having some Filament knowledge would you like helping us on moving and cleaning the AugmentedFaceNode to Kotlin within SceneView https://github.com/SceneView/sceneview-android?

— Reply to this email directly, view it on GitHub https://github.com/SceneView/sceneform-android/issues/374#issuecomment-1135534022, or unsubscribe https://github.com/notifications/unsubscribe-auth/ADDJES57T2SVWZ455X4W3TDVLSDMJANCNFSM5WUSMD4A . You are receiving this because you authored the thread.Message ID: @.***>

dandingol03 avatar Jun 02 '22 11:06 dandingol03

Hey there, it looks like there has been no activity on this issue recently. Has the issue been fixed, or does it still require the community's attention? This issue may be closed if no further activity occurs. Thank you for your contributions.

github-actions[bot] avatar Aug 10 '23 05:08 github-actions[bot]