Image sequence is not playing in Viewport2.0

Hi everyone, I am having trouble in getting image sequence in image planes to be playing in other model panels when using Viewport2.0 when scrubbing through the Time Slider.

Here are the replication steps (I apologized in advance for the long message):

  • Set the main viewport to adopt the 4 views (top, side, front, persp)
  • Under each view, set the renderer to Viewport2.0
  • Under each model panel, go to View > Image Plane > Import Image (make sure it is an image sequence)
  • In those created image planes, go to its shape node/tab and under “Image Plane Attributes” > set display to “looking though camera”
  • And so, you should be have a single image plane each in its own view/ model panels.
  • If you try to scrub through the Time Slider, note that only one or none of the image planes are playing its sequences.

The only method that I can find for the image plane to be playing through the sequences is:

  • Select the said image plane
  • Go to Attribute Editor
  • Under the shape node > Object Display > Ghosting Information > Check + Uncheck “Ghosting”

Tried to do it pythonically but it only seems to be updating the image plane at the last model panel and that panel has to be in focus but there are times where it is a hit or miss.

for pane in cmds.getPanel(visiblePanels=True):
    if cmds.getPanel(typeOf=pane) == "modelPanel":
        panel_cam_sn = cmds.modelPanel(pane, camera=True, query=True)
        panel_cam_fp = cmds.ls(panel_cam_sn, long=True)[0]
    
        cmds.setFocus(pane)
        # Hard-coding the imageplane shapes name for now
        for i in ['imagePlaneShape1', 'imagePlaneShape2', 'imagePlaneShape3']:
            cmds.select(i)
            cmds.setAttr('{0}.ghosting'.format(i), 1)
            cmds.refresh(force=True)
            cmds.setAttr('{0}.ghosting'.format(i), 0)

And so my question here is - Is there a better way for me to update/ refresh these image planes such that it is indeed playing in all the model panels? Changing it to Legacy Viewport does works but unfortunately I am working in a VP2.0 environment.

Or could this be one of the issues of using Viewport2.0?

Hey @xenas,

I tried multiple ways too , to no avail sadly,

import maya.cmds as cmds
import maya.mel as mel

path = r"<path>"

for pane in cmds.getPanel( visiblePanels=True):
    
    if cmds.getPanel(typeOf=pane) == "modelPanel":
        
        cam = cmds.modelEditor(pane, q=True, camera=True)
        image_plane = cmds.imagePlane(camera=cam, fileName=path, lookThrough=cam)
        cmds.modelEditor(pane, e=True, imagePlane=True)
        cmds.setAttr("{0}.useFrameExtension".format(image_plane[-1]), True)
        
        # Obtuse odd-call that allows you to pull up the attribute editor for a given obj.
        mel.eval("showEditorExact {0}".format(image_plane[-1]))

I think commands are getting interfered with physical instantiation of the objects, especially when interacting with them in the attribute editor. EvalDeferred doesn’t help - I tried with with the showEditorExact and selecting the image planes - basically throughs an error that they don’t exist.

Hi @chalk, thanks for taking a look into it.

I was not able to call up showEditorExact, maybe that only exists in earlier maya versions I guess.
After much checking online, it seems that this is a known bug/ issue when using Viewport2.0.

Be it using image planes, or even when using the alternative method - the use of texture, there are times where the updating just simply does not gets refresh.

While the use of ogs -reset, seems to help only in the current chosen panel, but it will causes all other image planes in other panels to ‘disappear’.

Adding on, it also appears that it has been quite a while last when Autodesk did any updating towards image plane nodes…