Closed davideaster closed 9 years ago
The biggest issue with this branch is that it breaks view transform interpolation in view/threejs.js
. Turning off interpolateTransforms
undoes the weirdness, but of course that's no answer.
@eric79, can interpolated transforms work without the models receiving ticks?
Hey. I think that in Sandbox we've gone to a different algorithm for motion smoothing that does not rely on the tick signal. Let me see how this might be merged in.
New issues created by this branch:
adl/assetCache was using the tick function. Updated in https://github.com/virtual-world-framework/vwf-apps/pull/19
@davideaster @allisoncorey Please review the ticked method in the new jiglib view driver. In particular the call to this.state.setProperty which actually calls the model through the shared state.
Catching ticks in the view and calling a model method has the same issue that catching ticks in the model had. If time-based updates affect the model state, the model should be making future calls.
From a model driver, you can do something like:
this.kernel.callMethod( nodeID, "update", [], -0.05 )
Then catch update
in calledMethod
, do the update there, and call kernel.callMethod
again to schedule the next update.
updated
should be declared as a method in the component. Negative when
times are relative to the current simulation time, so this will do an update every 50 ms of simulation time.
Don't record ticks in the queue. Don't tick nodes and model drivers.
If ticks pass through the message and become part of the application state, then unexecuted ticks must be included in the replication and persistence data. This adds unnecessary bulk to the state data, unnecessary traffic with the storage backend, and can increase buffer delays during poor network conditions.
More details are in 73217736e4756f6d7293de0691e726493a3934b4.
@eric79 @allisoncorey @scottnc27603 @rchadwic