Work In Progress : Nico-POWAAA, grominet_eh 3dsmax Plugins : Aego 3dsmax Général : neimad Concours 3DVF - Les Univers de Jules Verne : Cetras Travaux Terminés : now et 29 utilisateurs inconnus dragonet | bonjour,
Je suis en train de mettre au point un shader et j'ai besoin de récupérer la normale à chaque point de l'objet qui supportera le shader.
Quel node de l'hypershade me permet d'avoir les normales d'un objet?
(je ne parle pas des normales par rapport à la caméra genre facing ratio mais les coordonnées vectorielles "vraies" des normales de l'objet)
Je souhaite effectuer un produit scalaire des normales par rapport à un vecteur bien précis afin de driver quelque chose.
J'ai essayé avec la sortie outnormal d'un node de bump2d (sans rien pluger dedans) mais ça marche pas!
J'ai aussi testé le node renderman Rman Prim Var Normal .... et ça marche pas non plus!
Quelqu'un a une idée?
|
Skelter | closestPointOnMesh pour un poly et pointOnSurfaceInfo pour un Nurbs.
Après il y a sûrement moyen de récupérer les normales de façon globale mais il faut que je regarde à ça.
EDIT:
Mais bon avec le surfaceinfoNode tu as déjà toutes les données nécessaires pour pouvoir déduire la position et l'orientation de la normale avec un petit script. Message édité par Skelter le 01-07-2008 à 00:06:54 ---------------
Softs: 3ds Max, Maya, Houdini, Modo, Rhino, Vray, Mental Ray, Maxwell.
Matos: 2 stations Bi-Xeon 4 cores, 8 Go RAM.
|
dragonet | merci, je vais étudier ça ! |
Skelter | Alors gars ça donne quoi ton shader? ---------------
Softs: 3ds Max, Maya, Houdini, Modo, Rhino, Vray, Mental Ray, Maxwell.
Matos: 2 stations Bi-Xeon 4 cores, 8 Go RAM.
|
dragonet | ben j'ai bossé un peu dessus mais je suis pas arrivé à grand chose.
J'ai créé le node closetPointOnMesh (d'ailleurs j'ai vu qu'il y a aussi un node nearestPointOnMesh ) mais je sais pas trop l'utiliser... J'ai l'impression qu'il fournit la normal par rapport à un point mais pas toutes les normales de l'objet. Tu pourrais m'en dire plus à son sujet ?
|
Skelter | Yo gars!
Je veux bien t'aider mais je n'ai toujours compris ce que tu voulais faire avec les normales. Donne moi un peu plus d'éléments parce que là je nage total. ---------------
Softs: 3ds Max, Maya, Houdini, Modo, Rhino, Vray, Mental Ray, Maxwell.
Matos: 2 stations Bi-Xeon 4 cores, 8 Go RAM.
|
Skelter | Bon j'ai réfléchis à ton pb.
Si ta problématique c'est d'avoir des informations sur les normales de l'objet sur lequel est appliqué le shader le mieux c'est le samplerInfo node.
Effectivement les nodes que je t'ai cité plus haut ont besoin d'avoir des infos sur les points à sampler ce qui suppose d'écrire un script qui d'une part reconnaîtrait le type de surface(poly, nurbs), créerait le bon node, samplerait chaque composants et retournerait les normales par exemple dans un tableau. Tu auras besoin de la commande filterExpand pour faire une requête sur le type de géométrie. La commande PolyInfo te donnera les normales des faces du poly sélectionné.
Après tu peux essayer de regarder du côté de Fur et essayer de comprendre le network.
---------------
Softs: 3ds Max, Maya, Houdini, Modo, Rhino, Vray, Mental Ray, Maxwell.
Matos: 2 stations Bi-Xeon 4 cores, 8 Go RAM.
|
dragonet | Ben le samplerInfo retourne (entre autre) le produit scalaire du vecteur camera par le vecteur normal en tout tout point ..
Moi je voudrais quelque chose de plus généraliste. Je voudrais remplacer le vecteur camera par n'importe quel vecteur.
J'ai fais un test en plugant l'outnormal d'un bump et ça commence à fonctionner (d'ailleurs je pensais pas qu'on pouvait l'utiliser comme ça celui là !)
... filterExpand et polyinfo ... merci je vais tester ça intensément ce WE ! |
Skelter | Ok!
amuses toi bien alors. J'espère que tu ne vas pas trop galérer à implémenter du MEL(ou une expression) dans ton shading network. A la limite ça vaudrait le coup de te plonger dans l'API et de créer le node de tes rèves.
---------------
Softs: 3ds Max, Maya, Houdini, Modo, Rhino, Vray, Mental Ray, Maxwell.
Matos: 2 stations Bi-Xeon 4 cores, 8 Go RAM.
|
|