This video shows one of the ways you could pack multiple pieces of information into a single texture.  The idea is to have more control over the look of an explosion in UE4 by combining normals, emission and opacity into a single texture.

You can download the latest version of the Texture Sheet ROP on GitHub. Or by using the update button on the Game Development Toolset shelf.

Download the UE4 examples files. Place the TextureSheets folder in the Content folder of your project. Generated in 4.15.3


  • Vasilis Triantafyllou 6 years, 5 months ago  | 

    Thanks so much for putting this together!

  • OldSalty 5 years, 11 months ago  | 

    This is cool, any tips on how I would create the material in unity, I have shader forge.
    Also how should I render a height map for parallax effects?

    • mikelyndon-sesi 5 years, 11 months ago  | 

      Sorry about the delayed response. We've been working hard at getting ready for GDC. The good news is we'll be releasing a shader that's compatible with the texture sheets in the next week or 2.


  • wooyangkim 5 years, 10 months ago  | 

    Hey Mike,
    I started diving into Houdini and found your game focused tutorials really helpful. Thank you so much for creating these and will be looking forward to learning more from you!

  • SGStudio2018 5 years, 10 months ago  | 

    Hey Mike!

    First off thanks for making such an awesome tool!

    I am having issues with the increment and images per line options. I am trying to make a 4x4/16 image flipbook for better resolution, which I also plan to compensate with a vertex motion map(because sexy) and would like to make smaller flipbooks than 8x8 in general for small burst FXs and the like. However with Start/End/Inc settings of 1/64/4 and Images per Line of 4, my packed map is still coming out as an oddly squashed and framed 4x2 flipbook. I have tried more than a few attempts now, as well as saving, closing, and refreshing Houdini itself; yet still cannot seem to figure out how to get the packed map to give me a proper 4x4 flipbook composite.

    With Start/End/Inc set to 1/64/4 and Images per line of 4, I would expect to get a 4x4 flipbook of the entire 64 frame simulation, with it pulling every 4th frame. That is not what it gives me however. Instead it gives me a rectangular texture sheet that is 4x2, and only gets about 1/4 through the 64 frame simulation. with a texture render output of 512x512 it gives me an image that is 512x128.

    What do you think?


    • mikelyndon-sesi 5 years, 10 months ago  | 

      I think you found a bug. :) It doesn't look like the increments parameter is working as expected. I'll have a look at this next week and get back to you.

      • SGStudio2018 5 years, 10 months ago  | 

        Ha, yay for bugs! Let me know if I can help in any way. Thanks Mike! (thumbs up)

        • mikelyndon-sesi 5 years, 10 months ago  | 

          I've submitted a fix to github. You'll need to pull directly from there instead of update through the shelf tool if you want to test it sooner rather than later. Let me know if you run into any problems.

          • SGStudio2018 5 years, 10 months ago  | 

            Awesome! Thank you for that swift turn around, I appreciate it greatly. :D

          • SGStudio2018 5 years, 9 months ago  | 

            Alright, the sequence renders out with the correct increments, but now I am having trouble with the render packed map and render color map options.

            For example my Start/End/Inc are set to 4/64/4 with 4 images per line, and this gives me the frames 0004, 0008, 0016 like I expect. But when I click Render Color Map or Render Packed Map with all the same settings, and my project being set to the correct folder, the Houdini Console pops up with errors like this:
            /out/rop_texture_sheets1/COMPOSITING/HIPNAME__F_exr: Missing frame 53
            /out/rop_texture_sheets1/COMPOSITING/HIPNAME__F_exr: Missing frame 23
            /out/rop_texture_sheets1/COMPOSITING/HIPNAME__F_exr: Missing frame 53
            /out/rop_texture_sheets1/COMPOSITING/HIPNAME__F_exr: Missing frame 27
            /out/rop_texture_sheets1/COMPOSITING/HIPNAME__F_exr: Missing frame 11

            This is just a snipit, the list is very long with lots of repeats.

            It seems like it is looking for the incorrect frame numbers. What do you think?

            I would try to pack the flipbooks myself, but the .exr files the sequence gives me come into photoshop cropped and I have no good way of lining up each frame accurately.

  • granbuilder69 5 years, 9 months ago  | 

    Thanks Mike! This is just what I was looking for!

  • Lumiltis 5 years, 5 months ago  | 

    Hello, i've been doing mnay test but the results i get from the packed channels are very poor, i tried increasing the resolution as well as the render setting quality from the ROP but can't seem to get good clear results from the ROP, even with high res pyro. Any solution to this ?

  • _S_I_T_ 5 years, 3 months ago  | 

    Fantastic tool and great tutorial - many thanks Mike!

  • _S_I_T_ 5 years, 3 months ago  | 

    Fantastic tool and great tutorial - many thanks Mike! I've noticed that the layout of this nodes menu is different (is there an updated tutorial anywhere for this?)
    My main question is how to I specify a file type now (PNG, TGA, etc).

    many thanks for your time

  • mikelyndon-sesi 5 years, 3 months ago  | 

    Thanks. There's no updated tutorial at the moment. You can change the file type in the Advanced Settings tab.

  • Rooz Man 5 years ago  | 

    Hi there. I am new to Houdini so , I have an ocean simulation and have shaders for the water,foam,splashes,etc . is there a way I can pack those shaders and export them in UE4 ?

  • bobcober 4 years, 7 months ago  | 

    UE4 Dropbox Example Files Link is broken :-(

    • mikelyndon-sesi 4 years, 7 months ago  | 

      Thanks for pointing that out. I've updated the link.

  • mmmcookies187 4 years, 7 months ago  | 

    This is great, but I seem to be having and issue in 17.5 - I cannot get the emission to render - my blue channel is just black! I also cannot get it to reliably output the alpha channel as well, and because every time I hit render I'm waiting a half hour or more it's very time consuming for me to troubleshoot. Is there any where I can find general guide lines to setting up my pyro sim to work properly with this? I'm assuming we should be using micropolygon rendering since it's a volume, but beyond that I'm lost. Is there a step that I'm missing? Can I not just cache my pyro sim and use that to render from? Whether I use a file cache or go directly from the pyro output, I can't for the life of me seem to get the emission layer in there! It's so frustrating because the new UI layout does not make it as easy to follow along or compare settings through this short video. What am I missing?

  • jzwicker 4 years, 6 months ago  | 

    I think there is a bug where you render out a frame range, change the range and try to render again and it will not render the new range.

    Example, I rendered frames 1-8 and it rendered those 8 frames. Then I changed the range to 1-64 and it still only rendered 1-8. I delete the texture sheets ROP and created a new one with the range of 1-64 and it rendered all 64 frames.

    • mikelyndon-sesi 4 years, 6 months ago  | 

      Yup. There's an issue with how subnet ROP's pick up the frame range. I've made a change to the HDA which should show up in the next daily build.

      • jzwicker 4 years, 6 months ago  | 

        Thanks Mike!

  • Gridz-sama 3 years, 9 months ago  | 

    Is it just me, or is the RGB, Normal and Alpha sequence not in mosaic? I have all the individual frames but not a single 8x8 image of 64 frames but the Packed and Color are in mosaic.

  • jwolverton 3 years, 5 months ago  | 

    Can you make THIS hip file available?

    (The GameDev git you points to, as well as have things like
    and, confusing,
    rop_texture_sheets_demoscene.hip, but neither has this explosions with smoke file you show here.)

    Can we get a hold of it somewhere?

  • jwolverton 3 years, 5 months ago  | 

    Also, the UE4 files you link to here:

    Don't work (opacity fails.)

    So we can't really follow this tutorial at all. Can you update it or upload the actual files you used?

    • peternicolai 3 years, 4 months ago  | 

      hey jwolverton,

      I was able to get the texture working. If you open the texture in UE4 and change its compression setting from 'HDRcompressed' to 'HDR', the alpha is available again. That worked for me. Hopefully same for you too.

      I am still trying to get an alpha to show up from the texture_sheet rop channel packing. I can customize RGB no problem, but alpha seems to be unmodifiable.

  • oeiwang 2 years, 1 month ago  | 

    Can not create RGB lights in Houdini 19 ?

    Traceback (most recent call last):
    File "gamedev::Driver/rop_texture_sheets::2.0/render_rgb_lights", line 1, in <module>
    File "C:/PROGRA~1/SIDEEF~1/HOUDIN~1.498/houdini/python3.7libs\", line 49447, in __getattr__
    return _hou.HDAModule___getattr__(self, name)
    AttributeError: 'module' object has no attribute 'create_rgb_light_rig'

Please log in to leave a comment.