private void SaveSettings(MixCastData.OculusOrigin newOrigin) { MixCast.Settings.oculusOrigin = newOrigin; if (saveToSettings) { MixCastRegistry.WriteData(MixCast.Settings); } }
private bool WasOriginChanged(MixCastData.OculusOrigin oldOrigin, MixCastData.OculusOrigin newOrigin) { if (!oldOrigin.IsInitialized() || !newOrigin.IsInitialized()) { return(false); } return(oldOrigin != newOrigin); }
/// <summary> /// Experimental, does not work for now. Applying position and rotation offset to cameras does not match. /// </summary> private void ApplyNewOffsetToSettings(MixCastData.OculusOrigin oldOrigin, MixCastData.OculusOrigin newOrigin) { var diff = new MixCastData.OculusOrigin() { position = newOrigin.position - oldOrigin.position, rotation = newOrigin.rotation - oldOrigin.rotation }; diff.position.z = -diff.position.z; foreach (var camera in MixCast.Settings.cameras) { camera.worldPosition -= diff.position; camera.worldRotation *= Quaternion.Euler(diff.rotation); } }