Graphics

 View Only
  • 1.  RPC to control multiple Xpressions.

    Posted 11-10-2016 16:42
    We're using Xpression for augmented reality applications and need to have control over more things than something like Ross Talk or Dashboard will allow (like positioning arbitrary objects... I realize I can torture Dashboard with XML Datalinq to do that, but with potentially dozens of different objects with different requirements, publishing all those values seems terribly inefficient, especially when few of the objects will actually be loaded at any one time). I also programmatically build animations (among other things); I simply don't believe that's possible with Dashboard.

    I also need to have a lot of interfacing unrelated to Ross (third party data acquisition, among other things), so need to write my own interface. We will have multiple Xpressions supporting multiple real cameras, and I'd like to be able to remotely control all the Xpressions involved (typically only two, possibly three).

    We do have UX, which implements it's own RPC service on each of the Xpression boxes; I could possibly use that if I had API docs for it.

    Otherwise I think I will need to roll my own (starting with just what I need, not wrapping the whole API). But I was hoping to not have to do that.


  • 2.  RE: RPC to control multiple Xpressions.

    Posted 11-17-2016 01:47
    Not really sure what you are looking for :)

    UX can only be controlled by RossTalk, there is no API. You can remotely trigger the UX event system to recall pre-built object positions which will animate from one position to the other. You can do a lot of other things with the UX events but i won't go into detail because it sounds like you are pretty set on making your own thing. But I willmention that you can trigger Pyton scripts in UX Events.

    Keep in mind that XPression API calls cannot be sent remotely. You'll need a local app on each XPression to send the API calls to the engine, and then you'll need to control those local apps remotely from your interface. At least that's how I think you'll want to do this.

    Any reason you don't want to use XPression Datalinq to parse third party data? I assume the data type either isn't supported by Datalinq or because you want to use the data differently than just putting it in a text.


    #XPression


  • 3.  RE: RPC to control multiple Xpressions.

    Posted 12-01-2016 16:52
    Yes - in certain cases, either the data is not in the correct format (although it seems that now JSON is supported, so that helps), or there are other requirements - in particular, some of the services we use require authentication in the request headers, which I don't think is possible with datalinq.

    In addition, some things just don't work, especially with social media. Image links work fine, but video links do not. We need to download videos, and often convert them with the Xpression video codec in order to make them run properly. Xpression/Datalinq don't do that automatically.

    I want to try to avoid disparate interfaces; one unified interface for the operator works best, but I also need to customize it heavily - positioning an object might need to be tweaked on one system in order to account for real world variations in tracking data from two different sources. While things should like up given a common coordinate system, they sometimes simple don't - not perfectly. In addition, sometimes you want to fake the blocking on one system so that maybe data presented on the virtual object is more easily seen from an otherwise awkward camera position.

    Also, I admit I have not worked much with UX because we're only just getting started and I only get bits and pieces of time to work on this, but we need way more than just positioning, and it can be unique to each object - sometimes objects will have a "stand," for example, if positioned sitting on the floor, but they may be floating, in which case we'll often have "wires" suspending them; there's a myriad of things that could need to modified depending on position, including a lot of contextual things.

    Believe me, I don't want to do any more work than I have to.

    I believe, like VCC, that I will have to implement a subset of the Xpression API with remote procedure calls, but I don't really want to. I was just hoping that, since we have licenses for it, we could also use VCC - if we had docs for it's API, that would be ideal.
    #XPression