- Home /
Apply a texture on model 3D with the Mouse Position taking account of the scale/position/rotation of uv // Appliquer une texture sur un modele 3D en fonction de la position du curseur en prenant en compte la rotation/taille/position des uv
Hello
Let me explain the project (all on runtime)
I want to create an application to show a model 3D imported in runtime (rotate around and zoom) and being able to print a logo/texture imported(with transparency) on the mesh with the mouse position to reexport the whole
I created a projector to preview the texture on the mesh (rotate with the hit.point and the hit.normal) To print, i take the hit.textureCoord and apply the texture around it (texture.width/2 etc...) with getPixel/setPixel (not pixelS because it doesn't apply the alpha on the pixel and print black pixel)
BUT : problem
The UV map is unknown (it's user's model), so the rotation, scale and position of areas are unknown (ex for box's UV, we can do it like a cross, or a T or explode ... )
The projector must show what it will be printing (scale/rotation/alpha) on runtime when i click, it must print my logo on the texture (actual or a new) taking account of all parameters of model
How can i adapt the projector and the print to make what i want?
Thanks for help :) Have a good day
sorry for my bad english
/////////////////////// /////////////////////// /////////////////////// ///////////////////////
Bonjour
Petite explication du projet pour mieu comprendre (tout est en temps réel)
Je veux créer une application pour visualiser un modèle 3D importé en temps réel (avec possibilité de tourner autour et zoomer) et pouvoir tamponner un logo ou une texture importé également (avec la transparence) sur le mesh en fonction de la position de la souris pour ensuite exporter le tout
J'ai créé un projecteur pour avoir un aperçu de la texture sur le mesh (orienté avec le hit.point et le hit.normal) Pour le tampon, je prend le hit.textureCoord et j'applique la texture autour de lui (comme si c'etait le centre donc je prend la moitié a gauche, la moitié en haut etc...) avec GetPixel/SetPixel (pas SetPixels parce qu'il n'appliquait pas la transparence, il appliquait des pixels noirs)
Mais problème les UV du modele sont inconnus (le modèle a été créé par l'utilisateur), donc la rotation la taille la position des différentes zones sont inconnus (exemple pour un cube, on peut deplier les UV comme une croix, ou comme un T ou en 3x2 ..) Le projecteur doit montrer ce qui sera tamponné (avec rotation/taille/transparence) en temps réel Quand je clique, l'apply doit tamponner mon logo sur la texture (l'actuelle ou une nouvelle) en prenant en compte tous les paremetres du modele (orientation et taille des uv )
Comment je peux adapter le projecteur et le tampon pour que ça corresponde a mes attentes?
Merci de votre aide :) Bonne journée
Finally, th eproblem is : how to print a logo on the mesh with the good uv coordinates? if i'm on the uv corner, i must to recover the good coordinates
Finnalement le probleme est : comment tamponner un logo sur le mesh avec les bonnes coordonnées ? si je suis sur le bord des uv, je dois récupérer les bonnes coordonnées
Your answer
Follow this Question
Related Questions
How to get uvCordinat of raycast hit without mesh collider 1 Answer
How to get precise pixel values form a Texture2D using uv coordinates. 1 Answer
How to go about Tile grid in 3d game? +How to make textures transparent? 0 Answers
Problem with texturing plane 0 Answers
Get texture with UV Mesh Mapping 0 Answers