# Override motion of point within mesh. Stabilize other key points. All others adapt. (Similar to puppet pins in AE.)

#1

Attached is a simplified example I created to represent a complex mesh I have where I need to override the motion of certain points with dynamic data from another source. I need the object to stretch as if the over-ridden point were an AE deform pin using the After Effects puppet warp.

For a 3d example, I need it to do what’s happening in this video:

(btw… am I missing a way to embed YT vids? I tried wrapping in [youtube] [/youtube] tags, but no go.)

Now, my understanding is that it works in the video because the cube is a primative, so moving a single vertex by default creates a puppet pin type situation where the other vertexes are locked, and only the intermediate points along the edge leading to the vertex being overridden are scaled to warp along with that point. To tie back to the AE metaphor, the vertex moved by the pencil tip here is the deform pin, and there is a starch pin at each of the adjacent vertices. so everything in between adapts between the default (cube object) position, and the overridden (pencil point global) posiition.

Ideally, there should be some sort of control for the degree of starch in the starch pins (Like in AE starch pins… are they absolutely unmoved, or only partially so.), and for the linearity of the adaptations in between (is the stretch even across the affected points, or stretched more the closer it is to the point being overridden)? One problem at a time, though… just trying to give a general overview of the larger goals.

As mentioned, though, I’m dealing with a mesh, and not a primative.

So, if you look at the following sample project:

puppetpins.c4d (267.7 KB)

You’ll see that I have a mesh (in the shape of a cube) where the center point in the top face has it’s motion completely overridden so it is ignoring the x and z axis motion of the mesh containing it, and is instead moving on it’s own in the y axis.

Currently, it only affects itself in the sense that no other points are adapting to it’s override, so there is no warp of the overall shape. The goal is to be able to manually determine (like the AE puppet tool) which other points are stable and then have all others adapt (stretch.)

So, for instance, this cube has red corners on the top. The simplest example would be bending the top face such that it warped into a pyramid as the red points were unaffected, but the rest of the top face adapted toward the green center point.

As mentioned, though, this is just a simplified example. What I really need is to be able to determine ANY points I choose as the stable ones. So, I should then be able to lock down the blue corners instead so they are completely unaffected by the green point override, but the entire shape (except for the bottom face) then adapts as it is pulled by the green point.

Simplest example I can think of is the AE puppet pin as it matters not only where the pin is being moved, but also where the other pins are that lock it down in other spots.

Reading up right now on vertex maps as that seems to be the general concept in C4d speak in that it determines how much any given point is affected by deformations, but so far only seeing how it applies to deformers… not to deformations caused by a specific override of a point’s coordinates (which will be fed via xpresso from a matching vertex in another object… much like the tracking data being applied in the video.)

#2

I see you discovered ‘MochaBlend’. I purchased that plugin at NAB a few years ago but sadly never did anything more than play around with it. I’m unsure if it works in R20.

I didn’t sleep well and am still half a asleep…and unsure of exactly what you want…but…

But it sounds like perhaps what you want is a custom selection and then a move operation (you will want smooth selection enabled w/your move tool). Keyframe it. Add jiggle deformer under object.

Alternatively you could also create a vertex map where precise points are stored in a selection and some points can be partially selected. (You brush on the weight) Then of course you can move only the mapped selection.

#3

Not actually importing anything fom AE… Just using puppet pin as an example of behavior I’m looking for, and vid as graphic representation of the concept of point bening moved while deforming shape adaptively without moving starched points.

Reading up on vertex maps now.

Seems like what I’m looking for, but all info I’ve found so far on them refers to them affecting deformations caused by a deformer.

Deformation here (the independent movement of the center green dot) is being caused not by a deformer, but rather by the position of that particular point being overridden.

Still watching tut. Will try in a few minutes, but can vertex maps be applied to deformations caused by manual override of a point’s position as opposed to deformer?

#4

Vertex maps are similiar to selections but have added power in that they aren’t limited to binary settings. Points can be selected, or unselected…but also partially selected across a weight gradient.

Some tools also offer a “Soft Selection” option. Here I selected your top poly’s and used a soft selection. The yellow gradient displays the selection intensity.

#5

Yeah, looks like they would be able to address the linearity of the deformation across the shape, etc… just about to try it out, but a bit confused about applying them to manual point movement as opposed to deformer. Maybe it just works automatically. Will see in a minute…

EDIT: Also… is there a way to ONLY select the given points (like puppet pins) as binaries… and then just assign a global falloff for all others so it’s precise and not repainted gradients every time you change position of starch points?

#6

Hmm… OK. Not sure what “some tools” refers to.

The actual use case here is that I have a very complex organic mesh with tens of thousands of points. There are a handful of very specific points I need to be strictly controlled by their corresponding point in an intersecting object so the intersections are always exactly at those points.

There are other points in the organic mesh that should not move at all, so the idea is to starch them in place, allow the overridden bits to be precisely placed, and smoothly deform everything in between… ideally with a simple global control for the falloff.

The only thing I’m not liking about the vertex mapping stuff I’ve looked up so far (assuming it can be applied to manual movement instead of deformer) is that it is hand painted whereas I’d prefer if possible to control falloff via curve or other procedural method.

Looking into soft selections…

#7

After adding a vertex map to an object you can double click it and you’ll be in a paint mode where you can paint the maps intensity with a brush. And the brush has different modes to add/remove/blur.

Be careful…you want to add and modify a standard “vertex (weight) map” not “Vertex Color”

#8

After your vertex map is created you can use it as a falloff for various operations.

#9

OK. Looking into vertex map painting in a few minutes. Watching vids for Nitro Falloff right now to see if it would allow for assigning a few key points as binaries while dialing in the falloff between them. Seems like it would as it allows falloff of various types defined between any 2 points… just not sure if it would work between one moving point and multiple starch points… like would that be one instance for each starch point? Really need looking to create a falloff ngon where one poiint is fully overridden, all others in ngon are fully starched, everything beyond the fully starched ones is fully starched, and every one between them and overridden one is then controlled via falloff curves.

One of these days, I’m going to make an audio compilation of his vids just so he can lull me to sleep. Love his voice.

“And here-a we make a plane-a and a make eet editee-double-u.”

Of course, it helps that the plugs are great too.

#10

You can also create a vertex map from a selection…sometimes more precise than painting.

1. Select Desired polys
2. Select menu: Set Vertex Weight (it auto-adds tag and assigns weight)

You can still paint on it afterwards to modify.

Good luck…I’ll check back later.

#11

Hmm… ok. I was looking to lock points to their matching ones in the other object. Polys might work. Not sure. I’d have to test the bigger project to see.

Just checked, and Nitro Falloff does work with either points or polys.

thx.

#12

One last thing…Sadly I’m not sure Nitro FallOff is fully compatible in R20.

Tools like move, scale, rotate have a variety of native fall-off options that work without selections/vertex maps.

#13

OK. I was wondering that. Just finished vids.

Yeah… I could be wrong, but it seems like the bits I needed it to do are now native functions as the falloffs are separately available outside of the deformers.

I may have stumbled upon the way to make an falloff that matches the exact shape of deform and starch points too. Haven’t tried it yet, but if I understand correctly, you can set falloff to “source”, then feed it the exact (editable) shape you want falloff to follow, then use all the falloff curves as necessary. AFAIK, it would require building a shape first that matches the various pin points, but should then work exactly as I was hoping. Not sure. Basic issue is that some starch pins will be closer than others, so something like spherical falloff would fail, and would really like to retain simple global curve control over falloff to all starched points regardless of where they are.

Searching for info on fall-off applied to move tool…

#14

Another option would be to use an FFD deformer which puts a cage around an object. The FFD’s cage’s points/polys/edges can be manipulated.

I have never tried xPresso with FFD but in theory one could parent one of the cage control points to another object.

#15

May need to look into that in a moment. I’m about a third of the way through the deformer tuts you listed earlier. Hadn’t hit ffd yet.

Not seeing yet how the vertex map thing makes it happen. If I select all of the points and try to move or rotate them, they will move (or not) according to the vertex map, but grabbing and moving any one point is simply allowed or disallowed according to the vertex map… The movement itself doesn’t change anything about the points around it. Maybe I’m missing some other thing that needs to be used in conjunction. Not seeing any difference at the moment with the various options like surface and rubber.

One really nice thing I noticed in the Nitro Falloff plug I’m not seeing in the field options is that it gave precise points for the start and end of the falloff which is MUCH more useful than the center point, direction, length the fields give. In conjunction wth snap, it’s exactly what’s needed to go from exactly 0% influence at one pont to exactly 100% at another.

Since my complex organic shape will be moving, this would also allow me to just feed the dynamic coordinates of the points directly into the falloff controls so the falloff field moves with and always exactly matches the pins. That being said, something must have changed since directions I found to create custom falloff shape where I can just define the deformation pins and starch pins… I’m not seeing that custom option. Probably possible via formula or something like that, but not sure what that would look like.

Ultimately, what I want is to just have a list of binary pins (deformation or starch), and to be able to feed the coordinates of each dynamically, and have it automatically recalculate the shape of the field (shape defined by the moving pins), and then have the usual curve controls for controlling falloff within that field.

#16

Looking into ffd led me to mesh deformer. So far, looks like ffd, but allows custom cage, so if I can define the platonic solid cage by defining the points dynamically, sounds like a potential winner. Need to dig a bit deeper to see how the falloffs would be implemented.

#17

Actually I found something that might be better than FFD.

It is called Cluster. It flies under the radar as it isn’t a deformer, though acts like one. It has lots of controls to weight, fall-off, etc.

And without using any xpresso or special tags it re-directs point location to a secondary object.

You’ll need a cleaner mesh set-up than what I have here, and might need to play with object’s weights/fall-offs, etc. But this is a bit of a gem that is easily overlooked.

Interesting that you mention the Cage Deformer. Cluster can work in combo with the cage. So if you like Cage you might like it even more in combo with Cluster

If you play with the file here…move the pyramid object around…you’ll notice that the deformation follows it.

File Attached.Cluster.c4d (1.5 MB)

#18

Will check out in a moment. Just finished a couple mesh deformer tuts, and looks like it may work.

If I understand correctly, I’d take the point targets from the sister object where I need to match point collisions, and feed those to both the matching points on my object and to a platonic solid defined as the most basic shape defined by those points as vertices.

If that can be done such that the cage moves automatically with the shape, it certainly looks from the tuts like that means it is automatically treating each point as a puppet pin where anything is stretched until it hits the boundries determined by the other pins (cage shape). If it’s correctly calculating the irregular falloff of that shape, then that should do it… assuming I can have access to the usual curve controls for linearity of falloff.

#19

This thread discusses cage + cluster.

OK…I’ve let you distract me. I’m a sucker for a challenge. Now I seriously gotta get back to my real work.

#20

The general mesh cage thing seems to work. Mixed results using cluster. I may just need to spend more time understanding exactly what’s contained within the cluster object, but I’m not currently seeing how to dynamically change it’s shape as I will need to be constantly updating each of it’s vertex coordinates via xpresso.

Trying to think through how much the falloff controls and details of cluster will matter as the basic concept is up and working with simple (non cluster) cage in mesh deformer. that touch edge of cage stick 100%, and those inside move in basic proportion. That may be enough. Hard to tell until I can get organic forms loaded into it and start wiring up the coordinate translations.

I’ve hit a bit of a dead end trying to feed changing shape data (vertex points) to the cluster object. If you can think of anything there, I’ll take a look, but I need to start trying to get bits of this wired, so will try with basic cage.