Jump to content

[SOLVED] Solar Wing Animation Help - Constraining Solar Array Expansion


Recommended Posts

Hi all,

So I've been having issues trying to rig up a solar array wing so the animation plays fine. My issue is with the expanding/retracting of the solar cells inside the bounds of the endpoint arms. Picture below.

With parenting I have it set us as followed:

The endcap (B) is parented to (A).

The solar arm (C) is parented to the endcap (B)

and then the rightmost solar cell (D) is parented to the arm (C). and then the next adjacent solar cell is parented to the solar cell on the right. and so it goes all the way down the line (for 84 cells).

So the animation, I have the endcap (B) keyframed to change location and expand outward from the truss can (A). as the endcap extends outward, the solar cells rotate and expand towards the right since they are parented to the arm (C).

Because the encap animation (B) is a distance change while the solar cell animations (D) are angle-based, I am not able to get them to animate in a manner that the solar cells expand/retract properly (due to the angle based animation converts to a sine wave-based movement in the linear direction).

 

Is there some way that i can parent the solar array so that it is bound by the left/right limits, and are driven by the animation of the boom/endcap deployment?

I think a last resort is to merge all the cells into a single object and just have the animation be a change in scale, though i dont think it will look right, and would like to avoid this solution.

0FW94JH.jpg

Edited by cxg2827
Link to comment
Share on other sites

So, I decided to just merge the cells and do a scaling animation. It actually turned out OK, when using X and Z scaling. so I'll consider it solved. One day I'll figure out how to use armatures and I'm sure that will solve my original question.

Another observation is with having each cell its own object as part of the animation, the .MU file ended up being about 13Mb. But with merging each wing section, it reduced it to 2.5Mb.

Link to comment
Share on other sites

You can do this without the use of armatures by using the transformation constraint on the parts you had set up as described in your first post.

Here is my version of it - on a much "neater to animate" setup with only 5 parts to animate per solar panel, but extending it is just adding the same settings to the rest of the parts.

untitled-13hu6d.png

The round empty marked A is my "animation master". It is just an empty that will rotate on it's Z-axis from 90 to -90 degrees. The rest of the parts will move according to this rotation.

I placed empties on the "hinges" between the parts of the solar array, but it will work with just putting the constraints on the actual meshes, too (which I did with the integrated radiator part just beneath the blue arrow). Part hierarchy is the same as yours, base (mesh) -> empty that is the pivot of the sun tracking animation ->empty A AND base of the folding animation ->empty B ->first solar cell (and the later added radiator) ->empty C->second solar cell ->empty D->third solar cell etc etc.

As said, The empties B, C, D (and the unmarked F on the next segment) are the parts that use transformation constraints, but you can but these constraints on the actual mesh of the solar cell segments, too.

The transformation constraint copies and scales the rotation of the animated empty A down to the needed range of rotation for each mesh. As the actual solar cells aren't flat the first segment has to travel 100° from its resting pose to its fully extended pose, so the 180° from empty A are converted in a rotation from -10 to 90 degrees on the empty B. C thus has to travel 190 instead of 180 degree, so it is set to move from +180 down to -10.

D (and F etc...) needs to only rotate 180° as the parts are now symmetrical so they are set up accordingly (one moves from 180 down to -10 and one from -10.

For your object B that needs to change its location, you could also set up such an transformation constraint, but mark the LOC under destination and set up your x(?) locations accordingly.

Its quite easy, no need for bones etc, just add one or two constraints to an object under the constraints tab, edit the numbers, done. Especially with the "transformation" constraint. There is a "copy rotation" one, too that I tried to use first as it sounded obvious to copy the rotation from the animated empty A to, say B, but this made problems when there where rotations with ROT>180 degrees that would register as 360 -ROT etc etc. I then tried "track to" to let each segment track the origin of the other, but this was a hassle and gave incorrect animations, too sometimes. But the transformation constraint works fine and easy.

Edited by InsaneDruid
Link to comment
Share on other sites

  • 4 months later...

Hello, I almost dare not to ask. Since I could this time, the doku I no longer find. Just have a 3d model. The panels are connected with constrains.
But I know something is still missing.

Q: for a simple panel folding you have to add armature bones?

For the tips many thanks in advance, raendy

http://imgur.com/gallery/m1L2i

BaKW2X0.jpg

4jbmFfH.jpg

 

Link to comment
Share on other sites

You don't have to use armature bones. Or transformation constraints. Your setup seems fine from the screenshot. I think you have animated each of the panels individually, as the multiple nla stripes suggest. This is totally fine. The setup described in my previous post just has the single advantage that just one object is animated with keyframes, so that tweaking and changing the animation may be a bit easier (especially when many panels are connected). But animating each individual panel and using a parent-child relation is totally fine, too.

Link to comment
Share on other sites

  • 1 month later...
On 27.1.2017 at 4:07 PM, InsaneDruid said:

But animating each individual panel and using a parent-child relation is totally fine

@InsaneDruid

many thanks for the answer !

Problem is that I no longer know exactly how to get to the animation. Unfortunately I forgot to document cleanly*. I only know that the panels are connected logically with "child-of" (constraint).
- the results are as follows:

(Picture above I have still found, but the blender model no longer understand the solution - *unfortunately, this can happen in a hw. Damage the external hard drive where the project files were on it.)


QUESTION: what have I forgotten, what is still missing?

http://imgur.com/gallery/hmSFZ

htyA9sM.jpg

dlb3EFa.jpg

Rp6e7h5.jpg

9vyoU7z.jpg

YVrM61Y.jpg

 

 

Edited by RaendyLeBeau
Link to comment
Share on other sites

Can it be that in the original version, every other panel was flipped before adding the child constraint (and thus flipping its axis), so that copying the rotation resulted that the flipped ones rotated the other way around?

My Solution would be using the transformation constraint or a copy rotation instead of the child of constraint and making each panel the child of the other one manually or using the transformation constraint or copy rotation together with the child of constraint (but enabling all three location axis copying the rotation in the child of constraint)

 

here is a small demonstration set up this way:

https://www.dropbox.com/s/ke77jxljx587d33/test.blend?dl=0

 

Link to comment
Share on other sites

This thread is quite old. Please consider starting a new thread rather than reviving this one.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...