comment convertissez-vous ce code en nœuds?
J'ai donc une liste de valeurs vector4 ici [-4,571429, 12,142858, 0,35, 0,35] qui doivent être utilisées comme valeurs de remappage pour une texture de rugosité que j'ai. Mais voici le truc, mon ami ne connaît pas du tout les nœuds, seulement le code. Vice versa pour moi. Mais il m'a donné ceci pour essayer de le transformer en un groupe de nœuds au cas où je pourrais le faire fonctionner:
float remap_with_clamp(float remap_input, float min, float max, float zero, float one)
{
vec2 xform = vec2(zero, one - zero);
float in_value = remap_input;
return clamp(xform.x + xform.y * in_value, min, max);
Une note qu'il m'a également donnée est: "Vos float zéro et float one sont des valeurs comme -4, 12. Le remap_input serait l'image qui est remappée. Le min et max sont vos valeurs de serrage. tout se passe dans plusieurs nœuds de shader en tant que valeur flottante au moment de l'exécution, nous combinons les 4 flottants dans un vec4 pour économiser du code. "
Toute aide que je peux obtenir à ce sujet sera certainement appréciée
Réponses
Votre question est très précise. Cependant, la conversion de code en nœuds est précisément ce pour quoi l'expression mathématique dynamique / les expressions de nœud a été conçue (téléchargez-la à partir dehttps://github.com/baldingwizard/Blender-Addons/wiki/Dynamic-Maths-Expression).
Une fois que vous avez installé le module complémentaire, vous devriez avoir une nouvelle option d'expression mathématique dans le menu du nœud «Ajouter».
Créez un nouveau bloc de texte et collez le code suivant:
outputs(output)
xform[] = combine(zero, one - zero)
in_value = remap_input
output = combine(clip(xform[x] + xform[y] * in_value), clip(min), clip(max))
(REMARQUE: le texte ci-dessus est traduit directement à partir de votre exemple de code, presque ligne pour ligne)
Nommez le bloc de texte quelque chose de significatif (par exemple, 'mycode'), allez dans l'éditeur de nœuds et ajoutez une nouvelle expression mathématique avec le texte TEXT:<name>(en remplaçant <name>par le nom de votre bloc de texte - par exemple, 'TEXT: mycode') et le module complémentaire interprétera votre code et générera un nouveau groupe de nœuds contenant les nœuds pertinents pour implémenter le code.
Évidemment, votre ami codeur devra produire du code dans la syntaxe correcte pour que l'add-on l'interprète.