diff --git a/third_party/maya/lib/usdMaya/MayaCameraWriter.cpp b/third_party/maya/lib/usdMaya/MayaCameraWriter.cpp index dac1aa2494..267faf3cff 100644 --- a/third_party/maya/lib/usdMaya/MayaCameraWriter.cpp +++ b/third_party/maya/lib/usdMaya/MayaCameraWriter.cpp @@ -105,10 +105,12 @@ bool MayaCameraWriter::writeCameraAttrs(const UsdTimeCode &usdTime, UsdGeomCamer const double verticalAperture = PxrUsdMayaUtil::ConvertInchesToMM( camFn.verticalFilmAperture()); + // Film offset and shake (when enabled) have the same effect on film back const double horizontalApertureOffset = PxrUsdMayaUtil::ConvertInchesToMM( - camFn.horizontalFilmOffset()); + (camFn.shakeEnabled() ? + camFn.horizontalFilmOffset() + camFn.horizontalShake() : camFn.horizontalFilmOffset())); const double verticalApertureOffset = PxrUsdMayaUtil::ConvertInchesToMM( - camFn.verticalFilmOffset()); + (camFn.shakeEnabled() ? camFn.verticalFilmOffset() + camFn.verticalShake() : camFn.verticalFilmOffset())); primSchema.GetHorizontalApertureAttr().Set( float(horizontalAperture), usdTime);