5
$\begingroup$

enter image description here

I have a flat circle(1). I want to bend it down into a half sphere non-destructively. I have tried using two Simple Deform (bend) modifiers as described here: How to animate morphing a rectangular plane into a sphere

That works, but it is distorted (2). I'm trying to get it even, like the top half of an icosphere (3). Is this possible?

EDIT: I am trying to find a method to use on a more complex shape. I want to model it flat, and then bend it to a sphere as it will be very difficult to model as a sphere itself.

$\endgroup$
4
  • $\begingroup$ Shrinkwrap - think it does exactly that $\endgroup$
    – Patdog
    Feb 27, 2017 at 21:29
  • $\begingroup$ @Patdog Shrinkwrap would let me wrap something onto a sphere, but it won't be clean unless it's already very close to a sphere. $\endgroup$
    – Ascalon
    Feb 27, 2017 at 21:36
  • $\begingroup$ Have you considered the warp modifier? It's a bit tricky at first, but it would work I think. $\endgroup$
    – Timaroberts
    Feb 28, 2017 at 2:30
  • $\begingroup$ @Timaroberts I have, but I don't see how it could help here. If you can demonstrate, it would be appreciated! $\endgroup$
    – Ascalon
    Feb 28, 2017 at 3:57

4 Answers 4

7
$\begingroup$

You could try using the Warp Modifier.

enter image description here

Add two empties, one at or near the origin of your object, and one that will control the deformation of the object. This one will be placed above the other on the Z axis.

Here, Empty is at the origin of the circle, and Empty.001 is the controlling object in the 'to' field of the modifier settings.

enter image description here

By adjusting the distance of Empty.001 from Empty, and the strength and radius values, as well as the falloff type (I used sphere) you can keep a good amount of control over the shape of the object.

Also, you may find it useful to add a Subdivision Surface Modifier above the warp modifier, as it makes the deformation a bit smoother. enter image description here

$\endgroup$
6
$\begingroup$

Use a Cast Modifier.

For some reason you will have to move all you circle vertex up in local Z axis for it to work for some reason, then have to eye-ball the value to reach an aproximate half sphere.

In my case, move the circle [2] units in local Z axis in edit mode, then add a Cast modifier set to Sphere. Adjust tge Factor value.

Alternatively use the Control Object option, set it to an empty object to control the deformation center and move it down in Z axis as necessary, if you don't want to move the circle object center.

Circle to Sphere

$\endgroup$
2
$\begingroup$

This can be done with Shape Keys. Create a half sphere as your basis:

enter image description here

Under Shape Keys in the Object Data panel, click the + button twice to add a Basis key, and a Key 1. With Key 1 selected, go into Edit Mode and scale the the whole object along the z-axis by 0 to flatten.

enter image description here

Now, you can control the flatness of the object by adjusting the Value: parameter under Shape Keys.

enter image description here

$\endgroup$
4
  • $\begingroup$ Thanks. I may be able to use this, but I have a specific flat circular object that I need to transform. I can't start with a half sphere and work backwards. This could work if I can do it on a lattice and have it start flat, but I don't think it lets me do that. $\endgroup$
    – Ascalon
    Feb 28, 2017 at 0:14
  • $\begingroup$ @Drudge Can you be more specific in your question, then? In your question, you just show a half UV Sphere. $\endgroup$ Feb 28, 2017 at 0:37
  • $\begingroup$ Thanks Scott Milner. This is a straightforward solution for one of my projects. It's only for video effects so reversing the clip would be no problem at all. $\endgroup$
    – Edgel3D
    Feb 28, 2017 at 0:39
  • $\begingroup$ @ScottMilner I want to turn a flat, circular object into a sphere, not a sphere into a flat circular object. The order of operations matters i this case. I have updated the original question with a clarification. Thanks! $\endgroup$
    – Ascalon
    Feb 28, 2017 at 1:14
2
$\begingroup$

As the question is still active and you have stated that you wish to start off with a flat shape of the end model, I've varied @Scott Milner's suggestion and done as he has but using keyframed scaling instead. The inflation would be forward animation, not reversed.

The approach is to make the 'fully inflated' model you wish to end up with and scale that down in the Z axis ONLY to a flat plane and keyframe that at frame 1.

The plane is now your 'model' at frame 1.

Go to the end frame and scale the z axis ONLY, back up again, keyframe that.

You start with a flattened shape and end up with it rising to the desired model. I've done this here with the sphere and included the Blender file.

This has stemmed from @Scott Milner's answer so I'm not claiming any brownie points here.

The prepared answer follows -

-=======-

Add the UV sphere (or finished model) and flatten it by scaling only in the Z axis to 0 to begin with.

Set a keyframe at frame 1 for scaling only.

Set the timeline cursor to the frame required. (say 50 or 60)

Rescale the flattened sphere back to it's original shape. i.e. in the Z axis only.

NOTE: (For newbies) you may not be able to scale it back up using the gismo arrows. Instead, open the Properties icon, the little cube at the right of screen. You'll see the scale slider when you open the "Transform" tab.

Place your cursor onto the Z axis slider and drag to the right. You'll see the figures scrolling up. The flattened model will begin to inflate upwards.

Keyframe that scaling setting. Leave the cursor in the Scale panel and press ' i '.

enter image description here

The circular plane will rise to the occasion and inflate back to a sphere.

Note that it's topmost section remains flat but it's no problem to use a Shapekey on the uppermost central vertice and have it rise a little to restore the fully spherical shape, which I've done here. (See Blend file)

Another problem can crop up, this one involving shading -

When the sphere is flat it's goes shadeless. At frame 2 where it begins to inflate, it switches to ordinary shading again, the transition far too annoying to ignore.

The solution is to go back to frame 1, get back into the Z scaling panel at right and tweak the Z scale ONLY from outright zero to 0.001 . Keyframe that. (with the cursor still in the Scaling panel, press 'i') (see pic)

That fixes it . Shading starts normally and stays that way.

$\endgroup$

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .