Graphics

 View Only
  • 1.  Looping Volatile Texture

    Posted 11-29-2016 17:20
    I am looking for a way to tell a volatile texture to loop. We have four different lower third backgrounds and use a text field for the producers to select the format they want. Our script pulls the specified background from a folder. However, the background movie animates in, and I'd like it to them loop back to frame 60. Any suggestions on how to script that? This is what we're using right now:

    dim Low3 as xpTextObject
    dim base as xpBaseObject
    dim FilePath as String

    Self.GetObjectByName("Number of lines", Low3)
    FilePath = "D:\MTN News\Video\L3" & Low3.Text & ".avi"
    Self.GetObjectByName("Low3base", base)
    base.SetVolatileTextureFile(0,"D:\MTN News\Video\L3" & low3.text & ".avi"

    Thanks in advance for any help.


  • 2.  RE: Looping Volatile Texture

    Posted 11-30-2016 00:10
    The volatile texture will use the looping properties of whatever video shader is already assigned to the quad. So you can create a dummy video material set to loop and assign it to the quad in the base scene. Once that quad gets replaced with a volatile texture it will use the properties from the dummy material. Hope that makes sense.

    #XPression


  • 3.  RE: Looping Volatile Texture

    Posted 12-02-2016 19:54
    I'm not sure if the volatile textures can use the 3 point loop settings (loop in).. I'll look into it here and check.
    #XPression


  • 4.  RE: Looping Volatile Texture

    Posted 12-02-2016 20:08
    I've confirmed that volatile materials don't support using the Loop In/Out/Count values from the original video. This will be implemented in the next version of 6.7 to be released.
    In the meantime it looks like you will need to create unique materials for each of the videos and assign the correct loop points in them.
    You can still use the script to assign the correct material to the object, it just won't be a volatile material.

    Something like: (off the top of my head)

    dim mat as xpMaterial
    engine.GetMaterialByName("3lineloop", mat)
    base.SetMaterial(0, mat)

    #XPression