onUpdate method

  1. @override
void onUpdate(
  1. double dt
)
override

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();
}