With this personal project, I wanted to take an image sequence and convert it to a holographic projected image, much like those seen in Sci-Fi movies such as TRON.
![]() |
| TRON Legacy scene that served as inspiration for the effect Image © Walt Disney Studios |
Solution:
The first challenge was importing the image sequence into Houdini. The easiest way to do that was using a COP network.
![]() |
| Initial Image |
![]() |
| Image after COP network editing |
The challenge then becomes importing all of these channels in an efficient manner. To do this I set up the following network in the SOP context.
![]() |
| SOP network |
![]() |
| Initial Point Grid |
With each row in its own group, I used a ForEach SOP to loop over each of these groups. The Channel SOP imports channels just the way I need them to, but by default the Channel SOP only allows for channels to be explicitly listed, which would copy only a single row of data to all the rows. To resolve this, I wrote a simple python script to define the channels to be copied from by their row number:
| Python expression to dynamically assign a channel to each row as they are iterated over |
![]() |
| Point Grid with color data |
![]() |
| Point Grid displaced by luminosity factor |
To give the hologram a "surface" to project onto, I generated a volume from similar geometry and advected the volume by a velocity that I had traced from the points using the Trail SOP.
Using VEX, I procedurally modeled and animated several rings below to act as the projection source and projector "user interface".
From there, I created a surrogate geometry for the objects in the live plate and captured the reflections seen. Then, I used Nuke to adjust the reflections to make the plate in the background leading us to the final sequence.






