¿Cómo se convierte este código en nodos?
Así que tengo una lista de valores de vector4 aquí [-4.571429, 12.142858, 0.35, 0.35] que deben usarse como valores de reasignación para una textura de rugosidad que tengo. Pero aquí está la cosa, mi amigo no conoce los nodos en absoluto, solo el código. Viceversa para mí. Pero me ha dado esto para intentar convertirlo en un grupo de nodos en la posibilidad de que pueda resolverlo:
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);
Una nota que también me dio es: "Su cero flotante y uno flotante son valores como -4, 12. El remap_input sería la imagen que se reasigna. El mínimo y el máximo son sus valores de sujeción. todo está sucediendo en varios nodos de sombreado como un valor flotante en tiempo de ejecución, combinamos los 4 flotantes en un vec4 para ahorrar en el código ".
Cualquier ayuda que pueda obtener en esto definitivamente será apreciada
Respuestas
Tu pregunta es muy concreta. Sin embargo, convertir código en nodos es precisamente para lo que se hizo la Expresión matemática dinámica / Expresiones de nodo (descárguelo dehttps://github.com/baldingwizard/Blender-Addons/wiki/Dynamic-Maths-Expression).
Una vez que haya instalado el complemento, debería tener una nueva opción de Expresión matemática en el menú 'Agregar' del nodo.
Crea un nuevo bloque de texto y pega el siguiente código:
outputs(output)
xform[] = combine(zero, one - zero)
in_value = remap_input
output = combine(clip(xform[x] + xform[y] * in_value), clip(min), clip(max))
(NOTA: El texto anterior se traduce directamente de su código de muestra, casi línea por línea)
Nombra el bloque de texto con algo significativo (por ejemplo, 'mycode'), ve al Editor de Nodos y agrega una nueva Expresión Matemática con el texto TEXT:<name>(reemplazándolo <name>con el nombre de tu bloque de texto - por ejemplo, 'TEXT: mycode') y el complemento interpretará su código y generará un nuevo grupo de nodos que contiene los nodos relevantes para implementar el código.
Obviamente, su amigo codificador necesitará producir código en la sintaxis correcta para que el complemento lo interprete.