How to keep hose objects from shrinking into themselves?

How to keep hose objects from shrinking into themselves?

Anonymous
Not applicable
1,373 Views
6 Replies
Message 1 of 7

How to keep hose objects from shrinking into themselves?

Anonymous
Not applicable

Hello!

 

I am working on animating a side shifting forklift attachment. There are two hose runs on the back of the carriage, in the center position each hose looks like the letter U laying on its side with the top/open ends of the U facing inward. The bottom end of the U closest to the ground is the end of the hose that moves as the unit shifts left and right, the top end does not move.

 

I have used these different methods trying to make this work right,

 

Spline sweep with x form linked vertices (which is a headache to key and difficult to account for when the whole unit must be moved I assume this method may work better if I was more adept at scripting or using expressions)

 

A skinned bone chain with different types of solvers ( I feel there is some merit to this method as well but I always have a lot of trouble getting the chain to unfurl right and the ends are always clipping through my hose ends, ive tried using different solvers or no solver at all, multiple solvers and different linking strategies if there is a way to make these hoses move just right with a bone chain I have not been able to figure it out)

 

Extended Primitive Hose Objects ( these I feel by far are the easiest to work with and behave the best overall I use them on a lot of the other hose runs to much success. The difficulty for me arises when I need to shape them, only having the tension controls to shape the hose presents issues when dealing with a shape like my U hose it would be no problem if the hose run was more C shaped but its not and I end up having to do a lot of careful tensioning to get my U to not look like a V, 

 

I can achieve a U shape that's to my liking with just one hose but when moved it stretches and collapses in on itself and ends up not looking realistic.

 

To get around this I make my U from two hose objects linked in the middle by point helpers which I group and key and long story short it ends up looking ok but is fiddly and time consuming)

 

I wish there was a way for the hose object to retain its length and move against itself so with one hose I can make my shape and have it roll and unfurl realistically without all the extra keying and fiddling around.

 

Does anyone have any insight into this problem? Or know of any good tutorials? Are there any hose object power users out there? Can we get an updated hose object with a bit more control? I would be open to hearing what people think about my methods and assumptions, I'm still fairly new to the software but have been able to nail every other obstacle in my scenes so far, this is that last splinter in my eye keeping my model from looking its best....Help!

 

 

 

 

 

0 Likes
1,374 Views
6 Replies
Replies (6)
Message 2 of 7

leeminardi
Mentor
Mentor

A few pictures showing an initial, intermediate , and final position would help to explain precisely what you want to do.

 

Perhaps using a spline with a Spline IK Control modifier associated with it that has a series of bones with a Path Constraint.  A wire parameter can be used to control the position of the bones along the path as a function of the spline location.  That's the way I did this energy chain.  I know your goal is a bit different but there are similarities.

 

 

 

lee.minardi
0 Likes
Message 3 of 7

Anonymous
Not applicable

Thank you!

 

This is exactly the type of motion I am looking to achieve. I've attached a few shots of my last sloppy efforts with the linked hose scheme I was attempting.

 

I really appreciate you taking the time to respond, after looking at these pictures could you possibly elaborate a bit more on how you made yours?

 

Do you think I should use one path for both hose runs?

 

I could just make a spline that looks like my hose and use it as a skin for a bone chain? would using linked xform and edit spline be better to assign the bones to the verts?

 

Does the path itself move along an axis or is it rolling?

 

Would I be able to link that path to the frame so I can move the entire unit without leaving anything behind?

 

Are these even the right questions to be asking?

 

Thanks again for your time! and please excuse my newness I've been puzzling over this one for a minute, it would be a big win for me in the office if I can figure out your method and solve this problem.

 

0 Likes
Message 4 of 7

leeminardi
Mentor
Mentor

Check out this link: 

https://forums.autodesk.com/t5/3ds-max-animation-and-rigging/rigging-and-animating-a-energy-chain/m-...

 

I provide an explanation and the file for the energy chain.  The hose can be made using a renderable spline.

 

I think I have a better way to do what you want without using bones or a spline solver but I do not have time right now to try it out.  I think it can be done with some expression controllers and a spline. I will try to get to it tomorrow.

lee.minardi
0 Likes
Message 5 of 7

leeminardi
Mentor
Mentor

Here's a totally, and I think much simpler, approach.

 

Create a renderable spline for the hose with 4 vertices. Bezier handles are used to control the radius of U bend in the hose. Add a Spline IK Control modifier to the spline and click the create helpers button after adding the modifier.  I've labeled the helpers A, B, C, and D. Point A is at the frame end of the hose and moves at the same speed as the frame.  Helpers Point B and C define the bend.  To ensure that the length of the spline (hose) remains constant these vertices should travel half the speed (distance) as the frame.  Helper D is fixed to a stationary object and therefore shouldn't move.  

 

Given these conditions and the initial location of the frame we can create Expression Controllers for A, B, and C. The variable framex is the x position of the frame.

 

Select the frame in the attached file and move it in x.

 

hose1.JPG

 

 

Another spline vertex could be added in the bend if it gives more control.

lee.minardi
0 Likes
Message 6 of 7

Anonymous
Not applicable

Hello again thank you so much for your response and your time in helping with this, I apologize for the long delay in replying to you some other projects took me a way from this temporarily.

 

I think I understand your solution and it appears to be quite perfect for demonstrating the motion I am trying achieve with these hose. There are a few more things that I wanted to clarify...

 

- I actually need the opposite end of the hoses to remain still would I just reverse the order of the expression assignments?

 

- I am still lacking in knowledge about the basics of expression controllers and I was wondering if you could tell me if I'm right in assuming that these values in the expression controllers refer to only those helpers positions along the X axis? if so, wouldn't this present a problem for situations where I would need to animate the whole assembly moving in other directions in the world space? Could this be solved by linking or attaching? do those expression controllers keep those helpers locked to that axis? ( would you happen to know of any tutorials you would recommend to a pleb such as myself who is trying to level up their expression controller skill? )

 

Again, thank you, I really appreciate your time and I look forward to your reply.

 

- Jesse

0 Likes
Message 7 of 7

leeminardi
Mentor
Mentor

- I actually need the opposite end of the hoses to remain still would I just reverse the order of the expression assignments?

The attached file has been updated tso that the other end of the hose is fixed.  Try it out.  The range of legitimate travel can be adjust by changing the "+600" term of the expression controller for point B and C.  

 

- I am still lacking in knowledge about the basics of expression controllers and I was wondering if you could tell me if I'm right in assuming that these values in the expression controllers refer to only those helpers positions along the X axis? if so, wouldn't this present a problem for situations where I would need to animate the whole assembly moving in other directions in the world space? Could this be solved by linking or attaching? do those expression controllers keep those helpers locked to that axis? ( would you happen to know of any tutorials you would recommend to a pleb such as myself who is trying to level up their expression controller skill? )

 

I have linked all the objects to DummyBase so that it should work at any location and orientation. Unfortunately, the slope handles of the spline at B and C do not rotate when the dummy rotates so the points all move and reorient as they should be the slope vector remains horizontal.  I do not know how to access the slope handles of a spline in an expression controller.  One possible solution would be to not use a spline but instead use to straight lines and an arc.  If interested I will take a look at this approach.

 

As for learning about expression controllers, I think these two youtube videos I made might be helpful.  Note how I use a base dummy in the second to allow the rig to be positioned anywhere in space.

 

https://youtu.be/VYaxjfu682w

https://youtu.be/zDWGOCK_EcE

Move box1 left or right in the attached file to see the action.

hh1.JPG

lee.minardi
0 Likes