Graphics

 View Only
  • 1.  Transition Logic and Scene Directors

    Posted 07-05-2019 10:48

    Hi all, bit of a conundrum here. I'm aware that Transition Logic will stop reading rules once it finds one that is true... So naturally I'm at a loss on how to transition multiple elements on or off at the same time.

    For example: I have two lower thirds from the same scene. One has text, a tab, and a live bug, while the other has different text, no tab, and no live bug. How do I change the text, animate out the tab, and animate out the live bug *all at the same time*? I have transition logic rules set up already, but based on the order of the rules I know I'll only ever get one to animate properly while the others just appear/disappear because their rules aren't being read.

    Any workarounds/tips/tricks for overcoming this?



  • 2.  RE: Transition Logic and Scene Directors

    Posted 07-05-2019 18:23

    Yes, is true, after first true rule the scene is played without cheching other rules.

    Why don't you try to put the live bug on other layer and use CUE to prepare 2 item and play them together?


    #XPression


  • 3.  RE: Transition Logic and Scene Directors

    Posted 07-05-2019 22:32

    You could also put your live bug scene on line and trigger animations via an event on a scene director time line.


    #XPression


  • 4.  RE: Transition Logic and Scene Directors

    Posted 07-16-2019 11:21

    I took both of your suggestions and found the best way of doing it. The "Live Bug" scene always exists in the Sequencer, and there is script on each Lower Third scene that looks at a text box. If text=0, it takes that specific Live Bug scene offline. If text=1, it puts it online.

    This runs on OnOnline:

    dim takeitem as xpBaseTakeItem
    dim text as xpTextObject

    'NAME IN QUOTATION MARKS IS THE NAME OF LIVE BUG TEXT LAYER
    Self.GetObjectByName("Live Bug: 0=off, 1=on", text)

    '9999 IS THE TAKE-ID NUMBER FOR THE LIVE BUG; CAN BE WHATEVER YOU WANT (BUT ALWAYS MUST BE IN SEQUENCER)
    if text.text = "0" then
    engine.Sequencer.GetTakeItemByID(999, takeitem)
    takeitem.SetOffline
    end if

    if text.text = "1" then
    engine.Sequencer.GetTakeItemByID(999, takeitem)
    takeitem.execute
    end if

    #XPression