How to add image on complex 3D model?

So i am new to 3D world and I am creating a website where we can upload a design (image) and that image should render on 3D model(car, van etc) and we can adjust the image and can change position through drag.
I saw many example online but all the examples are using single mesh and decal whereas i have a multimesh model.
This is my sandbox link:


  1. Use a geometry-based decal shrink-wrapped to the complex geometry, while keeping in mind that’ll be quite unpleasant to code, maintain, and in many cases would result in an absolute disaster due to low precision of shrinkwrapping.
  2. Or, apply same decal to each geometry separately and just sync the positions (personally, that’s the way I’d go with.)
  3. Or, merge the complex model into a single geometry and only then apply the decals.

is there any example online of option 2. I am new to threejs so it will be great if you have any.

or you can try use this method, using CanvasTexture