private void SetShotManagerData() { foreach (Shot shot in ShotManager.Instance.shots) { ShotData shotData = new ShotData { name = shot.name, start = shot.start, end = shot.end, enabled = shot.enabled }; shotData.cameraName = ""; if (null != shot.camera) { Utils.GetTransformRelativePathTo(shot.camera.transform, rootTransform, out shotData.cameraName); } SceneData.Current.shots.Add(shotData); } }
private void LoadShot(ShotData data) { GameObject cam = null; if (data.cameraName.Length > 0) { Transform cameraTransform = rootTransform.Find(data.cameraName); if (null == cameraTransform) { Debug.LogWarning($"Object name not found for camera: {data.cameraName}"); return; } cam = cameraTransform.gameObject; } ShotManager.Instance.AddShot(new Shot { name = data.name, start = data.start, end = data.end, enabled = data.enabled, camera = cam }); }
public void FromBytes(byte[] buffer, ref int index) { for (int i = 0; i < 6; i++) { if (buffer[i] != headerBuffer[i]) { throw new Exception("Invalid VRtist file Header"); } } index += 6; fileVersion = Converter.GetInt(buffer, ref index); if (fileVersion > version) { throw new Exception("File version mismatch, please update VRtist"); } int objectsCount = Converter.GetInt(buffer, ref index); for (int i = 0; i < objectsCount; i++) { ObjectData data = new ObjectData(); data.FromBytes(buffer, ref index); objects.Add(data); } int lightsCount = Converter.GetInt(buffer, ref index); for (int i = 0; i < lightsCount; i++) { LightData data = new LightData(); data.FromBytes(buffer, ref index); lights.Add(data); } int camerasCount = Converter.GetInt(buffer, ref index); for (int i = 0; i < camerasCount; i++) { CameraData data = new CameraData(); data.FromBytes(buffer, ref index); cameras.Add(data); } skyData = new SkySettings { topColor = Converter.GetColor(buffer, ref index), middleColor = Converter.GetColor(buffer, ref index), bottomColor = Converter.GetColor(buffer, ref index) }; int animationsCount = Converter.GetInt(buffer, ref index); for (int i = 0; i < animationsCount; i++) { AnimationData data = new AnimationData(); data.FromBytes(buffer, ref index); animations.Add(data); } int rigCount = Converter.GetInt(buffer, ref index); for (int i = 0; i < rigCount; i++) { RigData data = new RigData(); data.FromBytes(buffer, ref index); rigs.Add(data); } fps = Converter.GetFloat(buffer, ref index); startFrame = Converter.GetInt(buffer, ref index); endFrame = Converter.GetInt(buffer, ref index); currentFrame = Converter.GetInt(buffer, ref index); int constraintsCount = Converter.GetInt(buffer, ref index); for (int i = 0; i < constraintsCount; i++) { ConstraintData data = new ConstraintData(); data.FromBytes(buffer, ref index); constraints.Add(data); } int shotsCount = Converter.GetInt(buffer, ref index); for (int i = 0; i < shotsCount; i++) { ShotData data = new ShotData(); data.FromBytes(buffer, ref index); shots.Add(data); } playerData = new PlayerData(); playerData.FromBytes(buffer, ref index); }