Jump to content
Hash, Inc. Forums

Archived

This topic is now archived and is closed to further replies.

Nosferatu

Plugin request

Recommended Posts

Back in the mid 90's (1890's...I'm very old) I used to used to model with RayDS and it had a great feature for positioning models relative to each other. You could actually move models to butt up against each other as the program would sense their surfaces touching. So putting a glass on a table was simply a matter of dragging it to the surface until the glass stopped moving.

 

Is this possible to acheive in A:M or is there a technical challenge that won't allow it?

 

Boy, would love to be able to have my vehicles sense the road surface.

 

I realize there is a "surface constraint", but it doesn't seem to lend itself to a vehicle travelling long distances.

 

What do you plugin Masters think? Is this possible to do? I would pay a healthy wad of cash to have that capability.

 

Nos

Share this post


Link to post
Share on other sites
Back in the mid 90's (1890's...I'm very old) I used to used to model with RayDS and it had a great feature for positioning models relative to each other. You could actually move models to butt up against each other as the program would sense their surfaces touching. So putting a glass on a table was simply a matter of dragging it to the surface until the glass stopped moving.

 

Is this possible to acheive in A:M or is there a technical challenge that won't allow it?[...]

Drop your glass model over your table model in the choreography window (from the top view)

Share this post


Link to post
Share on other sites

I have never been able to get something like this to work either, and end up key framing vehicles to keep the wheels in contact with the road.

 

Paths are OK but the path is rarely perfect enough to make the wheels appear in the correct vertical orientation.

 

Using a spline as a path does not work reliably enough (after a couple of chor mods, that contraint to the spline gets broken and you need to redo it. At least that is the way it was in V11 when we stopped using it.

 

David

Share this post


Link to post
Share on other sites

NewtonPhysics can do this example

and yes a objecttype vehicle for the newton plugin is also on my todo list .

But I'm not sure how to implement the movement . In the way demonstratet in the example (model assigned to a path , then baked) or with forces (forward,brake and turning left,right).

Share this post


Link to post
Share on other sites

Drop your glass model over your table model in the choreography window (from the top view)

 

That works great for the kind of scenario you're describing, but it won't work for moving a vehicle along an irregular surface or for lateral positioning.

 

NewtonPhysics can do this example

and yes a objecttype vehicle for the newton plugin is also on my todo list .

But I'm not sure how to implement the movement . In the way demonstratet in the example (model assigned to a path , then baked) or with forces (forward,brake and turning left,right).

 

Steffen,

 

Is it possible to create a plugin that simply detects two surfaces touching thereby preventing one object from intersecting another? In other words, simply enabling the animator to drag one object against another in real time within the chor (the purpose would simply be for positioning...no dynamic calculations necessary).

 

I'll send you a blank check if you can do it! David, do you have a spare blank check?

 

Nos

Share this post


Link to post
Share on other sites

Is it possible to create a plugin that simply detects two surfaces touching thereby preventing one object from intersecting another? In other words, simply enabling the animator to drag one object against another in real time within the chor (the purpose would simply be for positioning...no dynamic calculations necessary).

 

Cloth does it, but I don't know how you would set it up to do what you're after...it may or may not work for your problem.

Share this post


Link to post
Share on other sites

Surface constraint will work, kind of...

 

My vehicles rarely stay on the road, and I usually make the road its own model, so when the vehicle leaves the road, so does the constraint.

 

I would like to just keep the wheels in contact with surfaces. It would save me a lot of time.

 

David

Share this post


Link to post
Share on other sites

Is it possible to create a plugin that simply detects two surfaces touching thereby preventing one object from intersecting another? In other words, simply enabling the animator to drag one object against another in real time within the chor (the purpose would simply be for positioning...no dynamic calculations necessary).

 

Cloth does it, but I don't know how you would set it up to do what you're after...it may or may not work for your problem.

 

 

Yes, that' the idea I'm after, just a simple sensing of surfaces touching. It would be so much easier to animate vehicles on an irregular road, and there would be countless other uses. It's nice to be able to drag an object around in the chor and judge its position by sensing its collisions with other objects.

Share this post


Link to post
Share on other sites

Well, if it's a flat road/table, once you've dropped the object, you can drag it from within the camera and it will stay at the same level.

 

But I understand it's not the same thing. I imagine collision detection like that would use alot of computer resources. Maybe it's possible though.....so get your feature request into AM: Reports. It would be a cool thing to be able to do.

Share this post


Link to post
Share on other sites

if i remember poser 5 or so has this feature and it was a simple turn on or off if you wanted it. I never did notice a drop in performance when I used it. Then again I never used it to extensivly either

 

oh and that was using poly's not patches.........

Share this post


Link to post
Share on other sites

Well, if it's a flat road/table, once you've dropped the object, you can drag it from within the camera and it will stay at the same level.

 

But I understand it's not the same thing. I imagine collision detection like that would use alot of computer resources. Maybe it's possible though.....so get your feature request into AM: Reports. It would be a cool thing to be able to do.

 

I used it all the time in my old program back in the late '90's and as I recall there was hardly any performance hit at all. And my PC then must have been well under 400 MHz.

 

The whole problem is that a placed object will stay at the same level and not adjust to a surface. Currently I'm using a banked track for my vehicles to travel along, and it would be great to place the vehicle, key it, then move it along "X" feet and key it again. Of course I can do that now but I have to be ultra careful that all 4 tires don't sink below the track surface. Imagine how workflow would be improved if I could just slide my vehicle to the track, inspect the tires for "flushness", make appropriate rotational adjustments, and on it goes.

 

I didn't even consider sending it as a feature request...I thought it would be a job for a plugin. I'll go ahead and send it in as a request.

 

Nos

Share this post


Link to post
Share on other sites

I'm thinking the surface detection thing would work by adding null bones to the bottom of each tire that act as surface sensors (they don't rotate with the tire), so, basically as the car moves along the surface, the tires will move up and down in relation to any bumps or irregularities in the road. Then somehow those nulls or bones could be tied back into the main bone of the vehicle, with some sort of value that allows the tires to go so high or so low before the car physically moves up and down, similar to shocks. And eventually the car levels itself out to where the tires are.

Share this post


Link to post
Share on other sites

Eh, so this feature would automatically know where the shock absorbers in a truck are? :blink: Surely we're just talking the model bone detecting the surface and moving along it.

Share this post


Link to post
Share on other sites

I'm thinking the surface detection thing would work by adding null bones to the bottom of each tire that act as surface sensors (they don't rotate with the tire), so, basically as the car moves along the surface, the tires will move up and down in relation to any bumps or irregularities in the road. Then somehow those nulls or bones could be tied back into the main bone of the vehicle, with some sort of value that allows the tires to go so high or so low before the car physically moves up and down, similar to shocks. And eventually the car levels itself out to where the tires are.

 

 

Oooooooo (hand raises in the air to be called on).

 

What if we made a carriage of sorts for the vehicle?

The carriage would have 5 nulls:

1 (4 total) for each wheel which would follow the surface

1 for the main body bone, the constraint would lag slightly to show the suspension compressing etc. (this would work for compressing the suspension, but would it work for say cresting a bump?)

 

 

I would still have an issue when the vehicle left the road, unless the road and not-road were actually one model.

 

Nos is right about how time consuming it is to key vehicles just to make sure the tires (or tyres as our European brothers say) stay in contact with the road.

 

David

Share this post


Link to post
Share on other sites

I'm thinking the surface detection thing would work by adding null bones to the bottom of each tire that act as surface sensors (they don't rotate with the tire), so, basically as the car moves along the surface, the tires will move up and down in relation to any bumps or irregularities in the road. Then somehow those nulls or bones could be tied back into the main bone of the vehicle, with some sort of value that allows the tires to go so high or so low before the car physically moves up and down, similar to shocks. And eventually the car levels itself out to where the tires are.

 

 

Oooooooo (hand raises in the air to be called on).

 

What if we made a carriage of sorts for the vehicle?

The carriage would have 5 nulls:

1 (4 total) for each wheel which would follow the surface

1 for the main body bone, the constraint would lag slightly to show the suspension compressing etc. (this would work for compressing the suspension, but would it work for say cresting a bump?)

 

 

I would still have an issue when the vehicle left the road, unless the road and not-road were actually one model.

 

Nos is right about how time consuming it is to key vehicles just to make sure the tires (or tyres as our European brothers say) stay in contact with the road.

 

David

 

 

It sounds like David's solution would do the job. As far as when the wheels leave the road, why not set it up like an IK leg? It seems to me that would work great. I don't have time at the moment, but, I'll see if I can illustrate it sometime late tonight with an example.

Share this post


Link to post
Share on other sites

Okay, I have put up a very simple example of how a leg IK setup can be used in a car's suspension in this thread. I hope it is helpful.

Share this post


Link to post
Share on other sites

×