0

As a note: below images are a massively simplified representation. The actual objects contain way more vertex.

With a lot of manual labour I can reach my goal but since I need to process lots of similar situations, I wonder if someone can think of an easier way to accomplish the following:

I'd like to curve a mesh1 onto another mesh2 that's already curved.

orange face needs to 'follow' blue face

I've created a curve (path2follow) along mesh2 to use in the curve modifier applied to mesh1. Because mesh1 has a different vertex layout, the 'fold lines' aren't there so the result on the default mesh1 is flawed (understatement ;-).

The 'curve' applied to mesh1

So at the moment I measure the distance between the folding lines (they are not equally spaced) by calculating vector length in 3D and add these point to mesh1 with edge/subdivide. I then 'knife' mesh1 along these points to create additional folding lines and keep faces in tact (in fact create new ones easily).

Added 'folding' lines by hand with knife-tool

When the curve modifier is now applied, the result is as desired but with a lot of manual labour. There must be an easier way... ?

The end result as desired

I've looked at this answer, although I'm not using text, but I'm not able to add a lattice if that would be a solution. Any suggestion is appreciated. Thanks for your time.

[UPDATE]

So I thought I'd simplify the meshes because I was looking for the method but apparently it' not that easy. I've uploaded the original file with full mesh details:

A screenshot can be seen here:

Original mesh to curve

Leon
  • 1
  • 1
  • Why can you not add a Lattice? Have you had a look at the Shrinkwrap modifier? – rob Jan 10 '19 at 13:50
  • 1
    The silly answer would be 'just make a copy of mesh2' .. but it's not silly to ask why not... What exactly do you need? To animate between the two? Project the topology of one onto the other? Something else? – Robin Betts Jan 10 '19 at 14:09
  • @rob: Lattice is disabled when I try to apply it? There's no object to apply it to? It might not be that I'm not able to, I probably don't know how. Shrinkwrap completely deforms mesh1 (in the real project) – Leon Jan 10 '19 at 14:28
  • @Robin Betts: I import mesh1 from svg. It's not for animation but you should see it as 'applying a decal'. The end result has to be exported again as an .obj file. Since all has to be in one file, applying a texture isn't an option (I've used that and that works but you can't embed an image in an .obj file). – Leon Jan 10 '19 at 14:34
  • The answer you refer to looks good .. you have to create a Lattice object, not just an ordinary mesh, and assign the modifier to the object to be deformed?.. Also the SVG may need to be prepared for deformation, sufficiently subdivided in the right directions... – Robin Betts Jan 10 '19 at 15:35
  • @Robin Betts: You're absolutely right. I completely overlooked the Lattice object and focussed on the Lattice modifier. Now that I have that object, I'm able to curve it to mesh2 but mesh1 won't 'stick' to it and remains in it's original position.

    I've done as in the referred answer: add lattice object, apply lattice modifier to mesh1 and select lattice as object. Apply shrinkwrap to lattice object and select mesh2 as object. Like said, the lattice ends in the right position, mesh1 does not.

    – Leon Jan 10 '19 at 16:09
  • The only thing I can think of is the 'Strength' field in the modifier isn't set to 1? Or you're in edit mode and not set to show the modifier there? .. I'm loth to repeat cetagon's answer.. if it doesn't work, share the file, or a subset/example you have permission for, at https://blend-exchange.giantcowfilms.com/ – Robin Betts Jan 10 '19 at 16:44
  • Strength was set to 1. And the modifier should show in edit mode. Once leaving edit mode it should be visible after applying but that isn't the case either. I've now uploaded the full mesh to curve for someone to take a look at. – Leon Jan 10 '19 at 19:15
  • If your primary objective is to save time , I think you've found the fastest way. I tried projecting mesh 2 onto mesh 1 to get the cuts, but no luck, the topology of m1 is pathological. @Josh's answer is quite right for a 2D deformation, but the topo needs cleaning up. If you need to do this a lot I think you will have better luck with non-compound, text-like svgs, breaking the job up.Maybe the question should be 'how do I create cleaner svg's?' – Robin Betts Jan 11 '19 at 17:48
  • I know. It's a scanned image, traced and converted to svg. Then imported and converted from curve to mesh. So far these have been the best results. Not perfect I know. I'll have to search for a better tracer then.... – Leon Jan 11 '19 at 21:09

1 Answers1

3

Lattice is useful if you have to deform a solid (like a 3D text on a curved surface). If it's only a plane to shrinkwrap to another curved plane, you can simply subdivide the mesh enough to get the desired resolution, adjust the view for the desired projection, go to edit mode, activate the face snapping and "project individual elements on the surface of other objects"; then select all vertices and slightly move the vertices: they will snap on the surface of any underlying object, with a view-dependent projection.

enter image description here

josh sanfelici
  • 26,917
  • 2
  • 20
  • 40
  • I'm afraid mesh1 isn't that simple. It contains multiple colours and loads of faces (irregular). I've updated the original question and added the .blend as well. – Leon Jan 10 '19 at 19:16