Changement de texture précis après collision
- Yondaime13
- Messages : 55
- Inscription : 16 Mars 2015 16:42
Changement de texture précis après collision
Bonjour les Unity addict !
Décidément je suis accro à vous, je pense que c'est l'effet débutant sur Unity !
Encore après de longues recherches sur Internet et des minces résultats principalement en anglais et vieux je fais appel à vous !!
Pour résumer mon problème je vais prendre deux choses simples, un cylindre et un plan muni d'une texture (ou une couleur). Ce que j'aimerai pouvoir faire c'est que lorsque le cylindre rentre en collision avec le plan, je voudrais changer la texture juste et je dis bien juste autour de la forme du cylindre et pas tout le plan.
Je sais pas si c'est possible, j'ai trouvé des gens parler de shaders qui prennent comme paramètre une zone d'intersection de deux objets mais vu que je ne comprends pas encore grand chose aux shaders je viens quémander votre aide !
Je vous remercie d'avance
Décidément je suis accro à vous, je pense que c'est l'effet débutant sur Unity !
Encore après de longues recherches sur Internet et des minces résultats principalement en anglais et vieux je fais appel à vous !!
Pour résumer mon problème je vais prendre deux choses simples, un cylindre et un plan muni d'une texture (ou une couleur). Ce que j'aimerai pouvoir faire c'est que lorsque le cylindre rentre en collision avec le plan, je voudrais changer la texture juste et je dis bien juste autour de la forme du cylindre et pas tout le plan.
Je sais pas si c'est possible, j'ai trouvé des gens parler de shaders qui prennent comme paramètre une zone d'intersection de deux objets mais vu que je ne comprends pas encore grand chose aux shaders je viens quémander votre aide !
Je vous remercie d'avance
----------------------------------------
La bêtise, c'est de la paresse.
----------------------------------------
La bêtise, c'est de la paresse.
----------------------------------------
Re: Changement de texture précis après collision
Tu pourrais pas résoudre ton problème en utilisant des decals?
Exemple (parmis tant d'autres): http://forum.unity3d.com/threads/decal-system.141792/
Exemple (parmis tant d'autres): http://forum.unity3d.com/threads/decal-system.141792/
- Yondaime13
- Messages : 55
- Inscription : 16 Mars 2015 16:42
Re: Changement de texture précis après collision
Je pense pas que ça soit exactement ce que je recherche après visionnage. En effet en vrai mon cylindre est dynamique et ça simule un perçage en fait ( cylindre -> sonde ) ..
Et de ce que je comprends un decal c'est une sorte d'image fixe alors que ce que je veux c'est que la texture change en fonction de la ou la sonde est ...
Je sais pas si c'est clair pour toi ?
Et de ce que je comprends un decal c'est une sorte d'image fixe alors que ce que je veux c'est que la texture change en fonction de la ou la sonde est ...
Je sais pas si c'est clair pour toi ?
----------------------------------------
La bêtise, c'est de la paresse.
----------------------------------------
La bêtise, c'est de la paresse.
----------------------------------------
Re: Changement de texture précis après collision
Salut,
Tu peux faire ça avec un decal qui va venir se coller au point d'intersection entre ton plan et ton cylindre
Tu peux faire ça avec un decal qui va venir se coller au point d'intersection entre ton plan et ton cylindre
Re: Changement de texture précis après collision
Si c'est un simple changement de texture le decal c'est parfait, comme dit Alesk tu positionne le decal à l'endroit du point de contact (dans OnCollisionEnter ça se trouve être dans les ContactPoints) et ça produire l'effet désiré. Par contre si tu cherche vraiment à faire un trou dans ton mesh, ça se complique un peu...
- Yondaime13
- Messages : 55
- Inscription : 16 Mars 2015 16:42
Re: Changement de texture précis après collision
Non je pense pas qu'il faut faire un trou dans le mesh ! La vidéo au lien suivant te montre ce que je veux faire :
https://vimeo.com/98452447
https://vimeo.com/98452447
----------------------------------------
La bêtise, c'est de la paresse.
----------------------------------------
La bêtise, c'est de la paresse.
----------------------------------------
Re: Changement de texture précis après collision
Sympa comme outil ^_^
Et donc toi tu veux faire les rectangles rouges qu'on voit à la surface de l'os ?
Et donc toi tu veux faire les rectangles rouges qu'on voit à la surface de l'os ?
Re: Changement de texture précis après collision
^^
A mon avis il parle plus de la texture anime qui est cree lorsque l'aiguille touche le noyau. ?
A mon avis il parle plus de la texture anime qui est cree lorsque l'aiguille touche le noyau. ?
- Yondaime13
- Messages : 55
- Inscription : 16 Mars 2015 16:42
Re: Changement de texture précis après collision
Je parle tout simplement le rouge qui se fait autour de la sonde quand elle est à l'intérieur de la vertèbre. Pas forcement quand elle touche le noyau, avant plutôt
----------------------------------------
La bêtise, c'est de la paresse.
----------------------------------------
La bêtise, c'est de la paresse.
----------------------------------------
Re: Changement de texture précis après collision
Ha ok, donc là c'est plus compliqué effectivement :p
Si tu veux un truc "souple" d'utilisation, il faut tester avec du dessin en temps réel sur la texture.
Pour ça il faut un dépliage uv de la zone qui soit le plus simple possible, puis lancer quelques rayons depuis les coins de ton bloc rectangulaire, en direction de la tranche.
ça va te donner une liste de points d'impacts dont tu pourras récupérer les coordonnées UV qui te donneront la délimitation de la zone de texture à colorer.
Il vaut mieux passer par une deuxième couche de coordonnées UV (et donc une texture vierge par dessus), afin de ne pas toucher à la texture initiale du mesh.
Si tu veux un truc "souple" d'utilisation, il faut tester avec du dessin en temps réel sur la texture.
Pour ça il faut un dépliage uv de la zone qui soit le plus simple possible, puis lancer quelques rayons depuis les coins de ton bloc rectangulaire, en direction de la tranche.
ça va te donner une liste de points d'impacts dont tu pourras récupérer les coordonnées UV qui te donneront la délimitation de la zone de texture à colorer.
Il vaut mieux passer par une deuxième couche de coordonnées UV (et donc une texture vierge par dessus), afin de ne pas toucher à la texture initiale du mesh.