2
$\begingroup$

Usually when I work with photogrammetry or in other usages, I need to combine two meshes that have different position, rotation and sometime even scale.

The best way to solve this problem is by selecting 3 points that are present in both model.

  • Using 1 point : have the correct location of the model in 1D

  • Using 2 point : have the correct location and rotation and scale in 2D

  • Using 3 point : have the correct location and rotation in 3D (scale is usually consistent and done in with two point)

Here is a GIF example of my method.

2mb gif is low :(

2mb is very compressed

As you can see, I use an edge that I extrude in X direction, apply to rotate to my control point, and parent it to my object to have the 3rd axe of movement (locked between the two points a damp track can be used if you want make sure it stay connected to the two first point control) using object local rotation.

I don't think it's the best method, do you know if there is another way to do it faster and easier ?

Edit : I took the example with monkey as it was easy to understand, but I often need to merge transforms of more complex mesh like for example in photogrammetry. I already work with this 3 point method, it's just I think it's a long and fastidious process, and if there is already an addon, or a tool in blender that allow to make the 3D cursor rotation perpendicular to the line between point 1 and point 2, this would make things easier.

Thanks.

$\endgroup$
8
  • $\begingroup$ My guess is someone called Robin will propose a geometry nodes solution for that ; )... $\endgroup$
    – lemon
    Commented Nov 24, 2021 at 18:26
  • $\begingroup$ It's possible to do this without doing any of it to eye, using constraints, but it's probably not easier-- just more exact, without any fiddling with manual rotations. Is that something you're looking for? $\endgroup$
    – Nathan
    Commented Nov 24, 2021 at 18:41
  • 3
    $\begingroup$ fwiw it's called a Helmert transformation $\endgroup$
    – Gorgious
    Commented Nov 24, 2021 at 19:44
  • 1
    $\begingroup$ If you're dealing with photogrammetry I cant' recommend enough the free & open source CloudCompare which does the job very well. See for instance youtube.com/watch?v=8lxFsXgXdTY $\endgroup$
    – Gorgious
    Commented Nov 25, 2021 at 7:55
  • 1
    $\begingroup$ Thanks, but I already use cloudcompare for a lot of stuff, but I still need to do a lot of things in blender as cloudcompare can't do all (for example touch ups in sculpt, and texture manipulation) Having a better way or an addon for helmert transformation, instead of using many empties would be easier, but if there isn't, then i'll continue to do like I do. $\endgroup$ Commented Nov 25, 2021 at 9:04

1 Answer 1

3
$\begingroup$

If the the meshes are identical, apart from the translations, rotations and scale, this can be done by snapping alone, I think the only bit you could improve is using a Custom Orientation?

  • Set Snap to To: 'Vertex' With: 'Active', influencing translation, rotation, and scale.
  • Set Pivot to 3D Cursor.
  • Establish a common vertex, and ShiftS place the 3D cursor there, on the target mesh.
  • Create a Transform Orientation from a common edge from that vertex, on the target mesh.
  • Snap the (active) source common vertex to the target vertex...

enter image description here

(above)..

  • Make the other end of the common edge active on the source

  • RX and RZ align the common edges.

Next, the scaling step:

(below)..

  • S scale the source object, snapping the common edges to scale.
  • Now you can RY rotate the source around the common edge, snapping another convenient active vertex to the target:

enter image description here

(You could also deal with non uniform scaling, in a similar way, now, if you needed to)

$\endgroup$
2
  • 1
    $\begingroup$ Thanks for the answer, this could be a good answer if edit mode had been faster (even if I'm not sure if it's appliable to my use case) Sorry i didn't mention it in my original question but : I'm often working on photogrammetry (with more than 30 to 80M poly objects) it's easier to stay in object mode, and use area with high contrast or in texture instead vertices. $\endgroup$ Commented Nov 24, 2021 at 22:41
  • $\begingroup$ @softyodayoann OK, I got the wrong end of the stick and took your illustration too literally. Million-poly objects sounds like a whole different ball-game $\endgroup$
    – Robin Betts
    Commented Nov 25, 2021 at 8:21

You must log in to answer this question.

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