Bone animation stops animated object

Bone animation stops animated object

Oniel471
Participant Participant
1,900 Views
15 Replies
Message 1 of 16

Bone animation stops animated object

Oniel471
Participant
Participant

Hello all, I have been facing some challenges with my project for flight simulator. I am working on a freeware model to be developed for P3D. Animating models for P3D based on SDK the parts are what we select and animate but that's a whole other topic. My main problem is I have the model almost fully animated but just like real airplanes the wing flexes during turbulent flights or windy flights etc so what we use to do that (well the method I choose) skinned mesh. I have the leading edge, spoilers, flaps and wings animated except wing which will only be flexed. So control surfaces are animated which they should but these specific parts also have skin modifier added and bones identified in the bones list in the skin section in 3DS. Whenever I select bones and add key frames, it stops the other part (which are already animated) from moving but still shows their key frames.

I tried this method at old GMAX. I made a flat box and made 3 bones. I animated the box to do its own animation then I added skin modifier to it, added the bones and ABS effect same exact things I did at 3ds, animated the bone to bend the flat box to show a wingflex and all the aimations worked how they should in GMAX. At 3DS max, when the bones are animated to flex the wing it stops other already animated parts which has skin modifier on them.

Is there anything I can do to solve this? Anyone has any idea can help me out? I'd really appreciate any help.frame 100 see parts are how i animated them and as they shouldframe 100 see parts are how i animated them and as they shouldNow i slected bones, added key frame and the outer slat stops moving. (the other parts are target animation but for testing i only tested on outer slat) outer slat can see still at frame 100 but the slat does moveNow i slected bones, added key frame and the outer slat stops moving. (the other parts are target animation but for testing i only tested on outer slat) outer slat can see still at frame 100 but the slat does movetesting only on slat as can see the skin setup is ok, animating the bones stops the other parts from moving which is not wanted. All parts should move like at GMAXtesting only on slat as can see the skin setup is ok, animating the bones stops the other parts from moving which is not wanted. All parts should move like at GMAX

0 Likes
1,901 Views
15 Replies
Replies (15)
Message 2 of 16

leeminardi
Mentor
Mentor

@Oniel471,  first off I should state I have no experience with skinning as most of my Max rigging experience is with rigid bodies but I am intrigued by your challenge.  I am a hang glider pilot and well aware of wing flexing in fact the only control we have in changing the wing's performance  is a VG (variable geometry) cord we can use to tighten the wing to improve L/D when racing from thermal to thermal.    Could you post the  flat box model with additional comments about your overall goal (e.g., how the flaps are controlled) and what works and what doesn't?  Could transform scripts be used instead of bones?

lee.minardi
0 Likes
Message 3 of 16

Oniel471
Participant
Participant

Here is a sort video I made hopefully better demonstrates my issue. (In the beginning I said "problem at GMAX" I should've said problem at 3DS) my bad there but in this video I hope you all can better understand the issue I have.Just a quick flex to show how the wing should look with the other parts extended.Just a quick flex to show how the wing should look with the other parts extended.the outer flap and spoiler here they are animated but loses animation when bones get key framethe outer flap and spoiler here they are animated but loses animation when bones get key frame

0 Likes
Message 4 of 16

leeminardi
Mentor
Mentor

I am sorry, I cannot help you with this. As I mentioned I am not familiar with the skin modifier.

 

lee.minardi
0 Likes
Message 5 of 16

10DSpace
Advisor
Advisor

@Oniel471 

 

"the outer flap and spoiler here they are animated but loses animation when bones get key frame"

 

You have already animated the outer flap and spoiler objects (with their own key frames) and you have then additionally skinned these same objects to a series of bone objects, correct?    So based on the skin weights in the skin modifier, Max is altering the position of the outer flap and spoiler objects based on the position of these objects and the bone objects when they were skinned to the bone objects (typically frame 0).    This is predictable behavior, if I understand your situation correctly.    

 

Basically, if you want to have both a bone driven skinned animation and a separate animation of the outer flap and spoiler objects, you will have to:

 

1. Parent the bone object hierarchy that you want to affect the outer spoiler to the outer spoiler. (The outer spoiler needs to be the parent of the bone object hierarchy; Note you have to do this before skinning the outer spoiler or Max will throw an error about a dependency loop).   

2.  Skin the outer spoiler to the bones and animate the bones as desired. 

 

With the outer spoiler as the parent, the bone objects will follow it throughout the animation and then  when you animate the bones, the outer spoiler will just deform in its current position according to the skin weights assigned.  I think this is the behavior you want.

 

You should do the above 2 steps at frame 0 in the scene to avoid confusion.  Hope this is clear and helps.

 

 

0 Likes
Message 6 of 16

Oniel471
Participant
Participant

@10DSpace 

 

Ok you get the idea yes, I want the control surfaces to be on their own animation while still having bones bend them. The problem is it's not only the leading edge outer slat. The wing is has bones on there so the wing, outboard slat, spoilers and outboard flaps all have their animations but I also want them to be bent by the bones because all parts on the outer wing will flex during flight. If I do it how you're suggesting I don't think the outer wing, spoilers and outer flaps will be able to be bent by the bones. In the video and how I explained, in the video I used outboard slat to demonstrate that I want the individual parts to continue on their own animation while being bent by bones. Hope you understand a bit better what my aim is now 😞The outer wing and all parts of the outer wing is to be bent by bones while the controls have their own animationsThe outer wing and all parts of the outer wing is to be bent by bones while the controls have their own animationsHere is a screenshot few months back when only wingflex was tested in the simulator but now the controls should be animated but still be able to bend like this and do their own animationHere is a screenshot few months back when only wingflex was tested in the simulator but now the controls should be animated but still be able to bend like this and do their own animationDifferent aircraft but the principle is same. So you can see the wing is flexed in flight but the slats and spoilers still move while bone has bended themDifferent aircraft but the principle is same. So you can see the wing is flexed in flight but the slats and spoilers still move while bone has bended them

0 Likes
Message 7 of 16

10DSpace
Advisor
Advisor

@Oniel471 

 

"If I do it how you're suggesting I don't think the outer wing, spoilers and outer flaps will be able to be bent by the bones."

 

In the absence of you providing more detailed information on the hierarchy of the various  wing parts, I  can only tell you that the setup (parenting the bones to a simple wing I set up and then animating the bones as desired) worked perfectly in preserving the original animation of the wing and then superimposing the deformation caused by animating the bones.  Try this on a simple wing setup to verify for your self.

 

It may be that you have a complex existing hierarchy regarding the various wing parts, and how your bones are  assigned to the various skin modifiers of each. So without knowing that hierarchy information, I can only suggest you try a basic setup to verify it works and then apply the same principles to your actual setup.  

0 Likes
Message 8 of 16

Oniel471
Participant
Participant

@10DSpace 

Thanks for the inputs, Tried your suggestion and it seems to work but, it also opened ideas to me.

1. I used another wing (i wanted to keep the same type of platform) made the bones the same way like the previous wing, last bone and counting backwards is a child of the bone before it, anyway all the bones are children of the wing this time like you suggested.

2. Skinned wing with bones after parenting them then skinned the slat and spoilers. Animated the spoiler and slat on their own paths again. After those animations, selected the bones, added keyframe and bent the wing and sadly the spoiler and slat went back to their original location/rotation.Can see in this screenshot the red bones are all children for the wing just the wing. I did try animating the wing itself on a simple animation and the wing move and also bent by bones.Can see in this screenshot the red bones are all children for the wing just the wing. I did try animating the wing itself on a simple animation and the wing move and also bent by bones.This time can see green bones are children for the slat.This time can see green bones are children for the slat.This time red bones (children of just the wing) bends the wing. Green bones (children of the slat) also bends the slat and the slat is on its own animation as can see it is extended.This time red bones (children of just the wing) bends the wing. Green bones (children of the slat) also bends the slat and the slat is on its own animation as can see it is extended.

 

In the screenshots above can see the first one i made the red bones children of the wing.
Next what i did there is made more bones the green ones all children of the slat and the next screenshot the slat is animated on its own path and also the bones bending it.

Seems this is a possible way but will be tricky for the flex and sadly just the red bones can't bend all the other parts like i originally wanted. So seems making bones and making the specific part their parent is the way i can maybe work on this but will be harder than just having one set of bones bending all the other parts.

 

I can even share this max file this is 3ds max 2017. If want i can let you have a copy to see for yourself but sigh this is the way i think allows me or maybe i'm still not doing something right.

0 Likes
Message 9 of 16

10DSpace
Advisor
Advisor

Sure, post the max file and I'll take a look.

0 Likes
Message 10 of 16

Oniel471
Participant
Participant

Sorry for the late response. Hope you had great holiday!! Anyway here is a copy of the wing (max2017) in a zipped file.

0 Likes
Message 11 of 16

10DSpace
Advisor
Advisor

@Oniel471 

 

After working with your file for some hours, I was unable to find a different solution other than creating separate sets of bones for each part (leading edge, spoiler, etc) and making that part, the parent of the bones.    I understand that it means that you will have to separately animate the additional sets of bones to get the deformation that you want.  So I tried to use Wire parameters to Wire the position of the set of bones I made for the for the leading edge (named l_outb_slat in the max file you posted here) to be controlled by the bones that are deforming the wing.  In theory this would mean that you would only have to animate the main bones deforming the wing and the other bones would move by the same amount, thus deforming the l_outb_slat also).  However, I haven't been able to get this working properly with your file, because when I wired the corresponding bones together, the entire set of bones for the outer slat and the outer slat (because it is skinned to these bones) jumped to a new position away from the wing.     This is odd, because for a separate wing and bones system I created based on your setup, I was able to wire the corresponding bones together without a problem.

 

So, I was wondering if this had something to do with nonuniform scaling of geometry in your file and I then tried resetting XForm various parts of your model after unlinking the heirarchies but haven't yet been able to sort all of this out and reconstruct the heirarchy;   I really don't know if this is a problem or not., just something to try. 

 

I notice that you had the System Units set to Meters in the Max file.  Did you by any chance, change the System Units during the course of working on this project in Max?  Were all parts modeled in Max 2017 or are some imported from other software?   

 

Also, it appears that you are animating the bones using position and maybe a small amount of rotation, but since you have assigned the Linear Position and Linear Rotation Controller to these bones, there are no curves in the curve editor that show any changes (like you would see with the Position XYZ & Euler XYZ controllers) even though the bones are clearly moving.   Can you confirm whether you are using position or rotation or both in animating the bones?  

0 Likes
Message 12 of 16

10DSpace
Advisor
Advisor

@Oniel471 

 

In the attached max file (saved to Max 2017), I have a (very basic) slat animated while also deforming based on the wing bones.  In addition to the setup discussed above, each slat bone's rotation is wired to it's corresponding wing bone's rotation  (See attached Max file).   After both the wing and slat were deforming properly, I placed an Edit poly modifier on top of the stack for the slat and animated the slat.   Technically, it also worked when you go to the slat base object with "Show end result" toggled on (so you can see the deformation) and animate it. 

10DSpace_0-1640886208001.png

 

The Bones are using Euler XYZ Rotation.  I did not try with the linear rotation that you were using, but I don't know any reason it shouldn't work with that also.    Anyway, with this approach at lease you only need to animate one set of bones and the other separate bones for the slat and spoiler, etc, can be wired to respond the same way.  Hopefully this is a useable approach for you. 

 

My apologies to Aviation Engineers everywhere for the very crude set up in the Max file to demonstrate the setup.  

 

0 Likes
Message 13 of 16

Oniel471
Participant
Participant

Thanks for the assistance you are really helpful. So as you mention getting sets of bones for each part i also tried that and it seems doable. I don't have a problem doing extra animations. About the file showing units as 'Meters' yes that was done because when modeling the aircraft/s we use that unit to get our measurements because the documents we refer from are often meters and or inches sometimes centimeters but mainly meters. The model was modeled in Blender (I'm much stronger modeling in blender i spend 3 years modeling there so more comfy) and import to 3DS to animate, tag animations and export to the sim because also 3DS is where i have the sim's SDK installed plus 'Linear' controlled animations is what the sim reads and nothing else it has to be Linear. I'm not sure if doing the wire thing will affect the other bones after exporting to sim if the sim will understand that wire thing but if it is something like parent/child association then maybe but i'll do the extra animating. So at this point i think extra bones to each part will do so i'll try that method and if all goes well i update you on the project because this is literally the only thing for nor limiting progress caz the whole model is animated. After doing the flex with extra bones, i'll tag the parts with sim animations then export and see if all is ok. Again, thanks for spending time with me on this i highly appreciate the hand 🙂

0 Likes
Message 14 of 16

10DSpace
Advisor
Advisor

@Oniel471 

 

You're welcome. Glad I could help in some way.  Good luck and it would be interesting to see the results of your efforts.

0 Likes
Message 15 of 16

Oniel471
Participant
Participant

Hey bud i got so caught up i forgot to show you the results. I figured out a way with the help of other fellow developers. Results are great! Here are a few screenshots of it in sim.

62F1AB23-D39D-49E6-8C4C-D02DDE51C786.jpeg

57BCB153-8F67-4707-9E13-A54C5BB4D3A7.jpeg

CDB4984C-6769-40B5-A98C-56C432939D19.jpeg

65AF1783-DB2D-4BA7-B205-B2C944A3E438.jpeg

54B36428-E40B-41D1-9D2E-55AB142E3D10.jpeg

7F841ADE-C42A-4257-B997-55AD2041F963.jpeg

Message 16 of 16

10DSpace
Advisor
Advisor

@Oniel471 

 

Looks very good.  Thanks for posting.

0 Likes