do you mean using a scaleform movie in a material?
This is possible, however the workflow has not been improved upon in a while, which is why its not fully documented yet (sorry!). You have to jump through some hoops as a result unfortunately. The one catch will be that it has to exist in a level, and can only be previewed via PIE (in motion), but once you pie once you will see a static image in the viewport, and should be visible in SM/Skelmesh Editors.
steps:
1. create a RenderTextureTarget2d, set its size to what you want
2. create a material, drop that RTT into the material, hook up as you want
3. Assign new material to mesh, and place in world (will be green)
4. Open Kismet, drop a level loaded node (New Event > Level Loaded)
5. New Action > GFX UI > Open GFx Movie
6. select the Open GFx Movie node, assign your swf under 'Movie,' and assign the RTT you created in "Render Texture." The Render texture mode "alpha composite" will draw the stage from flash as 0 alpha.
7. connect the Level Loaded(Loaded and Visible) --> (in)Open GFx Movie
8. Close Kismet, drop a playerstart in your level & run PIE (green play buton)
In the material, you can do anything to the GFx movie that you can do to a texture, since it is rendering to an RTT - you can distort, scale, warp, colorize, split channels, put on cube maps, etc.
Not sure if the filestructure workflow exists in UDK (haven't tried), but when importing a SWF to udk make sure your file structure is set up so that the root folder is named the same name as your package name, and you have a folder inside that matches the .fla file that contains your source images:
Thanks a lot, I did find some info on this but it had holes. I'm wanting to use static vector-images to use as very large-scale decals for floor murals/motifs. I'm also interested in the performance cost of using this technique - is it significantly more than using a high-res bitmap texture in terms of drawing in the renderer? Obviously the memory usage will be much lower.
It will impact performance slightly due to the RTT texture, don't have specific numbers for ya though. GFx has to draw, but what really makes GFx slow is action script, as well as vert count on vector shapes.
I would give it a shot, it sounds like a cool idea. I would be ready to swap to high res bitmaps - which seems like a more sure-fire solution.
Thanks for the help Maury. The patterns are very simple - effectively chamfered primitives for the most part so vert count is unlikely to be an issue. What I was principally concerned about was the frame beign unnecessarily redrawn in GFx every frame rather than being held in cache, which is what the documentation seems to suggest.
If I can get a good result using this method, I'll post up some images and the process I used. It seems much more efficient to do it this way than using bitmaps (each tile needs to cover around 20-40 square metres of floorspace).
Replies
This is possible, however the workflow has not been improved upon in a while, which is why its not fully documented yet (sorry!). You have to jump through some hoops as a result unfortunately. The one catch will be that it has to exist in a level, and can only be previewed via PIE (in motion), but once you pie once you will see a static image in the viewport, and should be visible in SM/Skelmesh Editors.
steps:
1. create a RenderTextureTarget2d, set its size to what you want
2. create a material, drop that RTT into the material, hook up as you want
3. Assign new material to mesh, and place in world (will be green)
4. Open Kismet, drop a level loaded node (New Event > Level Loaded)
5. New Action > GFX UI > Open GFx Movie
6. select the Open GFx Movie node, assign your swf under 'Movie,' and assign the RTT you created in "Render Texture." The Render texture mode "alpha composite" will draw the stage from flash as 0 alpha.
7. connect the Level Loaded(Loaded and Visible) --> (in)Open GFx Movie
8. Close Kismet, drop a playerstart in your level & run PIE (green play buton)
In the material, you can do anything to the GFx movie that you can do to a texture, since it is rendering to an RTT - you can distort, scale, warp, colorize, split channels, put on cube maps, etc.
Not sure if the filestructure workflow exists in UDK (haven't tried), but when importing a SWF to udk make sure your file structure is set up so that the root folder is named the same name as your package name, and you have a folder inside that matches the .fla file that contains your source images:
This will ensure the files import properly! If you're only using vector shapes, and have no imported bitmaps, you don't need the sub folder.
I would give it a shot, it sounds like a cool idea. I would be ready to swap to high res bitmaps - which seems like a more sure-fire solution.
If I can get a good result using this method, I'll post up some images and the process I used. It seems much more efficient to do it this way than using bitmaps (each tile needs to cover around 20-40 square metres of floorspace).