ThreeJS DecalGeometry Alternative

Since decal geometry has stretching problems with it.
Are there any alternative algorithms available for attaching stickers to a model?

The added stickers are dynamically added. We can’t find the position beforehand.

Any insights would be helpful.

Related:

Thank You. I think there are no alternatives available for it then. :cry:
It could be better if there were examples but couldn’t find one. Maybe I am searching for a lot or asking a lot.

I am trying to create an editor that sticks images in a model and then move, rotate, scale those images and couldn’t find any ideas. One idea was to use DecalGeometry to stick images to model and then move the decals but looks like they inherently have stretching problems with them because of the approach they use.

I implemented a paper that works well with our requirement.
Thank you for the reply.

Hi, I have a similar issue that I’m trying to overcome – would you be able to share the paper/your approach?

The paper I used is called ExpMap.
I got a matlab code from the paper author and ported into Javascript. But this approach is not one size fits all as the approach to calculate uv coordinates is different.

This is the link to the paper;

Matlab Code:
https://www.dgp.toronto.edu/~rms/software/matlabmesh/

Hope this helps.

3 Likes

Nice article. So basically for every vertex they calculate a distance to decal center and and 2D direction, right? That would be quite a lot of code, no? ah I see they discuss an “approximation” method.

Umm yes.
I have found HeatMap method for geodesic approximation to be faster than dijkstras’ algorithm they implement in their code. Keenan Crane - The Heat Method for Distance Computation

I think we can calculate the decals uv directly if we have the geodesic distance but not implemented heat-map method directly yet.

1 Like