Evaluating 3D Functionality in TouchDesigner


Category: Experimentation, Evaluation


1. Introduction

As my project progresses, I’ve been exploring TouchDesigner’s 3D capabilities to evaluate whether it can handle a detailed 3D room for my interactive installation. My initial idea was to replace the static room images from my earlier experiments with a fully interactive 3D environment, including furniture, paintings, and other interactive elements.

In this post, I’ll evaluate the strengths and limitations of TouchDesigner’s 3D functionality and reflect on whether it is the right tool for this part of the project.


2. Why Experiment with 3D in TouchDesigner?

When I first pitched my project, I considered using Unity or Unreal Engine for 3D scenes. However, during my intial pitch, my teacher highlighted that TouchDesigner’s 3D system is very advanced and might eliminate the need for external tools like Unity or Unreal. This motivated me to experiment with its 3D capabilities before deciding on the best approach.


3. Features of TouchDesigner’s 3D System

TouchDesigner offers a powerful set of tools for working with 3D objects and environments. Here are some features I explored:

1. Advanced Lighting Options

TouchDesigner allows for customizable lighting setups, including point lights, spotlights, and ambient lighting. These options can make a 3D scene feel immersive and realistic.

2. Camera Controls

It includes robust camera controls with parameters for position, rotation, field of view, and more. This allows you to navigate and frame scenes dynamically, which is crucial for interactive environments.

3. Object Animations

One of the most impressive features is the ability to play animations directly linked to 3D models. For example, I could trigger specific movements or sequences when certain conditions are met (e.g., a user enters a specific area).

4. Parameter Controls

Every object in the 3D scene can have its position, rotation, and scale parameters adjusted, as well as material properties like textures and shaders.

5. Shader & Material Options

TouchDesigner supports custom shaders and material mapping, which adds flexibility for creating unique looks for objects in the scene.


3. Exploring TouchDesigner’s 3D Workflow

To test TouchDesigner’s 3D functionality, I created a simple 3D scene by importing and positioning three different 3D models (Man_walking, Steampunk, and geo1) into a scene with lighting and camera controls.

Here’s an analysis of the node setup I was working with: TouchDesigner Node Setup

  • Nodes in the Scene:

    • cam1: The camera node provided a view of the 3D space with adjustable parameters like position, rotation, and field of view.
    • light1: A point light source illuminated the scene, requiring careful adjustment to ensure the objects were evenly lit.
    • Man_walking, Steampunk, and geo1: Each imported model was connected as a geometry (geo) node. These represent the different 3D elements in the scene.
    • render1: This node rendered the final 3D output by combining the models, camera, and lighting.
  • What I Discovered:
    While TouchDesigner’s 3D functionality allowed me to position and light the objects manually, it became clear that managing and fine-tuning multiple elements was time-consuming.

    • Positioning: Adjusting the placement of each object required changing numerical parameters rather than visually dragging objects in the scene.
    • Lighting: Setting up the light to achieve realistic shading and visibility for all models was challenging and often required trial and error.
    • Complexity with Multiple Models: As the number of models increased, it became harder to manage their placement and interrelations within the 3D space.

4. The Challenges of Using TouchDesigner for 3D Scenes

Despite its powerful features, I encountered significant limitations when trying to build a detailed 3D room.

I had already created a 3D room for a personal project outside of school.

Overview of the existing 3D room

But it is very detailed and would require placing many many models seperately on the scene so i can animate and control them individually.

1. Lack of Visual 3D Space Manipulation

Unlike Unity or Unreal, TouchDesigner does not provide an interactive 3D workspace.

  • Issue: There’s no drag-and-drop interface to move objects directly within the scene.
  • Result: Placing objects in the correct position requires adjusting parameters manually, which can be time-consuming and very unintuitive.

2. Complex Setup for Large Scenes

For a room with many interactable objects (e.g., furniture, paintings), the process becomes tedious. Adjusting the position, rotation, and scale of each item manually through parameters makes it difficult to achieve precise layouts.

3. Workflow for Scene Organization

In Unity or Unreal, you can group and organize objects visually, making it easy to manage a large scene. TouchDesigner lacks this kind of hierarchical scene organization, which can make complex setups harder to manage.


5. Key Findings

Strengths of TouchDesigner’s 3D Capabilities

  • Excellent for small-scale interactive elements.
  • Powerful real-time rendering with support for animations, lighting, and shaders.
  • Ideal for dynamic setups where parameters need to change based on live input.

Limitations for My Project

For creating a detailed 3D room with multiple objects, TouchDesigner’s lack of visual manipulation tools makes it inefficient. While the technical functionality is there, the workflow does not suit a project that requires precise scene design and interactive placement.


6. What’s Next?

Given these limitations, I need to rethink my concept if I want to incorporate 3D. My next steps include:

  • Brainstorming alternative approaches: Should I simplify the 3D scene or use a different tool for this aspect of the project?
  • Considering hybrid solutions: Could I use Unity or Unreal for building the 3D room and integrate it with TouchDesigner for interactivity?

I’ll explore these ideas further in my next post.


7. Conclusion

TouchDesigner’s 3D functionality is undeniably powerful and excels in real-time interactivity, but it’s not the best fit for creating large-scale, visually detailed 3D environments. For projects like mine, where precision placement and visual design tools are crucial, Unity or Unreal may still be the better choice.

This experiment helped me better understand TouchDesigner’s capabilities and limitations, guiding me toward reconsidering my concept to end up with a working installation.