[WIP] Fur shader DX11

Questions à propos du scripting Shader.
Avatar de l’utilisateur
F@B
Messages : 1844
Inscription : 01 Août 2013 10:41
Contact :

[WIP] Fur shader DX11

Message par F@B » 08 Juil 2015 09:49

Salut à tous!

et voila je vous montre ici mon petit wip sous unity d'un shader DX11, pour ceux qui ne connaissent pas déja! ;)

le principe c'est un shader en Tessellate, sur lequel le geometry shader extrude chaque Edges.

chaque edges extrudé fait donc un poly sur lequel je map une alpha, et sur l'aquelle j'utilise la couleur de l'UV de départ de l'extrude.
il y a une map de longeur de l'extrude, et j'essaye également de trouver une façon de faire une map d'orientation des poils. Celle ci donne plutot un usage de mèches (clump) que d'orientation. il faut que je réfléchisse au normalmap non tangent space mais worldspace. pas simple!!!!

ensuite je pensais extruder plusieurs fois l'edge pour donner une légère courbure et animer plus facilement ces extrusions.
puis faire un LOD.
et surtout l'éclairage

tout ceci est en TODO voila le résultat provisoire :

ici avec la passe de semi transparence :
Image

un test d'orientation sans semi transparence :
Image

une version antérieure sans orientation :
Image
ʕ·͡ᴥ·ʔ ==> Mon Portfolio <== ʕ·͡ᴥ·ʔ

Merci de lire et de prendre en considération la Nétiquette des Forums avant de poster un sujet !

Avatar de l’utilisateur
SamothSamoth
Messages : 168
Inscription : 22 Avr 2015 18:03
Localisation : Lyon, Villefranche sur Saone, Parcieux

Re: [WIP] Fur shader DX11

Message par SamothSamoth » 08 Juil 2015 09:57

Ca marche super bien !
------------------------------------------------------------------------------------ LIVE FAST DIE YOUNG -------------------------------------------------------------------------------------

Avatar de l’utilisateur
Max
Messages : 8254
Inscription : 30 Juil 2011 13:57
Contact :

Re: [WIP] Fur shader DX11

Message par Max » 08 Juil 2015 11:38

Cela a déjà l'air pas ma abouti.
Plus qu'a attendre de pouvoir essayer ;)
Image
Pas d'aide par MP, le forum est là pour ça.
En cas de doute sur les bonnes pratiques à adopter sur le forum, consulter la Charte et sa FAQ

Avatar de l’utilisateur
F@B
Messages : 1844
Inscription : 01 Août 2013 10:41
Contact :

Re: [WIP] Fur shader DX11

Message par F@B » 25 Jan 2016 22:39

salut!

un peu de temps perdu en ce moment alors je passe quelques jours sur mon shader de Fur.
c'est fou le temps qu'on peut passer sur un shader de quelques lignes quand on n'est pas un dieu de la discipline et encore moins des mathématiques.

néanmoins je suis content du résultat actuel qui intègre une flowmap, pour orienter la fourrure, une densitymap pour dire ou elle doit pousser, une color map et une map du profilé des chaque "blade" de poipoils. :ghee:

pour info les flowmap c'est la meme chose qu'utilisé dans les shader de flotte! (merci à Axel pour l'idée) utiliser une normal map était une mauvaise idée.

reste les deux plus gros morceau, réintégrer ça avec la tessellation, et surtout le lightning qui va me donner du fil a retordre. Tester aussi les logiciels de flowmap voir si le résultat fonctionne.

Avis et critiques bienvenues!

ici a gauche sans la flowmap, a droite avec la flowmap
Image

la géométrie générée par le shader
Image
l'influence de la flowmap et du flowStrenght (-1 a gauche, 0 en haut, et 1 a drpote)
Image
ʕ·͡ᴥ·ʔ ==> Mon Portfolio <== ʕ·͡ᴥ·ʔ

Merci de lire et de prendre en considération la Nétiquette des Forums avant de poster un sujet !

Avatar de l’utilisateur
MasterNovice
Messages : 610
Inscription : 23 Juil 2011 16:03

Re: [WIP] Fur shader DX11

Message par MasterNovice » 26 Jan 2016 00:04

Franchement génial. Un des plus beau shader fur que j'ai pu voir jusqu'à présent. Si il y a possibilité de rajouter un effet anisotropic pour gérer la reflection de la lumière ça pourrait faire un super shader hair / fur. Niveau performance ça donne quoi ?

Avatar de l’utilisateur
F@B
Messages : 1844
Inscription : 01 Août 2013 10:41
Contact :

Re: [WIP] Fur shader DX11

Message par F@B » 26 Jan 2016 00:12

merci! :) merci beaucoup!

Niveau perf ça a plutôt l'air gentil mais j'ai pas poussé plus, avec la tessellation (version précédente) c'est beaucoup plus lourd, je pense qu'il faut les deux versions.
je veux bien un beta testeur si quelqu'un a un modèle qu'il veux essayer qu'il me fasse un PM. Par contre je vais pas diffuser le shader en public pour l'instant ;)

le problème est que le geometry est limité en nombre de polygone, donc soit c'est densité de poils soit c'est leur subdivision. (pour un tri du mesh, max 52vertices supplémentaires générés, pourquoi ce chiffre je sais pas... ) il me faudrait voir pour ne pas extruder sur les faces non visible également, et réduire les subdivisions fonction de la distance.

comme tu dis, maintenant c'est l'éclairage, et ça ne va pas être le plus simple.

Il faut que je regarde la concurrence, car il pourrait bien se vendre si j'arrive a un résultat correct. un combfactor est prévu aussi pour rajouter un peu de physique, ça restera assez basique comme physique néanmoins. (pas de collision ou alors édition de la flowmap en temps réel)

si ça vous intéresse, je ferais un doc théorique/tuto/makingof du bouzin? je me suis inspiré de choses existantes, en repensant l'idée.
ʕ·͡ᴥ·ʔ ==> Mon Portfolio <== ʕ·͡ᴥ·ʔ

Merci de lire et de prendre en considération la Nétiquette des Forums avant de poster un sujet !

Avatar de l’utilisateur
MasterNovice
Messages : 610
Inscription : 23 Juil 2011 16:03

Re: [WIP] Fur shader DX11

Message par MasterNovice » 26 Jan 2016 00:29

De rien, en ce moment je cherche un bon système pour les cheveux mais je ne trouve rien qui me convienne niveau qualité / perf. Je n'arrive pas à être satisfait. Si tu arrive à gérer l'anisotropie avec la lumière, je pense que je pourrais facilement me tourner vers ton shader, si ça passe sur des modèles 3d de type coupe de cheveux avec uv map par mèches. La tesselation est gourmande mais je m'en sers déjà pour mes personnages, faut juste avoir une machine récente qui tienne la route et gérer le niveau de tesselation en fonction de la distance.

Un petit making of de ton shader pourrait être génial. C'est un sujet intéressant et il y a peu de tutos de qualité sur la création de shaders en français.

Quand tu auras commencé à gérer la lumière je t'enverrais par mp un modèle pour que tu test, histoire d'avoir un aperçu réel pour mon besoin, si ça te dis. Ca ne me dérange pas de payer quand le travail est de qualité et qu'il me fait gagner du temps. Ton shader pourrait bien se vendre surtout si tu l'étend aux cheveux. Pour la physique je la gère avec un système de cloth, je ne sais pas ce qui serait le plus gourmand, à voir mais cette fonction devrait être paramétrable en fonction du besoin de l'utilisateur.

Encore félicitation, j'ajoute en favoris et je vais suivre ça de près :-D

Avatar de l’utilisateur
F@B
Messages : 1844
Inscription : 01 Août 2013 10:41
Contact :

Re: [WIP] Fur shader DX11

Message par F@B » 26 Jan 2016 00:36

merci! avec plaisir on discute de ton modèle si tu veux! ;) le problème c'est que je suis pas super rapide sur ce shader! ça dépend de mon boulot en cours...

Pour la physique il y a une limite, comme il n'y a pas de guide (mais une flowmap) je ne peux que soumettre l'ensemble a une map ou un vecteur et pas du cloth.

pour l'instant pas de tessellation, je viens de tester avec 180sphères comme la capture ci dessus et ça bronche pas! :) a 380 par contre ça faibli ma machine de course...

en résumé il faut 4maps :
- color
- flowmap (orientation des poils)
- texture alpha des mèches
- map de densité en niveau de gris.

je vais tester sur mon modèle de lion, et voir ce que ça donne, ça ferais un super modèle de démo en plus.
http://starting-lab.com/3D/photos/lion1.jpg

une fois testé le workflow la dessus on teste ton modèle si tu veux (ou avant d'ailleurs pourquoi pas selon ton besoin), bref hésite pas! :D
ʕ·͡ᴥ·ʔ ==> Mon Portfolio <== ʕ·͡ᴥ·ʔ

Merci de lire et de prendre en considération la Nétiquette des Forums avant de poster un sujet !

Avatar de l’utilisateur
MasterNovice
Messages : 610
Inscription : 23 Juil 2011 16:03

Re: [WIP] Fur shader DX11

Message par MasterNovice » 26 Jan 2016 01:42

Merci F@B, c'est sympa :)
Niveau perf sans tesselation ça a l'air de tenir la route c'est déjà bien. Après je ne compte pas l'utiliser pour un LOD plus faible. C'est inutile a une certaine distance donc on risque pas d'en voir beaucoup à l'écran en même temps.

Faut que je regarde pour la flowmap, comment la générer pour que ça suive les mèches. Je vois pour préparer un package du modèle avec les maps nécessaires dans la semaine. Ça ne presse pas de mon côté, je vais m'absenter pour au moins deux semaines ensuite. En tout cas, avoir un aperçu de ton lion pourrait déjà être très cool.

Avatar de l’utilisateur
axel
Messages : 1924
Inscription : 26 Avr 2012 09:10
Localisation : Lille - Dunkerque
Contact :

Re: [WIP] Fur shader DX11

Message par axel » 26 Jan 2016 17:21

Beau travail, y a du potentiel.

Répondre

Revenir vers « les Shaders »