# Duplicate Locked using Geometry Node

Question: I have two models. One duplicate, non-rigged. The other Rigged. Same geometry. In Geometry nodes, how do I make the duplicate mesh wrap over and "lock" onto, literally, vertex to vertex, it's original mesh? When it poses, the other follows. I wouldn't know where to start (nothing works when I use geometry nodes).

Why (maybe there's an alternative?): Testing to see if I can use object space normal map's limitations to not respond to light on a rigged model due to having deformations. Curious to know what it would look like on my toon shader with custom-painted normal maps.

Tangent normals don't "snap" like object normals when I average the normals. I had a similar method in Maya back in the day. Was wondering if it's possible to do that here too. Each deformation made on the rigged model is simply moving the vertex in the duplicate model, thus bypassing the rule and allowing object space normals respond to light like it does when you move the model around without a rig. But once you have it rigged, the normals lock.

• what do you mean by wrap over? just duplicate? here you are: [1]: i.sstatic.net/v5mqZ.png, but i think you want something else so maybe improve your question to make it clear? Commented Jun 22, 2023 at 13:52
• I edited in that I provide the two geometries.... I did state that one is rigged and the other isn't though. I appreciate the help, my friend. Commented Jun 22, 2023 at 14:18

I'm not sure how snapping another duplicate model with the exact same geo, is any different than using the rigged mode itself. but here is how to do it.

• you want to create a Geometry node modifier on the duplicate (non-rigged).

• you then bring the rigged object into the node tree via an object info node. you also want to set it to relative.

• to get the position from the rigged model to the duplicate you want so use a sample index node (blender 3.4 +). set the type to vector and domain to point

use the position node as the value. use the index node as the index.

• now you have the position and need to set the position of the duplicate with the set position node.

just plug the output from the sample index node as the position input on the set position node.

• I might've gotten the node wrong (doesn't seem to work at the moment)? Here's my screenshot. i.imgur.com/In12HWQ.png Hopefully when the model poses, the mesh with matching vertex follows, that way although it's deforming, it's at least able to respond to the light. Any time a rigged mesh has object space normal maps in the shader, the light doesn't respond unless you move the light only (The light is as stiff as a brick when the rigged/deformed model is moving). Commented Jun 23, 2023 at 7:34
• you did one mistake. you should use the position node not a value node. (what you are currently doing is setting the position of every to 0. you want to set it to the position of the other mesh) Commented Jun 23, 2023 at 20:02
• I have a feeling it really a shader problem. Commented Jun 23, 2023 at 20:04
• Didn't seem to follow the nearest vertex, sadly. Here's a video: i.imgur.com/BzOoAtp.mp4 Mind if I see a screenshot on how you got it to connect and lock, pretty please? I don't mind if it follows nearest shape if vertex is the limitation. Commented Jun 26, 2023 at 8:11
• Hi, @shumel .. I know you don't mean to be mean.. but IMO we've got to bend over backwards, on BSE, (where our limited channels can easily be misinterpreted,) to avoid that impression at all costs. Perhaps this tension has arisen because it's actually very difficult to communicate some technical concepts, even simple ones, in words alone. A minimal example, (say 2 IK bones deforming a cylinder?), shared in your answer, might help clear everything up? Worth a try. Commented Jun 30, 2023 at 8:02