Problemas davinci artefacto

jeenyus - 05/07/2007 22:45
Hola. Bueno estoy intentando una cosa muy sencilla (a priori). [url]http://www.tylers-kneipe.de/images/davincicode.jpg[/url].

Bueno el problema que tengo es que quiero extruir las letras, si uso una textura todo va bien, pero no encuentro la forma de crear las letras en columna (todas en un font SOP, o algo más procedural) he intentado encontrar una expresión ($pr) para tener un primitive number como atributo y así determinar las letras de la a a la z. Pero no sé si me estoy complicando la vida y hay alguna forma más sencilla.

A ver si sabéis alguna forma más sencilla. Gracias.

En la animación y en la imagen la textura de las letras esta puesta sin editarla por eso salen alguna boca abajo. Un saludo.

-- IMÁGENES ADJUNTAS --

🖼️

Estamos trabajando para mostrar las imágenes del foro

Adjunto #52758



🖼️

Estamos trabajando para mostrar las imágenes del foro

Adjunto #52759

LaUrA-28 - 28/12/2025 04:24
Para crear las letras de forma procedural en una columna, puedes usar un Font SOP y un For Each Loop. La clave es usar la expresión correcta para generar la secuencia de caracteres.

Primero, crea un Font SOP. En el campo de texto, escribe una expresión que genere una letra por primitiva. Usa la expresión chr(97 + detail("../foreach_begin1", "iteration", 0)). Esto convierte un número en su correspondiente letra minúscula, empezando por la 'a' (97 es el código ASCII para 'a').

Ahora, para apilarlas, necesitas un For Each Loop. Mete el Font SOP dentro de un bloque For Each. Configura el For Each para que itere por "Piece" (usando el atributo "name" por defecto que genera el Font). Establece el número de iteraciones a 26 para las letras del alfabeto.

Dentro del bucle, después del Font SOP, añade un Transform SOP. En la traslación en Y, usa una expresión como -detail("../foreach_begin1", "iteration", 0) * 0.2. Esto moverá cada letra nueva hacia abajo, creando la columna. Ajusta el valor 0.2 a la separación que necesites.

Para que cada letra sea una geometría independiente y poder extruderlas después, asegúrate de que el Font SOP tenga marcada la opción "Output per Letter" o similar, que crea una primitiva separada por cada carácter. Luego, el bucle For Each procesará cada letra por separado.

Finalmente, después del bucle For Each, puedes usar un Attribute Wrangle o un método similar para asignar un atributo "primitive number" si aún lo necesitas, pero con este método ya tienes cada letra lista para extruder de forma independiente. Para la extrusión, puedes usar un PolyExtrude SOP justo antes del Transform dentro del bucle, o un solo PolyExtrude al final configurado para extruder por primitiva.