Posts

Model Context Protocol (MCP) inside Houdini

  Integrating MCP into a Houdini-Based AI Workflow: Final Phase Experience As part of my master’s thesis, I explored natural language control over procedural 3D workflows in Houdini. In the final stage of the project, I integrated MCP (Modern Context Protocol) to enhance interactivity and iteration using conversational memory. Below is a detailed walkthrough of the professional experience, followed by my steps to implement MCP into the pipeline. MCP Integration Steps in Houdini Steps to Integrate MCP with Houdini (Plain Text Format) Check Python Setup in Houdini Open Houdini, go to the Python Shell, and check which version of Python is being used. Make sure it's compatible with MCP and other required libraries. Install MCP Locally Clone the MCP GitHub repository to your system. Run pip install -r requirements.txt to install all dependencies (including openai , langchain , gradio , etc.). Set Up Environment Variables Create a .env file in your MCP folder. Add your Open...

3D Shape Generator

Image
In my second experiment, I wanted to work with curves and save old coordinates so that I could reuse them for similar curve shapes. 3D Shape AI Node   1. Create a Python node named " shape_node_GPT ," adding the below code in the content area.  import openai import hou # Current Python SOP node node = hou.pwd() # Geometry container geo = hou.node("/obj/geo2") if not geo:     geo = hou.node("/obj").createNode("geo", "geo2") # Set OpenAI API key from houdini.env openai.api_key = hou.getenv("OPENAI_API_KEY") # User prompt user_prompt = node.parm("prompt").eval() # System message shape_message_node = hou.node("/obj/geo2/shape_message_node") if shape_message_node:     system_message = shape_message_node.parm("message").eval() else:     hou.ui.displayMessage("Error: shape_message_node not found!", severity=hou.severityType.Error)     system_message = "" # OpenAI call def get_completi...

Curve Tool Generator

Image
In my second experiment, I wanted to work with curves and save old coordinates so that I could reuse them for similar curve shapes. Curve AI Node   1. Create a Python node named " curve_node_GPT ," adding the below code in the content area.  from openai import OpenAI import hou node = hou.pwd() client = OpenAI() def get_completion(user_prompt, curve_message):     """ Calls OpenAI API and returns structured curve coordinates. """     try:         messages = [             {"role": "system", "content": curve_message},             {"role": "user", "content": user_prompt}         ]         response = client.chat.completions.create(             model="gpt-4-turbo-preview",             messages=messages,             temperature=1.0,       ...

Color Ramp Generator

Image
I chose one of the most effortless node-based AI approaches for my first experiment: color ramp. It's similar to a gradient bar you see in Adobe Creative Suite, which in Houdini can be used to create a gradient effect over any line or shape made in Houdini; it's easy as it's a node that can be manipulated by parameter. By connecting Open AI API, I can make it a prompt-based approach without any problem where user text base input will be interpreted via a Python code and will give results to change the color ramps.  Using Houdini for this project gives me an advantage as it allows me to interact with the nodes already in the Houdini workspace using Python, also known as Python (Houdini + Python).  Color Ramp AI Node 1. Create a Python node named " color_ramp_GPT ," adding the below code in the content area.  from openai import OpenAI import hou import ast node = hou.pwd() client = OpenAI() def get_completion(user_prompt, system_message):     try:     ...

Reflections on My Literature Review

Over the past few weeks, I have been researching understand how artificial intelligence (AI) can be integrated into 3D software—specifically Houdini and Blender—to enhance visual effects (VFX) workflows. This process wasn’t just about gathering sources or ticking boxes for an assignment; it was a deep dive into the evolving intersection of AI, machine learning operations (MLOps), natural language processing (NLP), and procedural generation. Here’s a candid reflection on what I learned, the problems I faced, and the steps I plan to take as I continue refining my work. Discovering the Building Blocks My literature review started by focusing on key foundational ideas: MLOps as the Backbone: I found a GitHub repository by Bismuth Consultancy BV (n.d.) that introduced me to MLOps—a critical concept that bridges traditional DevOps with the specific needs of AI workflows. This resource gave me a practical understanding of how AI systems are managed, from data versioning to model retraining. ...

Literature Analysis

Because my Project/Research focuses more on the bridge of how AI and Software come together to form an interesting blend in a 3D space in Blender and Houdini. Below are some references which helped me understand how Machine Learning and Artificial Intelligence go hand in hand with the help of different methods. Primary Sources means sources which are directly affecting my process in the Research and Secondary are peer review and case studies of how they understand the concepts of AI. Primary Sources 1. Bismuth Consultancy BV. (n.d.). MLOPs [GitHub repository] . GitHub. https://github.com/Bismuth-Consultancy-BV/MLOPs   2. OpenAI. (n.d.). Text generation . https://platform.openai.com/docs/guides/text-generation   3. Side Effects Software. (n.d.). SideFXLabs [GitHub repository] . GitHub. https://github.com/sideeffects/SideFXLabs   4. Hugging Face. (n.d.). Models . https://huggingface.co/models?pipeline_tag=text-to-image&sort=downloads   5. Side Eff...

Present Best Way to Install MLOPs in Houdini

Image
I had an issue while installing MLOPs just following the tutorial, and to solve the problems, I went to different communities but got no solution, in the end, Bismuth's discord community, I got an answer from @.jaydrake who gave me the best steps for the current time to make MLOPs work. Thank you for saving my project. Below are the steps that currently work for setting up MLOPs, which are needed to use Open AI API, with the help of one of the users in the BV's discord server @.jaydrake. Setting up and installing MLOPs: 1. Checking your Python version with Houdini's Python Interpreter by going to the main options bar at the top where Windows -> Python Shell . 2. The choice of Python Interpreter depends upon the user if they will use an external Python environment or hython, which is Python in Houdini. 3. Then go to https://github.com/Bismuth-Consultancy-BV/MLOPs , and install GitHub Desktop, which is the best way to clone the repository inside your computers. This metho...