0
$\begingroup$

This is the original

How it curves I want to bend a beam keeping the endpoints rooted on the x-axis but curving upward on z-axis. I tried to set two origin points on each end of the beam but was unsuccessful. Is there an alternative way around it? Unsuccessful in animating it as well.

How i want it to curve

$\endgroup$
6
  • 3
    $\begingroup$ hello, could you please show a picture of what you're trying to achieve? $\endgroup$
    – moonboots
    Commented Jul 4, 2021 at 13:07
  • $\begingroup$ please show us at least a screenshot with "what you have" and "what you want to have" $\endgroup$
    – Chris
    Commented Jul 4, 2021 at 15:00
  • $\begingroup$ The first picture is the original layout. The second is what I am getting and the third one is how I want it to be. $\endgroup$
    – Shal
    Commented Jul 5, 2021 at 10:38
  • $\begingroup$ @Edgel3D thanks for the videos. They are exactly what I need. But I am still looking for the process to follow to do the needful. Can you help me out with that? $\endgroup$
    – Shal
    Commented Jul 11, 2021 at 10:59
  • $\begingroup$ I'll put an answer together. Any particular method you favour? (so I don't have to do all 3) The curve is the easiest, but it won't stretch the beam, and one end gets dragged back the more you bend it. The Laplacian would be the hardest to explain for the inexperienced but it does anchor the ends firmly and allows the beam's mid-section to stretch no matter how far it's pulled up. $\endgroup$
    – Edgel3D
    Commented Jul 12, 2021 at 7:01

1 Answer 1

0
$\begingroup$

A metal or wooden beam is to be stretched up in an arc with it's ends firmly clamped.

(Blend file below)

Notes -

A lot of problems can be avoided when using the Laplacian modifier by ensuring the mesh object(s) it's going to be used on and those associated with it, are all scaled to 1. (CTL-A) Similarly, hooks used to deform it should also have a scale of 1 "applied". (CTL-A)

Additionally, ensure there is plenty of mesh subdivision in those areas to be deformed and even more in those that are to be anchored. They may not anchor properly if there aren't.

.

The principle difference between 'Laplacian Deform' and the Curve modifier, is that with the former, nominated areas of mesh can be included in a vertex group, and those areas clamped at a location no matter what's happening to the rest if it.

Those areas not exempt (clamped) can be deformed smoothly and independently.

.

If the clamped ends are moving a little, it means you haven't enough subdivision at those ends. The 'Repeat' slot may help but usually it's a matter of subdivision..

-===============-

Procedure -

Lay the beam (a stretched cube?) flat along the X axis.

In ORTHO WIREFRAME view, view from the front (numpad END key) and in Edit mode, box select only the horizontal edges and subdivide generously. If you need more than 100 subdivisions, subdivide once at first with keyboard 'W' so you have a new vertical edge highlited at the center. Deselect that with 'A'.
In Edit mode It should look like a loaf of bread sliced at the middle.

Re-box-select the HORIZONTAL edges in each half but NOT the vertical slice at center.

Subdivide this time with a figure of say 64. This will give you 128 subdivisions in all which is usually enough for smooth curvature.

.

Now for those clamped ends - but first, save the file. You may need to come back to this point.

Select those vertices that are to be exempt (the anchored sections) and include those in a new 'Vertex Group', thus -

As you need to pull the beam up at it's center you will need to exclude the section you want to grab also.
With the ends still highlited, box select the center vertices you want for the 'handle' so you have the clamped ends plus the center vertices all highlited.

Press 'Assign' once more to include all those selected.

(you can check this by pressing A, then in the Vertex panel, press "Select". Only those vertices assigned will highlite again)

.

The ends may well want to move a little with the current subdivision, so the assigned (horizontal) edges ends ----> at the ends only <---- can be further subdivded x 4.

In Object mode, select the beam and give it a 'Laplacian Deform' modifier.
In it's "Anchors Vertex Group" slot, select the Vertex Group just created and press the 'Bind' button.
When it changes to 'Unbind' is means that binding is complete.

The beam is now under control of the Laplacian Modifier.

In order to pull the center vertices up, a Hook is required so it can be animated with ordinary keyframes.

In Edit mode, select all vertices in the created Vertex Group and then deselect those at the ends so only the center group is highlited. It's done this way because the hook MUST ONLY operate on those center vertices that are included in the vertex group. (If you've selected extras, you can end up with odd effects)

Use CTL-H to add a (New) Hook Object. An empty will appear.

Goto Object mode, select the Hook Empty and resize (scale) as required. The beam's center will be throttled but that's fixed by using CTL-A and selecting "Scale".
The beam should return to it's former self.

Go to the Modifier list and push the Hook modifier panel up so it's above the Laplacian entry. (use the triangular buttons)

.

In object mode, select the hook and drag it up and down. The beam should curve smoothly with it's ends clamped to the ground.

-=================-

It may eventuate at some future time that the beam or any 'lapped' object for that matter needs to be attached to a moving vehicle, or simply at rest at some odd angle, possibly making it harder to setup the modifier and Hook. The solutuion is to do as above, and once complete, give the whole thing a common parent. i.e. the beam and hook become children of the master parent.

With that established, disable selection of the beam and hook in the Outliner, so you can only drag the parent around. That parent can be a child of a vehicle etc.

The assembly will follow as one unit , along with it's local animation, clamped ends and all.

$\endgroup$
2
  • $\begingroup$ Thank you sooooo much! $\endgroup$
    – Shal
    Commented Jul 15, 2021 at 6:35
  • $\begingroup$ You're welcome @Shal - any problems, leave a comment here $\endgroup$
    – Edgel3D
    Commented Jul 15, 2021 at 22:33

You must log in to answer this question.

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