1
$\begingroup$

I would like to fake the "mirror" modifier in Geometry Node (Blender 3.0) except that I only want to keep the mirrored object (to parent it to some bones), but I can't find how to do. All transforms in GeometryNodes seem to be in the local space, while I need to change the global position of the vertices.

enter image description here

For now, I created a first curve object called "WingModel" (on the left) that I can freely edit (I want to keep non-destructive editing). Then, WingLeft is just a Geometry Node taking the geometry of the WingModel using Object Info, that I position as I like. Now, I want to design WingRight to be the mirror of the WingLeft, ideally using Geometry Nodes.

$\endgroup$

2 Answers 2

3
$\begingroup$

You can achieve the desired result in the following way:

  1. First move the transformation (position, rotation) of the right wing to the node Transform in the geometry nodes.

  2. For the left wing, use the vector node Reflect and feed the resulting vector into Set Position to create a flip on the X/Y axes.

It is also advisable to set the origin point of the object to the place where you want your center of rotation to be, because this makes the result more controllable.

enter image description here

$\endgroup$
2
  • $\begingroup$ Thanks a lot for your nice trick! (I could not find reflect, so I used math vector > multiply > (-1,1,1)) But I still have a few questions 1) Oh, this set position sets the position of each vertex relative to the object center? I though it was setting the position of the center of the object, now it's clearer ^^ 2) Do you know how I could do the same, but when the center is an absolute point and not the common origin of both objects? Sometimes, I may like to move my object globally (without using the transform operation) as it's much easier to use when moving multiple objects. $\endgroup$
    – tobiasBora
    May 5, 2022 at 20:21
  • $\begingroup$ I explained in another comment how to mirror the object relative to the absolute XZ plane. $\endgroup$
    – tobiasBora
    May 6, 2022 at 7:55
4
$\begingroup$

To complete on the answer of quellenform, here are some variations depending on what you want to do:

Mirror: use object as center

When using quellenform's solution, the mirrored object is not moved when the parent object is moved. A first solution is to parent one object relative to the other. The other solution is to use the location property to translate appropriately the object.

enter image description here

Mirror: use world YZ plane as center

If one wants to use the absolute world center to mirror the object, you can do something like that on the mirrored object:

enter image description here

Note that for this to work, you need to be sure that your second object has position (0,0,0). Here is a more complicated setup that also work when the second object is not at position (0,0,0), and that also works when the object is scaled with a positive scale (see also Blender: get/set absolute location of object in Geometry nodes).

enter image description here

Demo:

enter image description here

$\endgroup$

You must log in to answer this question.

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