onUpdate method
Override for custom per-frame logic.
Implementation
@override
void onUpdate(double dt) {
final model = armModel;
if (model != null) {
model.update(
cameraRig: cameraRig,
controllerOrientation: transform.rotation,
dt: dt,
out: _anchoredPosition,
);
transform.setPositionFrom(_anchoredPosition);
onTransformChanged();
return;
}
cameraRig.headTransform.copyForwardTo(_forward);
cameraRig.headTransform.copyRightTo(_right);
cameraRig.headTransform.copyUpTo(_up);
final head = cameraRig.position;
_anchoredPosition.setValues(
head.x +
_right.x * anchorOffset.x +
_up.x * anchorOffset.y +
_forward.x * anchorOffset.z,
head.y +
_right.y * anchorOffset.x +
_up.y * anchorOffset.y +
_forward.y * anchorOffset.z,
head.z +
_right.z * anchorOffset.x +
_up.z * anchorOffset.y +
_forward.z * anchorOffset.z,
);
transform.setPositionFrom(_anchoredPosition);
onTransformChanged();
}