Graphics

 View Only
  • 1.  Xpression Lines

    Posted 04-30-2020 00:27

    I'm working in Xpression Designer 9.0 build 4849 keyframing the percentage of a LineList from 0 to 100 percent and when I play the scene director in layout mode Xpression just disappears...from sequence mode, it locks up and eventually crashes. This happens with 2D and 3D lines.

    Is this behavior that anybody else has seen?

    Thanks,

    James.



  • 2.  RE: Xpression Lines

    Posted 04-30-2020 13:15

    You're using a script, yes? In our experience we see this kind of instability when there's a bad line(s) of a script, especially if it's on the OnRender event.

    I would maybe start by commenting out lines of code until you find the offending one.


    #XPression


  • 3.  RE: Xpression Lines

    Posted 05-07-2020 00:56

    Martin,

    I've finally been able to get back to this. I did have some scripting working toward setting the points in the pointslist, but wasn't getting any where. I was concerned that I might be breaking something with the script, too.

    So, I rebuilt a scene from scratch...and recomposed the script. Then I keyframed the LineList percentage from 0 to 100 to draw on the graph. I put the scene in the sequence and tried to play it out---and it crashed Xpression. I commented out the entire script and tried playing it out...and Xpression crashed. I tried inserting a new instance in the sequence, and Xpression crashed as soon as I dragged it in.

    I started over with a fresh scene and was able to draw on the graph by keyframing LineList percentage from 0 to 100 in layout mode and in sequence mode. 

    The script I was attempting was OnOnline. Although earlier I tried to use text fields to set x,y coordinates for the pointlist, this time I used quads (since I saw that it would be helpful to the producer to have a visual representation of what they were building) and attempted to use their position to set the points in the pointlist.

    dim Line1 as xpLinesObject
    dim Line1List as xpPointList
    dim Line1Point1, Line1Point2, Line1Point3 as xpQuadObject

    self.GetObjectByName ("Line1", Line1)
    self.GetObjectByName ("Line1List", Line1List)
    self.GetObjectByName ("Line1Point1", Line1Point1)
    self.GetObjectByName ("Line1Point2", Line1Point2)
    self.GetObjectByName ("Line1Point3", Line1Point3)

    Line1List.pointlist(Line1Point1.position,Line1Point2.position,Line1Point3)

    Any ideas what section of the script broke my Xpression Designer? Is there any hope for what I want to do?

    Thanks,

    James.


    #XPression


  • 4.  RE: Xpression Lines

    Posted 05-07-2020 02:01

    Well, I decided to work on the basic parts for now, and everything was fine until I switched a LineList from 3D to 2D and got an exception. I switched back to 3D and later keyframed LineList percentage from 0 to 100 to drawn on the graph. It worked fine in Layout mode, but when I put tried to play it out from the sequence, it crashed Xpression. I'm starting to think that I've stumbled across a bug. Has anybody had issues with v9.0 build 4849?


    #XPression


  • 5.  RE: Xpression Lines

    Posted 05-08-2020 02:46

    I believe the lines object is new with Version 9, this could be something to reach out to the support team about. I myself have not used it yet.

    But briefly looking through the SDK though, I think the offending line might be the last one. Line1List is already a pointlist object, and PointList isn't a valid method or property of the xpPointList object. That could  explain why sequencer is crashing on you when it tries to run the script. So Instead of pointlist, I think you want AddPoint and then that method is looking for X and Y values. So it might look something more like:

    Line1List.AddPoint(Line1Point1.PosX,Line1Point1.PosX)

    I'm away from a scripting window so that might be off too, but even still that's only 1 entry added. You'd want some sort of ForLoop to continue to update the array of position information.

    I can't fully visualize what you might be trying to do, but from what I gather, it sounds like you want to dynamically change the points within your list, within your Lines object by using the position of quads in your scene. You may be working with the wrong object, you may want Line1 not Line1List. But even then you'd need to reference the line and add points accordingly.

    With lockdown I'm unable to get any extended time in front of a machine to experiment. But for what you are doing, maybe it's  easier to just use the DrawAPI shaders as it's probably going to come out to the same amount of scripting anyway.

     


    #XPression