Home Unreal Engine

Vector images via Scaleform in Material Editor

greentooth
Offline / Send Message
marks greentooth
Is this possible? Is it complicated to do? Can't find any real documentation on this.

Replies

  • moose
    Offline / Send Message
    moose polycount sponsor
    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:
    \NameOfPackage
      \NameOfFile
        \yourImageName1.png
        \yourImageName2.png
        \yourImageName3.png
      \NameOfFile.fla
      \NameOfFile.swf
    
    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.
  • marks
    Offline / Send Message
    marks greentooth
    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.
  • moose
    Offline / Send Message
    moose polycount sponsor
    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.
  • marks
    Offline / Send Message
    marks greentooth
    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).
Sign In or Register to comment.