top of page

AI Creative Computing - Claude VEX Tool Generation



Artist / Designer Statement


This Generative Frost system is an exploration of how AI-generated code can be utilized by artists to create customizable tools that can be integrated into VFX workflows.


The project began as a way to experiment with current models, specifically Claude AI, and their understanding of propriety coding languages like Houdini's VEX, as well as the rest of the softwares interface and way of working. Throughout the process, I also explored different MCP's being created by the VFX community for softwares like Houdini.


The code developed by the tool is completely generated by ClaudeAI, prompted by the tools creator and instructed based on needs and desires for paramaters. There were many instances of troubleshooting needed, requiring the tool creator to have a working understanding of VEX and Houdini's workflow to troubleshoot. However, after troubleshooting the code remained completely AI generated.


The tool creator prompts the AI to create several customizable aspects through the form of parameters artists can use later on to control the code.

Artists can also input the code into ClaudeAI, and ask ClaudeAI to reccomend paramater values for desired effects.


This system allows full creative control from both the tool creator, and the artists who later on use the tool.


Additionally, workflows were tested with generative models in ComfyUI, Gemini, ChatGPT, and Runway, to see how ideation can continue using AI even after generating geometry with the tool.


What I understand now that I did not in Week 1 is the extent of exploration of AI integration in the VFX industry. Many MCPs are being experimented with and created to be integrated in different softwares for different disciplines - including Houdini and Nuke. Additionally, many model workflows in ComfyUI are being created intended for use in the VFX pipeline.

Due to the highly communicative, constructive, and directed nature of film and animation, AI will likely not replace roles entirely. However, it will completely reshape them, as it has already begun to in these examples of FX tool generation, lighting, and compositing.


❄ ❄ ❄


Quarter Question Arc


Week 1 — version

  • Question as written in Week 1: What happens when generated code and AI-assisted imagery are used to streamline VFX production?

  • What I thought I was asking: I intended this question to bring inquiry to AI's role in VFX producton, and how to best use it to assist artists and increase productivity


Week 5 — version (after First Playable)

  • Question as I held it after First Playable: The quarter question remained the same, but honed in on disciplines in FX (tool generation), lighting, and compositing - specifically in the case of a procedural algorithmic growth setup

  • What changed between Week 1 and Week 5: Week 1 was a broader question into AI's role in the pipeline, and how it can be implemented without disrupting artists control and vision. In Week 5 after research, I had honed in on an example project and specific roles within VFX where it could play a part


Week 10

The development of this tool provided insight on the status of AI's understanding and efficiency in VFX, where it is heading next, and where it best fits in for artists to use

The biggest note for this is the moments in which Claude did not properly understand VEX syntax, what parameters should do, or visual descriptions. These are best seen in the Records of Resistance.


❄ ❄ ❄


Research Arc


Practitioner / project 1 — Junichiro Horikawa

  • What they do: FX artist; YouTube Houdini/VEX tutorials (freelance programmer/designer).

  • What I learned: Procedural frost can be built with growth systems and VEX in Houdini (Frost Wrapper Tutorial); recursion in VEX is a core technique for algorithmic generation (Recursion tutorial). Because Claude can be unfamiliar with Houdini VEX when building art-directed tools, this work is a reference for code that already works for frost—not a replacement for my tool.

  • How that learning entered the build: Used as a fallback reference when Claude struggled with VEX syntax or prompts—re-grounding frost generation in a known-working approach and adjusting prompts from that baseline (see week-03 practitioner research). Informed the direction toward growth systems + frost rather than only abstract L-system experiments.



Practitioner / Project 2 — Avner Engler

  • What they do: Senior 3D motion designer (Huemains); integrates Claude into Houdini via MCP for procedural setup and code generation while keeping the artist in control.

  • What I learned: MCP-style integration can reduce setup friction and speed technical experimentation in Houdini without replacing artist-driven process. Mapped to GeneratedFrost as support for faster VEX iteration while preserving an art-directed pipeline.

  • How that learning entered the build: Set the expectation that in-software AI assistance was worth exploring; led to evaluating MCP paths and then rejecting the paid Radu Cius–style MCP in favor of a free ComfyUI↔Houdini path. Week 7 ComfyUI–Houdini link install and troubleshooting are the practical branch of this research—not Engler’s exact MCP stack.



Practitioner / project 3 — Alex Villabon

  • What they do: Head of Visual Development (Framestore); ComfyUI tutorials aimed at VFX production.

  • What I learned: ComfyUI can be aimed specifically at VFX—streamlining parts of production and supporting imagery/ideation (his framing in practitioner_03); mapped to GeneratedFrost as quick ideation for look, not final deliverable.

  • How that learning entered the build: Supported the pipeline arm after procedural frost in Houdini—ComfyUI, Gemini, and ChatGPT for composition/lighting ideation (week-05week-08), [ideated_images/](p1-GeneratedFrost/ideated_images/), and alignment with my position statement (no AI final plate). Planned experiment from research: follow his tutorials and apply workflows to frost look-dev.


❄ ❄ ❄


Iteration Arc


First Playable (M4 target)

The first and second versions are very similar, with slight optimization in the version up. This initial code worked well in generating a single, animatable, procedural unit of frost. However, it did not allow for easy interpolation on points, or generation of many randomized frost. This is what caused a change in workflow for later versions, as this code was absorbed by a larger code that focused on generating many frosts initially.


v1

This version began the first successful attempt at generating frost based on an input of scattered points, to allow it to generate a large amount of units instead of a single one. However, it needed additions to generate the sub branches and animation.


v2

Version 2 of the new system added more effective paramater customization, but still needed several wrangles afterwards, as well as a Claude-designed workflow with other nodes.


v3

This is the first version with all 3 wrangles, as well as the instructed workflow with other nodes. It functions with one wrangle to generate base stems, one to generate sub branches, and one to create animation and scale.

This functions to generate frost, but needed final touches. Such as instructions in the code for parameters and adjustments to make customizable paramaters more intuitive and user-friendly.


v4


Not much technically changed in the code from version 3. This final version of the frost provides further clarity in the code for users .


❄ ❄ ❄


System map evolution (M3 → M5)


M3 map

INPUT
├── [User-inputted VEX tool parameters]
│   ├── [Wrangle 1: seed, gap_mult, rays_min, rays_max, rays_min / rays_max]
│   ├── [Wrangle 2: seed, twigs_amount, twig_len_mult, twig_splay_deg, twig_jitter_deg, clearance_mult, min_len_mult, twig_taper_ramp]
│   └── [Wrangle 3: growth, pscale]
└── [AI ideation inputs (Houdini Playblasts / Screenshots)]
    ├── [Text prompts]
    └── [Houdini playblasts / reference screenshots]

PROCESS
├── [Houdini VEX generation]
│   ├── [Wrangle 1: generate main branches from scatter points on source surface]
│   │   Rule: [parameters determine branch count, spacing, orientation, and start timing]
│   ├── [Wrangle 2: generate sub-branches from each main stem]
│   │   Rule: [parameters determine sub-branch amount, length, angle, jitter, and collision-safe placement - the overall appearance of sub-branches]
│   └── [Wrangle 3: animate shapes]
│   │   Rule: [parameters determine the timed creation of geometry]
└── [Post-processing]
    ├── [Resample + Facet for smooth independent deformation]
    └── [PolyWire for renderable thickness]

OUTPUT
├── [Procedurally generated frost geometry]
├── [Parameter controlled growth animation (keyframed via growth)]
│   └── [Customizable look via VEX parameters]
└── [AI-generated ideation imagery for look development]

M5 / final map

[SOURCE GEO: grid / surface]
        |
        v
[HOUDINI SOPs — VEX frost tool (AI-assisted, artist-owned)]
  Scatter → Wrangle1 → Wrangle2 → Resample → Facet → Wrangle3 (growth) → PolyWire
        |                    ^
        |                    |  [Claude: code + paramater guidance from prompts/refs]
        |                    +---- artist applies in wrangles
        |
        +--> [Playblast / slap render] ----------------------.
        |                                                       |
        |                                                      v
        |                                         [ComfyUI ideation — not final pixels]
        |                                          (lighting / comp / paint-over ideas)
        v                                                       |
[Karma/Mantra RENDER]                                           |
        |                                                       |
        v                                                       |
[NUKE COMP — artist-made]  <------------------------------------'
        |
        v
[FINAL: Houdini render + Nuke comp]

Supporting

Houdini VEX (code assist)

Stage

Description

Input

Directed instructions for sections of the Houdini VEX code

Process

Generated code that implements those instructions

Output

Code placed in a Houdini VEX Wrangle node to troubleshoot and art-direct further

ComfyUI (ideation loop)

Stage

Description

Perceive

Gather playblasts and slap comps to feed to ComfyUI; prompt different iterations and adjustments

Decide

ComfyUI models produce quick iterations for pre-visualization

Act

Compare visuals and decide how to continue processing artistically in Houdini and Nuke


Supporting — Pipeline Intent

[Perceive] -> [Decide] -> [Act]

- Perceive: The system receives user-set Houdini parameters, test renders/playblasts, and AI-generated ideation references.
- Decide: The artist evaluates whether the tool is functioning correctly, whether visuals are satisfactory, and whether controls are sufficient for desired art direction.
- Act: The system generates procedural frost results based on selected parameters and adjustments
- Human: The artist drives the full loop by setting inputs, evaluating outputs, and deciding what to change next based on their own visual preferences and perspective.

Ethical question (from pipeline intent): How can AI support VFX pipeline efficiency without reducing artist authorship or replacing creative judgment?


The system map stayed relatively consistent throughout the process. Changes mostly include the role of different models in the workflow, such as how generative AI fits into the pipeline, and what specific models might be best to be used.


❄ ❄ ❄


Records of Resistance — summary


Record 1

Course: AI-201 · Project: P1-GeneratedFrost · Date: 05/06/2026 · Record #: 1


What AI Suggested

While researching, I discovered An AI assistant by Radu Cius that is used in Houdini to analyze workflows and provide in-software feedback and VEX code.


Why I Rejected or Revised It

The MCP was $129 to implement. I looked for other methods similar to this that were less costly, but have yet to find an available one of similar function.


What I Did Instead

As I researched other Houdini MCP's, I stumbled upon one that instead incoprorated ComfyUI into COPS to generate imagery and geometry. This was free to download. I began expeirmenting with downloading this instead, which worked, but has a few roadblocks in itself with technical limitations on my laptop.



Record 2

Course: AI-201 · Project: P1-GeneratedFrost · Date: 04/15/26 · Record #: 2


What AI Suggested

Using a solver-based setup, like in the reference video provided.


Why I Rejected or Revised It

I was debating whether or not to use a solver like the tutorial tool I had done a while ago. Claude suggested a few approaches to doing so, but ultimately, I wanted to create a bit of a different system than simply recreating the tutorial. I also wanted something more art directable, that would allow the artist to see the final product prior to animating. A solver would not really allow that - or would complicate things.


What I Did Instead

I approached the code without a solver, and directed Claude to create a system that functioned without it.



Record 3

Course: AI-201 · Project: P1-GeneratedFrost · Date: 04/20/26 · Record #: 3


What AI Suggested

Claude, when creating the growth parameters for animation, added many different paramaters. Ie: min_reveal_window and ease_power


Why I Rejected or Revised It

These controls were convoluted and unnecessary. It complicated the animation process and made it harder for the artist to control the animation.


What I Did Instead

Instead, I told it to get rid of all the other controls except for a basic slider controlling when the branches grow and appear. This makes the system less complicated, but also allows for easier addition of tools later on that are more ideal than the ones it initially generated.



Summary Argument

Many records of resistance were either technical errors that needed to be corrected, tool suggestions that were not intuitive or fit for human workflow, or things that impeded on artist control.


❄ ❄ ❄


Five Questions


  1. Can I defend this?

    Yes, I can defend this work. The code for this tool is completely AI-generated, but it was required for the creator to know the fundementals of VEX and Houdini to ensure Claude was coding correctly, and troubleshoot errors it did not anticipate. Additionally, it is completely customizable by an artist with parameters.

  2. Is this mine?

    Yes. There were many instances where the AI had to be redirected to match my intention and the goal of this project, and it was crafted speficially with artist intent in mind.

  3. Did I verify?

    Yes, I verfied the workflow and generated tool by creating a project with it myself. I stress tested the parameters and code, as well as spoke with others and walked them through how to do it, addressing problems they brought up.

  4. Would I teach this?

    Yes, I can explain both how the tool functions, how it was generated, and how an artist can continue to use AI alongside being given the generated tool to optimize their efficiency.

  5. Is my disclosure honest?

    Yes, my process blog and book accurately reflect the process. It cross references other logs and files in the directory, links to proper research, provides code iterations, and logs errors.


❄ ❄ ❄


Disclosure Statement

AI tools used: 

  • Claude AI

  • ComfyUI

  • Gemini

  • ChatGPT

  • Runway


How AI participated: 

AI partcipated by streamlinging the coding process, completely generating code systems to use in Houdini, as well as the rest of the workflow. It made suggestions for both tool generation, as well as visual appearance of the product.


What AI influenced: AI influenced the artists thought process, allowing for quick ideation and generation of complex equations and algorithims


What I originated: I assisted with the creation of the workflow, and instructed what parameters needed to be implemented to allow artists to have a workable and effective amount of customization. I also utilized the tool to create a project.

Comments


bottom of page