Thanks Jason. Yeah that is interesting information. I had already figured that part out though (see my response to Renaud). It is very neat though to see it all described in detail.
We're now having this weird issue of splice not being able to pull ice attributes when forced to evaluate this way. I will report back here once I have that sorted out. On Tue, May 5, 2015 at 8:31 PM, Jason S <[email protected]> wrote: > > On 05/05/15 9:15, Leonard Koch wrote: > > We're running splice in Softimage to render out a pointcloud using a > renderer written in KL. > > > Sounds cool! > > Would this help? (see related tip) > from here: > http://softimage.wiki.softimage.com/index.php?title=Custom_Operators_%28XSISDK%29#Forcing_an_operator_to_update > > Forcing an operator to update > > A common scripting problem is that a scene that works well in the UI may > not work properly when processed via a script, especially when running in > batch mode. This happens most frequently when dealing with simulation > situations such as Syflex, Hair, Particles or export of animation or with > Custom Operators. > > The reason is because XSI is highly optimized and does not call the update > method of an operator unless something "pulls" the objects that the > operator outputs too. In other words, XSI does not generate data unless it > is asked for. This *pull* often occurs when the object is drawn on the > screen because XSI wants to determine the exact accurate visual > representation of the script. The result is that an operator may have its > inputs changed, which puts it into a *dirty* state, but not automatically > update itself. > > Fortunately XSI is not dependent on its UI, so other scenarios, including > the SDK and rendering can also cause a "pull of the scene graph". > For example if an operator modifies the geometry of an object, then any > SDK code that retrieves the geometry will provoke the necessary Updates. > > So a script that wishes to perform some sort of batch simulation or > animation export should be sure to access the affected objects using the > SDK at each frame change. > > *Related Tip: *Some custom operators that run simulations need to be > dirty each time the frame position changes. > Use the CustomOperator.AlwaysEvaluate property to establish this behavior. > (The older workaround was animate a parameter of the operator. This > parameter could be hidden and just served the purpose of making the > operator dirty at each frame) > > > > On 05/05/15 9:15, Leonard Koch wrote: > > We're running splice in Softimage to render out a pointcloud using a > renderer written in KL. So the renderer lives in an operator on the > pointcloud. > > When we open this scene using xsibatch the splice operator doesn't get > evaluated. > > Just like any other part of the scene wouldn't. Because it doesn't have > to, because it isn't displayed anywhere. > > Is there a way to force softimage to evaluate its graph without a viewport? > > Would really appreciate some input on this. > Thanks! > > -Leonard > > >

