diff --git a/Packages/.gitignore b/Packages/.gitignore index 1cf9db9..b3927fb 100644 --- a/Packages/.gitignore +++ b/Packages/.gitignore @@ -1,2 +1,3 @@ /*/ !com.vrchat.core.*/ +!com.acchosen.vr-stage-lighting diff --git a/Packages/com.acchosen.vr-stage-lighting/Editor/VRSL DMX Default Fixture Definitions.asset b/Packages/com.acchosen.vr-stage-lighting/Editor/VRSL DMX Default Fixture Definitions.asset new file mode 100644 index 0000000..b4c2f3c --- /dev/null +++ b/Packages/com.acchosen.vr-stage-lighting/Editor/VRSL DMX Default Fixture Definitions.asset @@ -0,0 +1,155 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5234e5a618f589b49aa604ad3e28f500, type: 3} + m_Name: VRSL DMX Default Fixture Definitions + m_EditorClassIdentifier: + definitions: + - name: SpotLight 13CH + channelNames: + - Pan + - Fine Pan + - Tilt + - Fine Tilt + - Zoom + - Dimmer + - Strobe + - Red + - Green + - Blue + - GOBO Spin + - GOBO Select + - Movement Speed + foldOut: 0 + - name: WashLight 13CH + channelNames: + - Pan + - Fine Pan + - Tilt + - Fine Tilt + - Zoom + - Dimmer + - Red + - Green + - Blue + - None + - None + - None + - Movement Speed + foldOut: 0 + - name: ParLight 13CH + channelNames: + - None + - None + - None + - None + - None + - Dimmer + - Strobe + - Red + - Green + - Blue + - None + - None + - None + foldOut: 0 + - name: Blinder 13CH + channelNames: + - None + - None + - None + - None + - None + - Dimmer + - Strobe + - Red + - Green + - Blue + - None + - None + - None + foldOut: 0 + - name: LightBar 13CH + channelNames: + - None + - None + - None + - None + - None + - Dimmer + - Strobe + - Red + - Green + - Blue + - None + - None + - None + foldOut: 0 + - name: ParLight 5CH + channelNames: + - Dimmer + - Red + - Green + - Blue + - Strobe + foldOut: 0 + - name: Blinder 5CH + channelNames: + - Dimmer + - Red + - Green + - Blue + - Strobe + foldOut: 0 + - name: LightBar 5CH + channelNames: + - Dimmer + - Red + - Green + - Blue + - Strobe + foldOut: 0 + - name: Flasher 1CH + channelNames: + - Dimmer + foldOut: 0 + - name: DiscoBall 1CH + channelNames: + - Dimmer + foldOut: 0 + - name: Laser 13CH + channelNames: + - Pan + - Tilt + - Length + - Width + - Flatness + - Beam Count + - Spin Speed + - Red + - Green + - Blue + - Dimmer + - Beam Thickness + - Movement Speed + foldOut: 0 + - name: Generic 5CH + channelNames: + - Dimmer + - Red + - Green + - Blue + - Strobe + foldOut: 0 + - name: Other + channelNames: + - Unknown + foldOut: 1 diff --git a/Packages/com.acchosen.vr-stage-lighting/Editor/VRSL DMX Default Fixture Definitions.asset.meta b/Packages/com.acchosen.vr-stage-lighting/Editor/VRSL DMX Default Fixture Definitions.asset.meta new file mode 100644 index 0000000..c6a86eb --- /dev/null +++ b/Packages/com.acchosen.vr-stage-lighting/Editor/VRSL DMX Default Fixture Definitions.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 4d88361aa1276d64d8a60009bfb590ed +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/com.acchosen.vr-stage-lighting/Editor/VRSL_DMXPatchExporter.cs b/Packages/com.acchosen.vr-stage-lighting/Editor/VRSL_DMXPatchExporter.cs new file mode 100644 index 0000000..c2bd5f7 --- /dev/null +++ b/Packages/com.acchosen.vr-stage-lighting/Editor/VRSL_DMXPatchExporter.cs @@ -0,0 +1,227 @@ +#if !COMPILER_UDONSHARP && UNITY_EDITOR +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEditor; +using UdonSharpEditor; +using UnityEngine.SceneManagement; +using System.IO; +using System; + +namespace VRSL.EditorScripts +{ + public class VRSL_DMXPatchExporter : Editor + { + private static VRSL_LocalUIControlPanel panel; + private static List sceneObjects = new List(); + public static bool hasLocalPanel; + static List GetAllObjectsOnlyInScene() + { + List objectsInScene = new List(); + + foreach (GameObject go in Resources.FindObjectsOfTypeAll(typeof(GameObject)) as GameObject[]) + { + if (!EditorUtility.IsPersistent(go.transform.root.gameObject) && !(go.hideFlags == HideFlags.NotEditable || go.hideFlags == HideFlags.HideAndDontSave)) + objectsInScene.Add(go); + } + + return objectsInScene; + } + private static void CheckForLocalPanel() + { + sceneObjects = GetAllObjectsOnlyInScene(); + hasLocalPanel = false; + panel = null; + // colorLabel = new GUIContent(); + // colorLabel.text = "Emission Color"; + foreach (GameObject go in sceneObjects) + { + #pragma warning disable 0618 //suppressing obsoletion warnings + panel = go.GetUdonSharpComponent(); + #pragma warning restore 0618 + if(panel != null) + { + hasLocalPanel = true; + break; + } + } + return; + } + + + [MenuItem("VRSL/Save Patch Data", priority = 500)] + public static void SavePatchData() + { + CheckForLocalPanel(); + if(!hasLocalPanel){Debug.LogWarning("VRSL Patch Exporter: Please make sure there is a VRSL-LocalUIControlPanel in your scene before attempting to save."); return;} + if(panel.fixtureSaveFile == "NONE") + { + try + { + VRSL_DMXPatchSettings asset = ScriptableObject.CreateInstance(); + asset.SetDMXFixtureData(); + string name = "VRSL DMX Patch Data_" + SceneManager.GetActiveScene().name + ".asset"; + string parentDirectory = "VRSL DMX Patch Folder"; + if(AssetDatabase.IsValidFolder("Assets/" + parentDirectory) == false) + { + AssetDatabase.CreateFolder("Assets", parentDirectory); + } + string path = "Assets/" + parentDirectory + "/" + name; + AssetDatabase.CreateAsset(asset, path); + // AssetDatabase.SaveAssets(); + + // EditorUtility.FocusProjectWindow(); + + // Selection.activeObject = asset; + + + SerializedObject so = new SerializedObject(panel); + so.FindProperty("fixtureSaveFile").stringValue = AssetDatabase.GUIDFromAssetPath(path).ToString(); + so.ApplyModifiedProperties(); + #pragma warning disable 0618 //suppressing obsoletion warnings + panel.UpdateProxy(); + #pragma warning restore 0618 //suppressing obsoletion warnings + panel.fixtureSaveFile = so.FindProperty("fixtureSaveFile").stringValue; + #pragma warning disable 0618 //suppressing obsoletion warnings + panel.ApplyProxyModifications(); + #pragma warning restore 0618 //suppressing obsoletion warnings + + /// asset = (VRSL_DMXPatchSettings) AssetDatabase.LoadAssetAtPath(AssetDatabase.GUIDToAssetPath(panel.fixtureSaveFile), typeof(VRSL_DMXPatchSettings)); + // asset.SetScene(); + // asset.SetDMXFixtureData(); + asset.ForceSave(); + } + catch + { + Debug.LogError("VRSL Patch Exporter: Failed to create patch data."); + } + } + else + { + try + { + VRSL_DMXPatchSettings asset = (VRSL_DMXPatchSettings) AssetDatabase.LoadAssetAtPath(AssetDatabase.GUIDToAssetPath(panel.fixtureSaveFile), typeof(VRSL_DMXPatchSettings)); + asset.SetScene(); + asset.SetDMXFixtureData(); + asset.ForceSave(); + } + catch (NullReferenceException e) + { + // Debug.LogError("VRSL Patch Exporter: Could not find patch data file. Removing Link patch data link."); + e.GetType(); + SerializedObject so = new SerializedObject(panel); + so.FindProperty("fixtureSaveFile").stringValue = "NONE"; + so.ApplyModifiedProperties(); + #pragma warning disable 0618 //suppressing obsoletion warnings + panel.UpdateProxy(); + #pragma warning restore 0618 //suppressing obsoletion warnings + panel.fixtureSaveFile = so.FindProperty("fixtureSaveFile").stringValue; + #pragma warning disable 0618 //suppressing obsoletion warnings + panel.ApplyProxyModifications(); + #pragma warning restore 0618 //suppressing obsoletion warnings + SavePatchData(); + } + catch(Exception e) + { + Debug.LogError("VRSL Patch Exporter: Failed to save patch data."); + e.GetType(); + } + } + + + } + [MenuItem("VRSL/Load Patch Data", priority = 501)] + public static void LoadPatchData() + { + CheckForLocalPanel(); + if(!hasLocalPanel){Debug.LogWarning("VRSL Patch Exporter: Please make sure there is a VRSL-LocalUIControlPanel in your scene before attempting to Load."); return;} + if(panel.fixtureSaveFile != "NONE") + { + try + { + VRSL_DMXPatchSettings asset = (VRSL_DMXPatchSettings) AssetDatabase.LoadAssetAtPath(AssetDatabase.GUIDToAssetPath(panel.fixtureSaveFile), typeof(VRSL_DMXPatchSettings)); + asset.LoadDMXFixtureData(); + } + catch + { + Debug.LogError("VRSL Patch Exporter: Failed to load patch data."); + } + } + else + { + Debug.LogError("VRSL Patch Exporter: Fixture Save File Not Found. The file may have been lost or has not been created yet."); + } + } + [MenuItem("VRSL/Export/To JSON", priority = 502)] + public static void ExportToJSON() + { + CheckForLocalPanel(); + if(!hasLocalPanel){Debug.LogWarning("VRSL Patch Exporter: Please make sure there is a VRSL-LocalUIControlPanel in your scene before attempting to export."); return;} + if(panel.fixtureSaveFile != "NONE") + { + try + { + VRSL_DMXPatchSettings asset = (VRSL_DMXPatchSettings) AssetDatabase.LoadAssetAtPath(AssetDatabase.GUIDToAssetPath(panel.fixtureSaveFile), typeof(VRSL_DMXPatchSettings)); + asset.ToJsonFile(true); + } + catch + { + Debug.LogError("VRSL Patch Exporter: Failed to export patch data."); + } + } + else + { + Debug.LogError("VRSL Patch Exporter: Fixture Save File Not Found. The file may have been lost or has not been created yet."); + } + } + + [MenuItem("VRSL/Export/To MVR", priority = 503)] + public static void ExportToMVR() + { + CheckForLocalPanel(); + if(!hasLocalPanel){Debug.LogWarning("VRSL Patch Exporter: Please make sure there is a VRSL-LocalUIControlPanel in your scene before attempting to export."); return;} + if(panel.fixtureSaveFile != "NONE") + { + try + { + VRSL_DMXPatchSettings asset = (VRSL_DMXPatchSettings) AssetDatabase.LoadAssetAtPath(AssetDatabase.GUIDToAssetPath(panel.fixtureSaveFile), typeof(VRSL_DMXPatchSettings)); + asset.ToMVRFile(); + } + catch + { + Debug.LogError("VRSL Patch Exporter: Failed to export patch data."); + throw; + } + } + else + { + Debug.LogError("VRSL Patch Exporter: Fixture Save File Not Found. The file may have been lost or has not been created yet."); + } + } + + [MenuItem("VRSL/Export/To PDF", priority = 504)] + public static void ExportToPDF() + { + CheckForLocalPanel(); + if(!hasLocalPanel){Debug.LogWarning("VRSL Patch Exporter: Please make sure there is a VRSL-LocalUIControlPanel in your scene before attempting to export."); return;} + if(panel.fixtureSaveFile != "NONE") + { + try + { + VRSL_DMXPatchSettings asset = (VRSL_DMXPatchSettings) AssetDatabase.LoadAssetAtPath(AssetDatabase.GUIDToAssetPath(panel.fixtureSaveFile), typeof(VRSL_DMXPatchSettings)); + asset.ToPDF(); + } + catch + { + Debug.LogError("VRSL Patch Exporter: Failed to export patch data."); + throw; + } + } + else + { + Debug.LogError("VRSL Patch Exporter: Fixture Save File Not Found. The file may have been lost or has not been created yet."); + } + } + } +} +#endif \ No newline at end of file diff --git a/Packages/com.acchosen.vr-stage-lighting/Editor/VRSL_DMXPatchExporter.cs.meta b/Packages/com.acchosen.vr-stage-lighting/Editor/VRSL_DMXPatchExporter.cs.meta new file mode 100644 index 0000000..517a81d --- /dev/null +++ b/Packages/com.acchosen.vr-stage-lighting/Editor/VRSL_DMXPatchExporter.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: a436a69fe95a1bb4ab24eb22048d8a46 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/com.acchosen.vr-stage-lighting/Editor/VRSL_DMXPatchSettings.cs b/Packages/com.acchosen.vr-stage-lighting/Editor/VRSL_DMXPatchSettings.cs new file mode 100644 index 0000000..cb80c60 --- /dev/null +++ b/Packages/com.acchosen.vr-stage-lighting/Editor/VRSL_DMXPatchSettings.cs @@ -0,0 +1,1655 @@ +#if !COMPILER_UDONSHARP && UNITY_EDITOR +using System.Collections; +using System.Collections.Generic; +using System; +using System.Diagnostics; +using VRC.Udon; +using UnityEngine; +using UnityEngine.SceneManagement; +using UnityEditor; +using UdonSharpEditor; +using System.IO; +using System.IO.Compression; +using System.Text; +using System.Xml; +using System.Drawing.Printing; +using System.Drawing; +using System.Data; +using UnityEngine.UIElements; +using System.Linq; +namespace VRSL.EditorScripts +{ + public class StringWriterUtf8 : StringWriter + { + public StringWriterUtf8(StringBuilder sb) : base(sb) + { + } + + public override Encoding Encoding + { + get { return Encoding.UTF8; } + } + } + + [Serializable] + public struct JSONDMXFixtureData_Container + { + public JSONDMXFixtureData_Container(JSONDMXFixtureData[] d) + { + fixtures = d; + } + public JSONDMXFixtureData[] fixtures; + } + [Serializable] + public struct JSONDMXFixtureData + { + public JSONDMXFixtureData(DMXFixtureData fixture, string[] fixtureTypes, string[] cd) + { + name = fixture.name; + id = fixture.fixtureID; + channel = fixture.dmxChannel; + universe = fixture.dmxUniverse; + fixtureDefintion = fixtureTypes[fixture.fixtureDefintion]; + channelNames = cd; + position = fixture.position; + rotation = fixture.rotation.eulerAngles; + invertPan = fixture.invertPan; + invertTilt = fixture.invertTilt; + panRange = Mathf.Abs(fixture.maxMinPan); + tiltRange = Mathf.Abs(fixture.maxMinTilt); + } + public int id; + public string name; + public int channel; + public int universe; + public string fixtureDefintion; + public string[] channelNames; + public Vector3 position; + public Vector3 rotation; + public bool invertPan; + public bool invertTilt; + public float panRange; + public float tiltRange; + } + + [Serializable] + public struct DMXFixtureData_ObjRenderers + { + public DMXFixtureData_ObjRenderers(MeshRenderer[] objRenderers) + { + objRenderers_name = new string[objRenderers.Length]; + objRenderers_GlobalObjectId = new string[objRenderers.Length]; + for(int i = 0; i < objRenderers.Length; i++) + { + objRenderers_name[i] = objRenderers[i].name; + GlobalObjectId objRenderers_id = GlobalObjectId.GetGlobalObjectIdSlow(objRenderers[i]); + objRenderers_GlobalObjectId[i] = objRenderers_id.ToString(); + } + } + public string[] objRenderers_name; + public string[] objRenderers_GlobalObjectId; + + + + public MeshRenderer[] GetRenderers() + { + List renderers = new List(); + for(int i = 0; i < objRenderers_GlobalObjectId.Length; i++) + { + GlobalObjectId id; + if(GlobalObjectId.TryParse(objRenderers_GlobalObjectId[i], out id)) + { + MeshRenderer x = (MeshRenderer) GlobalObjectId.GlobalObjectIdentifierToObjectSlow(id); + //UnityEngine.Debug.Log("Found Renderer: " + x.name); + renderers.Add(x); + } + } + return renderers.ToArray(); + } + } + + + + [Serializable] + public struct DMXFixtureData + { + public DMXFixtureData(VRStageLighting_DMX_Static fixture, GlobalObjectId id) + { + name = fixture.gameObject.name; + position = fixture.gameObject.transform.position; + rotation = fixture.gameObject.transform.rotation; + targetObjectId = id.targetObjectId; + targetPrefabId = id.targetPrefabId; + assetGUID = id.assetGUID.ToString(); + enableDMXChannels = fixture.enableDMXChannels; + nineUniverseMode = fixture.nineUniverseMode; + fixtureID = fixture.fixtureID; + useLegacySectorMode = fixture.useLegacySectorMode; + singleChannelMode = fixture.singleChannelMode; + sector = fixture.sector; + Channel = fixture.Channel; + legacyGoboRange = fixture.legacyGoboRange; + globalIntensity = fixture.globalIntensity; + finalIntensity = fixture.finalIntensity; + lightColorTint = fixture.lightColorTint; + invertPan = fixture.invertPan; + invertTilt = fixture.invertTilt; + isUpsideDown = fixture.isUpsideDown; + enableAutoSpin = fixture.enableAutoSpin; + enableStrobe = fixture.enableStrobe; + tiltOffsetBlue = fixture.tiltOffsetBlue; + panOffsetBlueGreen = fixture.panOffsetBlueGreen; + selectGOBO = fixture.selectGOBO; + //objRenderers = fixture.objRenderers; + objRenderers = new DMXFixtureData_ObjRenderers(fixture.objRenderers); + coneWidth = fixture.coneWidth; + coneLength = fixture.coneLength; + maxConeLength = fixture.maxConeLength; + maxMinPan = fixture.maxMinPan; + maxMinTilt = fixture.maxMinTilt; + fixtureDefintion = fixture.fixtureDefintion; + if(useLegacySectorMode) + { + Vector2Int chanUni = fixture.GetSectorConversion(); + dmxChannel = chanUni.x; + dmxUniverse = chanUni.y; + } + else + { + dmxChannel = fixture.dmxChannel; + dmxUniverse = fixture.dmxUniverse; + } + + + } + public string name; + public Vector3 position; + public Quaternion rotation; + public ulong targetPrefabId; + public ulong targetObjectId; + public string assetGUID; + public bool enableDMXChannels; + public bool nineUniverseMode; + public int fixtureID; + public int dmxChannel; + public int dmxUniverse; + public int fixtureDefintion; + public bool useLegacySectorMode; + public bool singleChannelMode; + public int sector; + public int Channel; + public bool legacyGoboRange; + public float globalIntensity; + public float finalIntensity; + public UnityEngine.Color lightColorTint; + public bool invertPan; + public bool invertTilt; + public bool isUpsideDown; + public bool enableAutoSpin; + public bool enableStrobe; + public float tiltOffsetBlue; + public float panOffsetBlueGreen; + public int selectGOBO; + public DMXFixtureData_ObjRenderers objRenderers; + public float coneWidth; + public float coneLength; + public float maxConeLength; + public float maxMinPan; + public float maxMinTilt; + + + } + [CreateAssetMenuAttribute(menuName = "VRSL/DMX Fixture Patch File", fileName = "VRSL DMX Fixture Patch File")] + [System.Serializable] + public class VRSL_DMXPatchSettings : ScriptableObject + { + + [HideInInspector] + public Scene targetScene; + [HideInInspector] + public string scenePath; + [HideInInspector] + public string[] idStrings; + [HideInInspector] + public DMXFixtureData[] data; + + private VRSL_LocalUIControlPanel panel; + private string[] dataToPDF; + private int pdfLineCount = 0; + private int pdfPageCount = 1; + private DataTable patchList; + + + public void CheckData() + { + if(data == null) + { + UnityEngine.Debug.Log("DMX Fixture Data Array is null!"); + } + else + { + if(data.Length == 0) + { + UnityEngine.Debug.Log("DMX Fixture Data Array is length 0!"); + } + } + } + public void ForceSave() + { + string assetPath = AssetDatabase.GetAssetPath(this.GetInstanceID()); + if(targetScene != null) + AssetDatabase.RenameAsset(assetPath, "VRSL DMX Patch Data_" + targetScene.name); + UnityEditor.EditorUtility.SetDirty(this); + UnityEditor.AssetDatabase.SaveAssets(); + AssetDatabase.Refresh(); + Selection.activeObject = AssetDatabase.LoadAssetAtPath(AssetDatabase.GetAssetPath(this.GetInstanceID())); + } + public void SetScene() + { + targetScene = SceneManager.GetActiveScene(); + scenePath = targetScene.path; + } + public void SetDMXFixtureData() + { + UnityEngine.Debug.Log("Saving Fixture Data..."); + List sceneObjects = GetAllObjectsOnlyInScene(); + List sceneFixtures = new List(); + foreach(GameObject go in sceneObjects) + { + #pragma warning disable 0618 //suppressing obsoletion warnings + VRStageLighting_DMX_Static lightScript = go.GetUdonSharpComponent(); + #pragma warning restore 0618 //suppressing obsoletion warnings + if(lightScript != null) + { + sceneFixtures.Add(lightScript); + } + } + VRStageLighting_DMX_Static[] fixtures = sceneFixtures.ToArray(); + if(fixtures.Length > 0) + { + targetScene = SceneManager.GetActiveScene(); + scenePath = targetScene.path; + //this.name += "_" + targetScene.name; + + data = new DMXFixtureData[fixtures.Length]; + GlobalObjectId[] ids = new GlobalObjectId[fixtures.Length]; + idStrings = new string[fixtures.Length]; + GlobalObjectId.GetGlobalObjectIdsSlow(fixtures, ids); + for(int i = 0; i < data.Length; i++) + { + idStrings[i] = ids[i].ToString(); + data[i] = new DMXFixtureData(fixtures[i], ids[i]); + + } + } + } + static List GetAllObjectsOnlyInScene() + { + List objectsInScene = new List(); + + foreach (GameObject go in Resources.FindObjectsOfTypeAll(typeof(GameObject)) as GameObject[]) + { + if (!EditorUtility.IsPersistent(go.transform.root.gameObject) && !(go.hideFlags == HideFlags.NotEditable || go.hideFlags == HideFlags.HideAndDontSave)) + objectsInScene.Add(go); + } + + return objectsInScene; + } + + // GlobalObjectId[] GetAllFixtureIDs(VRStageLighting_DMX_Static[] fixtures) + // { + // GlobalObjectId[] ids = new GlobalObjectId[fixtures.Length]; + // GlobalObjectId.GetGlobalObjectIdsSlow(fixtures, ids); + // return ids; + // } + public void LoadDMXFixtureData() + { + if(data == null){return;} + + if(targetScene == null){return;} + if(data.Length > 0) + { + List sceneObjects = GetAllObjectsOnlyInScene(); + List sceneFixtures = new List(); + foreach(GameObject go in sceneObjects) + { + #pragma warning disable 0618 //suppressing obsoletion warnings + VRStageLighting_DMX_Static lightScript = go.GetUdonSharpComponent(); + #pragma warning restore 0618 //suppressing obsoletion warnings + if(lightScript != null) + { + sceneFixtures.Add(lightScript); + } + } + + //GlobalObjectId[] ids = GetAllFixtureIDs(sceneFixtures.ToArray()); + foreach(VRStageLighting_DMX_Static fixture in sceneFixtures) + { + try + { + bool sucess = false; + + int dmxID = 0; + GlobalObjectId id = GlobalObjectId.GetGlobalObjectIdSlow(fixture); + string guid = id.assetGUID.ToString(); + ulong localID = 0; + for(int i = 0; i < data.Length; i++) + { + if(PrefabUtility.IsPartOfAnyPrefab(fixture)) + { + localID = id.targetPrefabId; + if(guid == data[i].assetGUID) + { + // Debug.Log("Found " + guid + " with " + data[i].assetGUID); + if((ulong) localID == data[i].targetPrefabId) + { + UnityEngine.Debug.Log("Found " + localID + " successfully at " + fixture.name); + sucess = true; + dmxID = i; + break; + } + } + } + else + { + localID = id.targetObjectId; + if(guid == data[i].assetGUID) + { + // Debug.Log("Found " + guid + " with " + data[i].assetGUID); + if((ulong) localID == data[i].targetObjectId) + { + UnityEngine.Debug.Log("Found " + localID + " successfully at " + fixture.name); + sucess = true; + dmxID = i; + break; + } + } + } + } + if(sucess) + { + var so = new SerializedObject(fixture); + so.FindProperty("enableDMXChannels").boolValue = data[dmxID].enableDMXChannels; + so.FindProperty("fixtureID").intValue = data[dmxID].fixtureID; + so.FindProperty("dmxChannel").intValue = data[dmxID].dmxChannel; + so.FindProperty("dmxUniverse").intValue = data[dmxID].dmxUniverse; + so.FindProperty("useLegacySectorMode").boolValue = data[dmxID].useLegacySectorMode; + so.FindProperty("singleChannelMode").boolValue = data[dmxID].singleChannelMode; + so.FindProperty("sector").intValue = data[dmxID].sector; + so.FindProperty("Channel").intValue = data[dmxID].Channel; + so.FindProperty("legacyGoboRange").boolValue = data[dmxID].legacyGoboRange; + so.FindProperty("globalIntensity").floatValue = data[dmxID].globalIntensity; + so.FindProperty("finalIntensity").floatValue = data[dmxID].finalIntensity; + so.FindProperty("lightColorTint").colorValue = data[dmxID].lightColorTint; + so.FindProperty("nineUniverseMode").boolValue = data[dmxID].nineUniverseMode; + so.FindProperty("invertPan").boolValue = data[dmxID].invertPan; + so.FindProperty("invertTilt").boolValue = data[dmxID].invertTilt; + so.FindProperty("isUpsideDown").boolValue = data[dmxID].isUpsideDown; + so.FindProperty("enableAutoSpin").boolValue = data[dmxID].enableAutoSpin; + so.FindProperty("enableStrobe").boolValue = data[dmxID].enableStrobe; + so.FindProperty("tiltOffsetBlue").floatValue = data[dmxID].tiltOffsetBlue; + so.FindProperty("panOffsetBlueGreen").floatValue = data[dmxID].panOffsetBlueGreen; + so.FindProperty("selectGOBO").intValue = data[dmxID].selectGOBO; + so.FindProperty("coneWidth").floatValue = data[dmxID].coneWidth; + so.FindProperty("coneLength").floatValue = data[dmxID].coneLength; + so.FindProperty("maxConeLength").floatValue = data[dmxID].maxConeLength; + so.FindProperty("maxMinPan").floatValue = data[dmxID].maxMinPan; + so.FindProperty("maxMinTilt").floatValue = data[dmxID].maxMinTilt; + so.FindProperty("fixtureDefintion").intValue = data[dmxID].fixtureDefintion; + SerializedProperty rendsProp = so.FindProperty("objRenderers"); + rendsProp.ClearArray(); + so.ApplyModifiedProperties(); + + var sof = new SerializedObject(fixture); + SerializedProperty rendsProperty = sof.FindProperty("objRenderers"); + MeshRenderer[] rends = data[dmxID].objRenderers.GetRenderers(); + rendsProperty.arraySize = rends.Length; + for(int i = 0; i < rends.Length; i++) + { + UnityEngine.Debug.Log("Array Element: " + i); + rendsProperty.InsertArrayElementAtIndex(i); + rendsProperty.GetArrayElementAtIndex(i).objectReferenceValue = rends[i]; + } + sof.ApplyModifiedProperties(); + + #pragma warning disable 0618 //suppressing obsoletion warnings + fixture.UpdateProxy(); + #pragma warning restore 0618 //suppressing obsoletion warnings. + + fixture.enableDMXChannels = data[dmxID].enableDMXChannels; + fixture.fixtureID = data[dmxID].fixtureID; + fixture.dmxChannel = data[dmxID].dmxChannel; + fixture.dmxUniverse = data[dmxID].dmxUniverse; + fixture.useLegacySectorMode = data[dmxID].useLegacySectorMode; + fixture.singleChannelMode = data[dmxID].singleChannelMode; + fixture.sector = data[dmxID].sector; + fixture.Channel = data[dmxID].Channel; + fixture.legacyGoboRange = data[dmxID].legacyGoboRange; + fixture.globalIntensity = data[dmxID].globalIntensity; + fixture.finalIntensity = data[dmxID].finalIntensity; + fixture.lightColorTint = data[dmxID].lightColorTint; + fixture.nineUniverseMode = data[dmxID].nineUniverseMode; + fixture.invertPan = data[dmxID].invertPan; + fixture.invertTilt = data[dmxID].invertTilt; + fixture.isUpsideDown = data[dmxID].isUpsideDown; + fixture.enableAutoSpin = data[dmxID].enableAutoSpin; + fixture.enableStrobe = data[dmxID].enableStrobe; + fixture.tiltOffsetBlue = data[dmxID].tiltOffsetBlue; + fixture.panOffsetBlueGreen = data[dmxID].panOffsetBlueGreen; + fixture.selectGOBO = data[dmxID].selectGOBO; + fixture.coneWidth = data[dmxID].coneWidth; + fixture.coneLength = data[dmxID].coneLength; + fixture.maxConeLength = data[dmxID].maxConeLength; + fixture.maxMinPan = data[dmxID].maxMinPan; + fixture.maxMinTilt = data[dmxID].maxMinTilt; + fixture.fixtureDefintion = data[dmxID].fixtureDefintion; + fixture.objRenderers = rends; + + #pragma warning disable 0618 //suppressing obsoletion warnings + fixture.ApplyProxyModifications(); + #pragma warning restore 0618 //suppressing obsoletion warnings + if(PrefabUtility.IsPartOfAnyPrefab(fixture)) + { + PrefabUtility.RecordPrefabInstancePropertyModifications(fixture); + } + if(Application.isPlaying) + { + fixture._UpdateInstancedProperties(); + } + else + { + fixture._UpdateInstancedPropertiesSansDMX(); + } + } + } + catch(Exception ex) + { + // Get stack trace for the exception with source file information + var st = new StackTrace(ex, true); + // Get the top stack frame + var frame = st.GetFrame(0); + // Get the line number from the stack frame + var line = frame.GetFileLineNumber(); + UnityEngine.Debug.LogError("Error At Line: " + line.ToString()); + throw; + } + } + } + } + private bool CheckForLocalPanel() + { + List sceneObjects = sceneObjects = GetAllObjectsOnlyInScene(); + bool hasLocalPanel = false; + panel = null; + // colorLabel = new GUIContent(); + // colorLabel.text = "Emission Color"; + foreach (GameObject go in sceneObjects) + { + #pragma warning disable 0618 //suppressing obsoletion warnings + panel = go.GetUdonSharpComponent(); + #pragma warning restore 0618 + if(panel != null) + { + hasLocalPanel = true; + break; + } + } + return hasLocalPanel; + } + private void OnPrintPage(object sender, PrintPageEventArgs ev) + { + pdfPageCount++; + ev.HasMorePages = DrawTable(ev.Graphics); + } + + + bool DrawTable(System.Drawing.Graphics graph) + { + + int rowHeight = 30; + int rowCount = 33; + int tableHeight = rowHeight * rowCount; + int numOfItems = Mathf.Abs(data.Length - pdfLineCount); + if(numOfItems < rowCount) + { + rowCount = numOfItems; + } + var image = new Bitmap(800, (rowHeight * rowCount)-10); + int xOffset = 25; + int yOFfset = 50; + try + { + graph.DrawString(this.name, new System.Drawing.Font("Arial", 16), Brushes.Black,new Point(xOffset,15)); + + graph.FillRectangle(Brushes.White, new Rectangle(new Point(0 + xOffset, 0+ yOFfset), image.Size)); + int col = 0 + xOffset; + int finalNumberofRows = 0; + bool drewRectangle = false; + for (int i = 0; i < 5; i++) + { + int nextColumn = 0; + string columnName = "ID"; + graph.DrawLine(Pens.Black, new Point(col, 0 + yOFfset), new Point(col, image.Height + yOFfset)); + switch(i) + { + default: + nextColumn +=50; + columnName = "ID"; + break; + case 1: + nextColumn+=400; + columnName = "Fixture Name"; + break; + case 2: + nextColumn+=200; + columnName = "Fixture Type"; + break; + case 3: + nextColumn+=75; + columnName = "Universe"; + break; + case 4: + nextColumn+=75; + columnName = "Address"; + break; + } + finalNumberofRows = 0 + pdfLineCount; + + for (int row = 0 + yOFfset; row <= image.Height; row += rowHeight) + { + + if(row == 0 + yOFfset) + { + if(drewRectangle == false) + { + graph.FillRectangle(Brushes.Gray, new Rectangle(new Point(col, row), new System.Drawing.Size(image.Width,rowHeight))); + drewRectangle = true; + } + + graph.DrawLine(Pens.Black, new Point(col, row), new Point(col + nextColumn, row)); + graph.DrawString(columnName, new System.Drawing.Font("Arial", 12), Brushes.Black,new Point(col+1,row+8)); + } + else + { + if(finalNumberofRows < patchList.Rows.Count) + { + graph.DrawLine(Pens.Black, new Point(col, row), new Point(col + nextColumn, row)); + graph.DrawString(patchList.Rows[finalNumberofRows][i].ToString(), new System.Drawing.Font("Arial", 12), Brushes.Black,new Point(col+1,row+8)); + finalNumberofRows++; + } + } + + } + col+= nextColumn; + + + // graph.DrawString(i.ToString(), new System.Drawing.Font("Arial", 16), Brushes.Black,new Point(col-25,5+yOFfset)); + } + pdfLineCount+=finalNumberofRows; + + // for (int row = 0 + yOFfset; row < image.Height; row += rowHeight) { + // graph.DrawLine(Pens.Black, new Point(0 + xOffset, row), new Point(image.Width + xOffset, row)); + // } + graph.DrawRectangle(Pens.Black, new Rectangle(0+ xOffset, 0 + yOFfset, image.Width - 1, image.Height - 1)); + graph.DrawString(pdfPageCount.ToString(), new System.Drawing.Font("Arial", 12), Brushes.Black,new Point((image.Width / 2) + xOffset ,tableHeight + yOFfset + 20)); + + } + finally + { + image.Dispose(); + } + return pdfLineCount < data.ToArray().Length; + } + + + + + public void ToPDF() + { + if(CheckForLocalPanel() == false){return;} + pdfLineCount = 0; + pdfPageCount = 0; + + patchList = new DataTable("Patch List"); + DataColumn column; + DataRow row; + //ID Column + column = new DataColumn(); + column.DataType = typeof(int); + column.ColumnName = "ID"; + column.Caption = "Fixture ID"; + column.ReadOnly = false; + column.Unique = false; + patchList.Columns.Add(column); + + + //Name Column + column = new DataColumn(); + column.DataType = typeof(string); + column.ColumnName = "Fixture Name"; + column.Caption = "Fixture Name"; + column.ReadOnly = false; + column.Unique = false; + patchList.Columns.Add(column); + + + //Type Column + column = new DataColumn(); + column.DataType = typeof(string); + column.ColumnName = "Fixture Type"; + column.Caption = "Fixture Type"; + column.ReadOnly = false; + column.Unique = false; + patchList.Columns.Add(column); + + + //Universe Column + column = new DataColumn(); + column.DataType = typeof(int); + column.ColumnName = "Universe"; + column.Caption = "Universe"; + column.ReadOnly = false; + column.Unique = false; + patchList.Columns.Add(column); + + //Address Column + column = new DataColumn(); + column.DataType = typeof(int); + column.ColumnName = "Address"; + column.Caption = "Address"; + column.ReadOnly = false; + column.Unique = false; + patchList.Columns.Add(column); + + + // DataColumn[] PrimaryKeyColumns = new DataColumn[1]; + // PrimaryKeyColumns[0] = patchList.Columns["id"]; + // patchList.PrimaryKey = PrimaryKeyColumns; + + DataSet dtSet = new DataSet(); + + dtSet.Tables.Add(patchList); + + VRSL_FixtureDefinitions fixDefAsset = (VRSL_FixtureDefinitions) AssetDatabase.LoadAssetAtPath(AssetDatabase.GUIDToAssetPath(panel.fixtureDefGUID), typeof(VRSL_FixtureDefinitions)); + string[] definitions = fixDefAsset.GetNames(); + + DMXFixtureData[] sortedData = data.OrderBy(c => c.fixtureID).ToArray(); + + foreach(DMXFixtureData f in sortedData) + { + row = patchList.NewRow(); + row["ID"] = f.fixtureID; + row["Fixture Name"] = f.name; + row["Fixture Type"] = definitions[f.fixtureDefintion]; + row["Universe"] = f.dmxUniverse; + row["Address"] = f.dmxChannel; + patchList.Rows.Add(row); + } + + pdfLineCount = 0; + PrintDocument document = new PrintDocument(); + document.PrintPage += new PrintPageEventHandler(OnPrintPage); + document.PrinterSettings.PrinterName = "Microsoft Print to PDF"; + document.Print(); + UnityEngine.Debug.Log("Sucessfully Exported PDF File"); + } + public string ToJsonFile(bool refreshEditor) + { + if(CheckForLocalPanel()) + { + try + { + VRSL_FixtureDefinitions fixDefAsset = (VRSL_FixtureDefinitions) AssetDatabase.LoadAssetAtPath(AssetDatabase.GUIDToAssetPath(panel.fixtureDefGUID), typeof(VRSL_FixtureDefinitions)); + JSONDMXFixtureData[] jsonFixtureData = new JSONDMXFixtureData[data.Length]; + string[] definitions = fixDefAsset.GetNames(); + for(int i = 0; i < jsonFixtureData.Length; i++) + { + jsonFixtureData[i] = new JSONDMXFixtureData(data[i], definitions, fixDefAsset.GetChannelDefinition(data[i].fixtureDefintion)); + } + JSONDMXFixtureData_Container jsonContainer = new JSONDMXFixtureData_Container(jsonFixtureData); + string json = JsonUtility.ToJson(jsonContainer, true); + string assetPath = AssetDatabase.GetAssetPath(this); + string filePath = Path.Combine(Directory.GetCurrentDirectory(), assetPath); + string targetString = this.name + ".asset"; + string newString = this.name + ".json"; + filePath = filePath.Replace("/", "\\"); + filePath = filePath.Replace(targetString, newString); + File.WriteAllText(filePath, json); + //UnityEngine.Debug.Log(json); + if(refreshEditor) + { + AssetDatabase.Refresh(); + } + UnityEngine.Debug.Log("Sucessfully Exported JSON File"); + return filePath; + } + catch + { + UnityEngine.Debug.LogError("Failed to Export to JSON!"); + return "FAILED"; + } + } + return "FAILED"; + + } + + + string ToXMLTransformMatrix(Vector3 Position, Vector3 Rotation) + { + UnityEngine.Matrix4x4 rotationMatrix = UnityEngine.Matrix4x4.Rotate(Quaternion.Euler(Rotation)); + Vector4 u = rotationMatrix.GetRow(0); + Vector4 v = rotationMatrix.GetRow(1); + Vector4 w = rotationMatrix.GetRow(2); + //Vector4 o = matrix.GetRow(3); + Vector3 u1 = new Vector3(u.x, u.y, u.z); + Vector3 v1 = new Vector3(v.x, v.y, v.z); + Vector3 w1 = new Vector3(w.x, w.y, w.z); + Position = new Vector3(Position.x * 1000f, Position.y * 1000f, Position.z * 1000f); + //Vector3 o1 = new Vector3(o.x, o.y, o.z); + string output = u1.ToString("F6") + " " + v1.ToString("F6") + " " + w1.ToString("F6") + " " + Position.ToString("F6"); + output = output.Replace("(", "{"); + output = output.Replace(")", "}"); + output = output.Replace(" ", ""); + return output; + } + + int GetAbsoluteDMXAddress(int universe, int channel) + { + return ((universe-1) * 512) + channel; + } + XmlElement GenerateFixtureElement(XmlDocument doc, JSONDMXFixtureData data) + { + XmlElement fixture = doc.CreateElement("Fixture"); + fixture.SetAttribute("uuid", System.Guid.NewGuid().ToString()); + fixture.SetAttribute("name", data.name); + XmlElement matrix = doc.CreateElement("Matrix"); + matrix.InnerText = ToXMLTransformMatrix(data.position, data.rotation); + XmlElement FixtureID = doc.CreateElement("FixtureID"); + FixtureID.InnerText = data.id.ToString(); + + XmlElement Addresses = doc.CreateElement("Addresses"); + XmlElement Address = doc.CreateElement("Address"); + Address.InnerText = GetAbsoluteDMXAddress(data.universe, data.channel).ToString(); + Addresses.AppendChild(Address); + + XmlElement DMXInvertPan = doc.CreateElement("DMXInvertPan"); + DMXInvertPan.InnerText = data.invertPan.ToString(); + XmlElement DMXInvertTilt = doc.CreateElement("DMXInvertTilt"); + DMXInvertTilt.InnerText = data.invertTilt.ToString(); + + + XmlElement UnitNumber = doc.CreateElement("UnitNumber"); + UnitNumber.InnerText = "0"; + + XmlElement GDTFSpec = doc.CreateElement("GDTFSpec"); + GDTFSpec.InnerText = data.fixtureDefintion + ".gdtf"; + + XmlElement GDTFMode = doc.CreateElement("GDTFMode"); + GDTFMode.InnerText = "Default"; + + fixture.AppendChild(matrix); + fixture.AppendChild(FixtureID); + fixture.AppendChild(GDTFSpec); + fixture.AppendChild(GDTFMode); + fixture.AppendChild(UnitNumber); + fixture.AppendChild(Addresses); + fixture.AppendChild(DMXInvertPan); + fixture.AppendChild(DMXInvertTilt); + + + + return fixture; + } + + + string GeneralSceneDescriptionXML(JSONDMXFixtureData[] data) + { + string output = ""; + try + { + // output += "\n" + @""; + // output += "\n"; + // output += "\n" + " "; + XmlDocument xdoc = new XmlDocument(); + XmlNode docNode = xdoc.CreateXmlDeclaration("1.0", null, "no"); + xdoc.AppendChild(docNode); + + + // UnityEngine.Debug.Log("Creating XML Document"); + //xdoc.LoadXml(@""); + // UnityEngine.Debug.Log("Loading XML Document"); + XmlElement GeneralSceneDescription = xdoc.CreateElement("GeneralSceneDescription"); + // UnityEngine.Debug.Log("Generating Scene Description Node"); + GeneralSceneDescription.SetAttribute("verMajor", "1"); + GeneralSceneDescription.SetAttribute("verMinor", "6"); + GeneralSceneDescription.SetAttribute("provider", "VR Stage Lighting"); + GeneralSceneDescription.SetAttribute("providerVersion", "1"); + // UnityEngine.Debug.Log("Finished setting attributes for General Scene Description"); + + + XmlElement UserData = xdoc.CreateElement("UserData"); + XmlElement Scene = xdoc.CreateElement("Scene"); + XmlElement Layers = xdoc.CreateElement("Layers"); + XmlElement Layer = xdoc.CreateElement("Layer"); + + Layer.SetAttribute("name", "VRSL Main"); + Layer.SetAttribute("uuid", System.Guid.NewGuid().ToString()); + XmlElement ChildList = xdoc.CreateElement("ChildList"); + + foreach(JSONDMXFixtureData fixture in data) + { + XmlElement f = GenerateFixtureElement(xdoc, fixture); + ChildList.AppendChild(f); + } + Layer.AppendChild(ChildList); + Layers.AppendChild(Layer); + Scene.AppendChild(Layers); + + + GeneralSceneDescription.AppendChild(UserData); + GeneralSceneDescription.AppendChild(Scene); + + + + + + + + + + xdoc.AppendChild(GeneralSceneDescription); + UnityEngine.Debug.Log("Appending Scene Description"); + + + + + + // var buffer = new StringBuilder(); + // var writer = XmlWriter.Create(buffer, new XmlWriterSettings { Indent = true, Encoding = Encoding.UTF8}); + // xdoc.Save(writer); + // writer.Close(); + + // output = buffer.ToString(); + //output = ToEncoding(xdoc,Encoding.UTF8); + + var sb = new StringBuilder(); + var sw = new StringWriterUtf8(sb); + xdoc.Save(sw); + output = sb.ToString(); + } + catch(Exception ex) + { + // Get stack trace for the exception with source file information + var st = new StackTrace(ex, true); + // Get the top stack frame + var frame = st.GetFrame(0); + // Get the line number from the stack frame + var line = frame.GetFileLineNumber(); + UnityEngine.Debug.LogError("Error At Line: " + line.ToString()); + throw; + } + + //string output = ""; + //doc.Save + return output; + } + + bool CapContains(string source, string toCheck, StringComparison comp) + { + return source?.IndexOf(toCheck, comp) >= 0; + } + + string FixtureDefinitionXML(string name, string[] channels) + { + string output = ""; + try + { + XmlDocument xdoc = new XmlDocument(); + XmlNode docNode = xdoc.CreateXmlDeclaration("1.0", null, "no"); + xdoc.AppendChild(docNode); + + XmlElement GDTF = xdoc.CreateElement("GDTF"); + GDTF.SetAttribute("DataVersion", "1.1"); + XmlElement FixtureType = xdoc.CreateElement("FixtureType"); + FixtureType.SetAttribute("Name", name); + FixtureType.SetAttribute("ShortName", name); + FixtureType.SetAttribute("LongName", name); + FixtureType.SetAttribute("Manufacturer", "VR Stage Lighting"); + FixtureType.SetAttribute("FixtureTypeID", System.Guid.NewGuid().ToString()); + FixtureType.SetAttribute("RefFT", ""); + + XmlElement AttributeDefinitions = xdoc.CreateElement("AttributeDefinitions"); + XmlElement FeatureGroups = xdoc.CreateElement("FeatureGroups"); + bool hasMovement = false; + bool hasRGB = false; + bool hasDimmer = false; + bool hasStrobe = false; + bool hasZoom = false; + bool hasGobo = false; + bool hasLaserBeam = false; + bool hasFog = false; + StringComparison comp = StringComparison.OrdinalIgnoreCase; + for(int i = 0; i < channels.Length; i++) + { + string c = channels[i]; + if(!hasMovement) + { + if(CapContains(c,"pan",comp) || CapContains(c,"tilt",comp) || CapContains(c,"movement",comp) || CapContains(c,"rotate",comp)) + { + hasMovement = true; + continue; + } + } + if(!hasRGB) + { + if(CapContains(c,"red",comp) || CapContains(c,"green",comp) || CapContains(c,"blue",comp) || CapContains(c,"gradient",comp) || CapContains(c,"colour",comp) || CapContains(c,"color",comp)) + { + hasRGB = true; + continue; + } + } + if(!hasDimmer) + { + if(CapContains(c,"dimmer",comp) || CapContains(c,"intensity",comp) || CapContains(c,"power",comp)) + { + hasDimmer = true; + continue; + } + } + if(!hasStrobe) + { + if(CapContains(c,"strobe",comp) || CapContains(c,"shutter",comp) || CapContains(c,"flash",comp)) + { + hasStrobe = true; + continue; + } + } + if(!hasZoom) + { + if(CapContains(c,"zoom",comp) || CapContains(c,"focus",comp) || CapContains(c,"cone",comp)) + { + hasZoom = true; + continue; + } + } + if(!hasGobo) + { + if(CapContains(c,"gobo",comp) || CapContains(c,"cookie",comp)) + { + hasGobo = true; + continue; + } + } + if(!hasLaserBeam) + { + if(CapContains(c,"laser",comp) || CapContains(c,"beam",comp)) + { + hasLaserBeam = true; + continue; + } + } + if(!hasFog) + { + if(CapContains(c,"fog",comp) || CapContains(c,"c02",comp)) + { + hasFog = true; + continue; + } + } + } + + if(hasMovement) + { + XmlElement FeatureGroup_Movement = xdoc.CreateElement("FeatureGroup"); + FeatureGroup_Movement.SetAttribute("Name", "Position"); + FeatureGroup_Movement.SetAttribute("Pretty", "Position"); + XmlElement Feature_PT = xdoc.CreateElement("Feature"); + Feature_PT.SetAttribute("Name", "PanTilt"); + + XmlElement Feature_Rotate = xdoc.CreateElement("Feature"); + Feature_Rotate.SetAttribute("Name", "Rotate"); + + FeatureGroup_Movement.AppendChild(Feature_PT); + FeatureGroup_Movement.AppendChild(Feature_Rotate); + + FeatureGroups.AppendChild(FeatureGroup_Movement); + } + if(hasRGB) + { + XmlElement FeatureGroup_RGB = xdoc.CreateElement("FeatureGroup"); + FeatureGroup_RGB.SetAttribute("Name", "Color"); + FeatureGroup_RGB.SetAttribute("Pretty", "Color"); + + XmlElement Feature_RGB = xdoc.CreateElement("Feature"); + Feature_RGB.SetAttribute("Name", "RGB"); + XmlElement Feature_Color = xdoc.CreateElement("Feature"); + Feature_Color.SetAttribute("Name", "Color"); + FeatureGroup_RGB.AppendChild(Feature_RGB); + FeatureGroup_RGB.AppendChild(Feature_Color); + + FeatureGroups.AppendChild(FeatureGroup_RGB); + } + if(hasDimmer) + { + XmlElement FeatureGroup_Dimmer = xdoc.CreateElement("FeatureGroup"); + FeatureGroup_Dimmer.SetAttribute("Name", "Dimmer"); + FeatureGroup_Dimmer.SetAttribute("Pretty", "Dimmer"); + + XmlElement Feature_Dimmer = xdoc.CreateElement("Feature"); + Feature_Dimmer.SetAttribute("Name", "Dimmer"); + FeatureGroup_Dimmer.AppendChild(Feature_Dimmer); + + FeatureGroups.AppendChild(FeatureGroup_Dimmer); + } + if(hasStrobe) + { + XmlElement FeatureGroup_Strobe = xdoc.CreateElement("FeatureGroup"); + FeatureGroup_Strobe.SetAttribute("Name", "Shutter"); + FeatureGroup_Strobe.SetAttribute("Pretty", "Shutter"); + + XmlElement Feature_Strobe = xdoc.CreateElement("Feature"); + Feature_Strobe.SetAttribute("Name", "Shutter"); + FeatureGroup_Strobe.AppendChild(Feature_Strobe); + + FeatureGroups.AppendChild(FeatureGroup_Strobe); + } + if(hasZoom) + { + XmlElement FeatureGroup_Zoom = xdoc.CreateElement("FeatureGroup"); + FeatureGroup_Zoom.SetAttribute("Name", "Focus"); + FeatureGroup_Zoom.SetAttribute("Pretty", "Focus"); + + XmlElement Feature_Zoom = xdoc.CreateElement("Feature"); + Feature_Zoom.SetAttribute("Name", "Focus"); + FeatureGroup_Zoom.AppendChild(Feature_Zoom); + + FeatureGroups.AppendChild(FeatureGroup_Zoom); + } + if(hasGobo) + { + XmlElement FeatureGroup_Gobo= xdoc.CreateElement("FeatureGroup"); + FeatureGroup_Gobo.SetAttribute("Name", "Gobo"); + FeatureGroup_Gobo.SetAttribute("Pretty", "Gobo"); + + XmlElement Feature_Gobo = xdoc.CreateElement("Feature"); + Feature_Gobo.SetAttribute("Name", "Gobo"); + FeatureGroup_Gobo.AppendChild(Feature_Gobo); + + FeatureGroups.AppendChild(FeatureGroup_Gobo); + } + if(hasLaserBeam) + { + XmlElement FeatureGroup_Laser= xdoc.CreateElement("FeatureGroup"); + FeatureGroup_Laser.SetAttribute("Name", "Laser"); + FeatureGroup_Laser.SetAttribute("Pretty", "Laser"); + + XmlElement Feature_Laser = xdoc.CreateElement("Feature"); + Feature_Laser.SetAttribute("Name", "Laser"); + FeatureGroup_Laser.AppendChild(Feature_Laser); + + FeatureGroups.AppendChild(FeatureGroup_Laser); + + } + if(hasFog) + { + XmlElement FeatureGroup_Fog = xdoc.CreateElement("FeatureGroup"); + FeatureGroup_Fog.SetAttribute("Name", "Fog"); + FeatureGroup_Fog.SetAttribute("Pretty", "Fog"); + + XmlElement Feature_Fog = xdoc.CreateElement("Feature"); + Feature_Fog.SetAttribute("Name", "Fog"); + FeatureGroup_Fog.AppendChild(Feature_Fog); + + FeatureGroups.AppendChild(FeatureGroup_Fog); + } + + XmlElement FeatureGroup_Control = xdoc.CreateElement("FeatureGroup"); + FeatureGroup_Control.SetAttribute("Name", "Control"); + FeatureGroup_Control.SetAttribute("Pretty", "Control"); + XmlElement Feature_Control = xdoc.CreateElement("Feature"); + Feature_Control.SetAttribute("Name", "Control"); + FeatureGroup_Control.AppendChild(Feature_Control); + + FeatureGroups.AppendChild(FeatureGroup_Control); + + XmlElement FeatureGroup_Other = xdoc.CreateElement("FeatureGroup"); + FeatureGroup_Other.SetAttribute("Name", "FeatureGroup"); + FeatureGroup_Other.SetAttribute("Pretty", "FeatureGroup"); + XmlElement Feature_Other = xdoc.CreateElement("Feature"); + Feature_Other.SetAttribute("Name", "Feature"); + FeatureGroup_Other.AppendChild(Feature_Other); + + FeatureGroups.AppendChild(FeatureGroup_Other); + + int numOfGobos = 8; + + + + + + + AttributeDefinitions.AppendChild(FeatureGroups); + +////////////////////////////////////////////////////////////////////// + XmlElement Attributes = xdoc.CreateElement("Attributes"); + bool hasFinePan = false; + int panChan = 0; + int finePanChan = 0; + bool hasFineTilt = false; + int tiltChan = 0; + int fineTiltChan = 0; + bool hasFineRotate = false; + int rotateChan = 0; + int fineRotateChan = 0; + for(int i = 0; i < channels.Length; i++) + { + string c = channels[i]; + if(CapContains(c,"pan",comp) || CapContains(c,"tilt",comp) || CapContains(c,"rotate",comp)) + { + if(CapContains(c,"pan",comp)) + { + if(CapContains(c,"fine",comp)) + { + hasFinePan = true; + finePanChan = i; + continue; + } + else + { + panChan = i; + } + } + if(CapContains(c,"tilt",comp)) + { + if(CapContains(c,"fine",comp)) + { + hasFineTilt = true; + fineTiltChan = i; + continue; + } + else + { + tiltChan = i; + } + } + if(CapContains(c,"rotate",comp)) + { + if(CapContains(c,"fine",comp)) + { + hasFineRotate = true; + fineRotateChan = i; + continue; + } + else + { + rotateChan = i; + } + } + XmlElement Attribute = xdoc.CreateElement("Attribute"); + Attribute.SetAttribute("Name", c); + Attribute.SetAttribute("Pretty", c); + Attribute.SetAttribute("PhysicalUnit", "Angle"); + if(CapContains(c,"pan",comp) || CapContains(c,"tilt",comp)) + { + Attribute.SetAttribute("Feature", "Position.PanTilt"); + } + else + { + Attribute.SetAttribute("Feature", "Position.Rotate"); + } + Attributes.AppendChild(Attribute); + continue; + } + else if(CapContains(c,"red",comp) || CapContains(c,"green",comp) || CapContains(c,"blue",comp) || CapContains(c,"gradient",comp) || CapContains(c,"colour",comp) || CapContains(c,"color",comp)) + { + XmlElement Attribute = xdoc.CreateElement("Attribute"); + Attribute.SetAttribute("Name", c); + Attribute.SetAttribute("Pretty", c); + Attribute.SetAttribute("PhysicalUnit", "None"); + if(CapContains(c,"red",comp) || CapContains(c,"green",comp) || CapContains(c,"blue",comp)) + { + Attribute.SetAttribute("Feature", "Color.RGB"); + } + else + { + Attribute.SetAttribute("Feature", "Color.Color"); + } + Attributes.AppendChild(Attribute); + continue; + } + else if(CapContains(c,"dimmer",comp) || CapContains(c,"intensity",comp) || CapContains(c,"power",comp)) + { + XmlElement Attribute = xdoc.CreateElement("Attribute"); + Attribute.SetAttribute("Name", c); + Attribute.SetAttribute("Pretty", c); + Attribute.SetAttribute("PhysicalUnit", "None"); + Attribute.SetAttribute("Feature", "Dimmer.Dimmer"); + Attributes.AppendChild(Attribute); + continue; + } + else if(CapContains(c,"strobe",comp) || CapContains(c,"shutter",comp) || CapContains(c,"flash",comp)) + { + XmlElement Attribute = xdoc.CreateElement("Attribute"); + Attribute.SetAttribute("Name", c); + Attribute.SetAttribute("Pretty", c); + Attribute.SetAttribute("PhysicalUnit", "None"); + Attribute.SetAttribute("Feature", "Shutter.Shutter"); + Attributes.AppendChild(Attribute); + continue; + } + else if(CapContains(c,"zoom",comp) || CapContains(c,"focus",comp) || CapContains(c,"cone",comp)) + { + XmlElement Attribute = xdoc.CreateElement("Attribute"); + Attribute.SetAttribute("Name", c); + Attribute.SetAttribute("Pretty", c); + Attribute.SetAttribute("PhysicalUnit", "None"); + Attribute.SetAttribute("Feature", "Focus.Focus"); + Attributes.AppendChild(Attribute); + continue; + } + else if(CapContains(c,"gobo",comp) || CapContains(c,"cookie",comp)) + { + XmlElement Attribute = xdoc.CreateElement("Attribute"); + Attribute.SetAttribute("Name", c); + Attribute.SetAttribute("Pretty", c); + Attribute.SetAttribute("PhysicalUnit", "None"); + Attribute.SetAttribute("Feature", "Gobo.Gobo"); + Attributes.AppendChild(Attribute); + continue; + } + else if(CapContains(c,"laser",comp) || CapContains(c,"beam",comp)) + { + XmlElement Attribute = xdoc.CreateElement("Attribute"); + Attribute.SetAttribute("Name", c); + Attribute.SetAttribute("Pretty", c); + Attribute.SetAttribute("PhysicalUnit", "None"); + Attribute.SetAttribute("Feature", "Laser.Laser"); + Attributes.AppendChild(Attribute); + continue; + } + else if(CapContains(c,"fog",comp) || CapContains(c,"c02",comp)) + { + XmlElement Attribute = xdoc.CreateElement("Attribute"); + Attribute.SetAttribute("Name", c); + Attribute.SetAttribute("Pretty", c); + Attribute.SetAttribute("PhysicalUnit", "None"); + Attribute.SetAttribute("Feature", "Fog.Fog"); + Attributes.AppendChild(Attribute); + continue; + } + else + { + XmlElement Attribute = xdoc.CreateElement("Attribute"); + Attribute.SetAttribute("Name", c); + Attribute.SetAttribute("Pretty", c); + Attribute.SetAttribute("PhysicalUnit", "None"); + Attribute.SetAttribute("Feature", "Control.Control"); + Attributes.AppendChild(Attribute); + continue; + } + } + AttributeDefinitions.AppendChild(Attributes); +////////////////////////////////////////////////////////////////////// + + + + XmlElement DMXModes = xdoc.CreateElement("DMXModes"); + + XmlElement Models = xdoc.CreateElement("Models"); + XmlElement Model = xdoc.CreateElement("Model"); + Model.SetAttribute("Name", "Base"); + Models.AppendChild(Model); + + XmlElement Geometries = xdoc.CreateElement("Geometries"); + XmlElement Geometry = xdoc.CreateElement("Geometry"); + Geometry.SetAttribute("Model", "Base"); + Geometry.SetAttribute("Name", "Base"); + Geometry.SetAttribute("Position", "{1,0,0,0}{0,1,0,0}{0,0,1,0}{0,0,0,1}"); + + Geometries.AppendChild(Geometry); + + FixtureType.AppendChild(AttributeDefinitions); + + if(hasGobo) + { + XmlElement Wheels = xdoc.CreateElement("Wheels"); + XmlElement GoboWheel = xdoc.CreateElement("Wheel"); + GoboWheel.SetAttribute("Name", "GoboWheel"); + string slotName = "Open"; + for(int i = 0; i < numOfGobos; i++) + { + XmlElement Slot = xdoc.CreateElement("Slot"); + if(i > 0) + { + slotName = "Gobo " + i; + } + Slot.SetAttribute("Name", slotName); + GoboWheel.AppendChild(Slot); + } + Wheels.AppendChild(GoboWheel); + FixtureType.AppendChild(Wheels); + } + + + FixtureType.AppendChild(Models); + FixtureType.AppendChild(Geometries); + + + + + + + XmlElement DMXMode = xdoc.CreateElement("DMXMode"); + DMXMode.SetAttribute("Description", "Default Channel Mode"); + DMXMode.SetAttribute("Geometry", "Base"); + DMXMode.SetAttribute("Name", "Default"); + + XmlElement DMXChannels = xdoc.CreateElement("DMXChannels"); + + + + + + + //int fineOffset = 0; + + for(int i = 0; i < channels.Length; i++) + { + string highlight = "None"; + string c = channels[i]; + int chan = (i + 1); + bool fineCheck = false; + XmlElement DMXChannel = xdoc.CreateElement("DMXChannel"); + if(CapContains(c,"pan",comp)) + { + if(CapContains(c,"fine",comp)){continue;} + DMXChannel.SetAttribute("DMXBreak", "1"); + DMXChannel.SetAttribute("Geometry", "Base"); + if(hasFinePan) + { + int offset = Mathf.Abs(finePanChan - panChan); + offset = offset * ( finePanChan < panChan ? -1 : 1); + DMXChannel.SetAttribute("Offset", (chan).ToString() + "," + (chan + offset).ToString()); + //fineOffset++; + fineCheck = true; + } + else + { + DMXChannel.SetAttribute("Offset", (chan).ToString()); + } + } + else if(CapContains(c,"tilt",comp)) + { + if(CapContains(c,"fine",comp)){continue;} + DMXChannel.SetAttribute("DMXBreak", "1"); + DMXChannel.SetAttribute("Geometry", "Base"); + if(hasFineTilt) + { + int offset = Mathf.Abs(fineTiltChan - tiltChan); + offset = offset * ( fineTiltChan < tiltChan ? -1 : 1); + DMXChannel.SetAttribute("Offset", (chan).ToString() + "," + (chan + offset).ToString()); + // fineOffset++; + fineCheck = true; + } + else + { + DMXChannel.SetAttribute("Offset", (chan).ToString()); + } + } + else if(CapContains(c,"rotate",comp)) + { + if(CapContains(c,"fine",comp)){continue;} + DMXChannel.SetAttribute("DMXBreak", "1"); + DMXChannel.SetAttribute("Geometry", "Base"); + if(hasFineRotate) + { + int offset = Mathf.Abs(fineRotateChan - rotateChan); + offset = offset * ( fineRotateChan < rotateChan ? -1 : 1); + DMXChannel.SetAttribute("Offset", (chan).ToString() + "," + (chan + offset).ToString()); + //fineOffset++; + fineCheck = true; + } + else + { + DMXChannel.SetAttribute("Offset", (chan).ToString()); + } + } + else + { + DMXChannel.SetAttribute("DMXBreak", "1"); + DMXChannel.SetAttribute("Geometry", "Base"); + DMXChannel.SetAttribute("Offset", (chan).ToString()); + } + if(CapContains(c,"red",comp) || CapContains(c,"green",comp) || CapContains(c,"blue",comp) || CapContains(c,"dim",comp) || CapContains(c,"dimmer",comp) || CapContains(c,"intensity",comp)) + { + highlight = "255/1"; + } + string master = "None"; + if(CapContains(c,"dim",comp) || CapContains(c,"dimmer",comp)) + { + master = "Grand"; + } + string dmxFrom = fineCheck ? "0/2" : "0/1"; + DMXChannel.SetAttribute("Highlight", highlight); + + XmlElement LogicalChannel = xdoc.CreateElement("LogicalChannel"); + LogicalChannel.SetAttribute("Attribute", c); + LogicalChannel.SetAttribute("Master", master); + + XmlElement ChannelFunction = xdoc.CreateElement("ChannelFunction"); + ChannelFunction.SetAttribute("Attribute", c); + ChannelFunction.SetAttribute("DMXFrom", dmxFrom); + ChannelFunction.SetAttribute("Name", c); + if((CapContains(c,"gobo",comp) || CapContains(c,"cookie",comp)) && CapContains(c,"select",comp)) + { + ChannelFunction.SetAttribute("Wheel", "GoboWheel"); + string goboName = "Open"; + int fromVal = 0; + for(int j = 0; j < numOfGobos; j++) + { + XmlElement ChannelSet = xdoc.CreateElement("ChannelSet"); + if(j > 0) + { + goboName = "Gobo " + j.ToString(); + fromVal = fromVal + Mathf.FloorToInt(255 / numOfGobos); + } + ChannelSet.SetAttribute("Name", goboName); + ChannelSet.SetAttribute("DMXFrom", fromVal.ToString() + "/1"); + ChannelSet.SetAttribute("PhysicalFrom", "0"); + ChannelSet.SetAttribute("PhysicalTo", "0"); + ChannelSet.SetAttribute("WheelSlotIndex", (j+1).ToString()); + ChannelFunction.AppendChild(ChannelSet); + } + } + + LogicalChannel.AppendChild(ChannelFunction); + DMXChannel.AppendChild(LogicalChannel); + DMXChannels.AppendChild(DMXChannel); + } + + + + + + + DMXMode.AppendChild(DMXChannels); + DMXModes.AppendChild(DMXMode); + FixtureType.AppendChild(DMXModes); + GDTF.AppendChild(FixtureType); + xdoc.AppendChild(GDTF); + + // var buffer = new StringBuilder(); + // var writer = XmlWriter.Create(buffer, new XmlWriterSettings { Indent = true, Encoding = Encoding.UTF8}); + // xdoc.Save(writer); + // writer.Close(); + + + + // output = ToEncoding(xdoc,Encoding.UTF8); + var sb = new StringBuilder(); + var sw = new StringWriterUtf8(sb); + xdoc.Save(sw); + output = sb.ToString(); + } + catch(Exception ex) + { + // Get stack trace for the exception with source file information + var st = new StackTrace(ex, true); + // Get the top stack frame + var frame = st.GetFrame(0); + // Get the line number from the stack frame + var line = frame.GetFileLineNumber(); + UnityEngine.Debug.LogError("Error At Line: " + line.ToString()); + throw; + } + return output; + } + + public void ToMVRFile() + { + if(CheckForLocalPanel()) + { + + VRSL_FixtureDefinitions fixDefAsset = (VRSL_FixtureDefinitions) AssetDatabase.LoadAssetAtPath(AssetDatabase.GUIDToAssetPath(panel.fixtureDefGUID), typeof(VRSL_FixtureDefinitions)); + JSONDMXFixtureData[] jsonFixtureData = new JSONDMXFixtureData[data.Length]; + string[] definitions = fixDefAsset.GetNames(); + for(int i = 0; i < jsonFixtureData.Length; i++) + { + jsonFixtureData[i] = new JSONDMXFixtureData(data[i], definitions, fixDefAsset.GetChannelDefinition(data[i].fixtureDefintion)); + } + + + string assetPath = AssetDatabase.GetAssetPath(this); + string filePath = Path.Combine(Directory.GetCurrentDirectory(), assetPath); + string targetString = this.name + ".asset"; + string newString = this.name + ".mvr"; + filePath = filePath.Replace("/", "\\"); + filePath = filePath.Replace(targetString, newString); + using (var fileStream = new FileStream(filePath, FileMode.CreateNew)) + { + using (var archive = new ZipArchive(fileStream, ZipArchiveMode.Create, true)) + { + //CREATE SCENE DESCRIPTION //////////////////////////////////////// + var sceneDescriptionBytes = Encoding.ASCII.GetBytes(GeneralSceneDescriptionXML(jsonFixtureData)); + var sceneDescriptionName = "GeneralSceneDescription.xml"; + var sceneDescriptionEntry = archive.CreateEntry(sceneDescriptionName, System.IO.Compression.CompressionLevel.NoCompression); + using (var zipStream = sceneDescriptionEntry.Open()) + { + zipStream.Write(sceneDescriptionBytes, 0, sceneDescriptionBytes.Length); + } + ///////////////////////////////////////////////////////////////// + for(int i = 0; i < fixDefAsset.definitions.Length; i++) + { + var defName = fixDefAsset.definitions[i].name + ".gdtf"; + var fixDefEntry = archive.CreateEntry(defName, System.IO.Compression.CompressionLevel.NoCompression); + + + + + + using (var memoryStream = new MemoryStream()) + { + using (var defArchive = new ZipArchive(memoryStream, ZipArchiveMode.Create, true)) + { + var descriptionBytes = Encoding.ASCII.GetBytes(FixtureDefinitionXML(fixDefAsset.definitions[i].name, fixDefAsset.definitions[i].channelNames)); + var descriptionEntry = defArchive.CreateEntry("description.xml", System.IO.Compression.CompressionLevel.NoCompression); + using (var fixDefZipStream = descriptionEntry.Open()) + { + fixDefZipStream.Write(descriptionBytes, 0, descriptionBytes.Length); + } + using (var zipStream = fixDefEntry.Open()) + { + defArchive.Dispose(); + zipStream.Write(memoryStream.ToArray(), 0, memoryStream.ToArray().Length); + } + } + + memoryStream.Dispose(); + } + } + + + } + } + AssetDatabase.Refresh(); + UnityEngine.Debug.Log("Sucessfully Exported MVR File"); + } + } + } + + [CustomEditor(typeof(VRSL_DMXPatchSettings))] + public class VRSL_DMXPatchSettings_Editor: Editor + { + private SerializedProperty data, idStrings, targetScene, scenePath; + SceneAsset sceneAsset; + VRSL_DMXPatchSettings settings = null; + private void OnEnable() + { + // // Link the properties + // data = serializedObject.FindProperty("data"); + // idStrings = serializedObject.FindProperty("idStrings"); + // targetScene = serializedObject.FindProperty("targetScene"); + // scenePath = serializedObject.FindProperty("scenePath"); + + settings = (VRSL_DMXPatchSettings) target; + sceneAsset = AssetDatabase.LoadAssetAtPath(settings.scenePath); + } + + public override void OnInspectorGUI() + { + DrawDefaultInspector(); + SerializedObject so = new SerializedObject(settings); + // Load the real class values into the serialized copy + so.Update(); + if(settings != null) + { + EditorGUI.BeginDisabledGroup(true); + EditorGUILayout.ObjectField("Target Scene", sceneAsset, typeof(SceneAsset), false); + EditorGUI.EndDisabledGroup(); + // if(GUILayout.Button("Check Data Status")) + // { + // settings.CheckData(); + // } + if(GUILayout.Button("Save Scene DMX Patch Data")) + { + settings.SetDMXFixtureData(); + settings.ForceSave(); + // EditorUtility.SetDirty(settings); + // Undo.RecordObject(settings, "Undo Save Scene DXM Patch Data"); + + } + if(GUILayout.Button("Load Scene DMX Patch Data")) + { + settings.LoadDMXFixtureData(); + } + if(GUILayout.Button("Export To JSON File")) + { + settings.ToJsonFile(true); + } + if(GUILayout.Button("Export To MVR File")) + { + settings.ToMVRFile(); + } + if(GUILayout.Button("Export To PDF File")) + { + settings.ToPDF(); + } + if(settings.data != null) + { + for(int i = 0; i < settings.data.Length; i++) + { + EditorGUILayout.BeginHorizontal("box"); + EditorGUILayout.LabelField(settings.data[i].name); + EditorGUILayout.LabelField("DMX Universe: " + settings.data[i].dmxUniverse, GUILayout.Width(100f)); + EditorGUILayout.LabelField("DMX Channel: " + settings.data[i].dmxChannel); + EditorGUILayout.EndHorizontal(); + } + } + } + + // Write back changed values and evtl mark as dirty and handle undo/redo + so.ApplyModifiedProperties(); + } + } +} +#endif \ No newline at end of file diff --git a/Packages/com.acchosen.vr-stage-lighting/Editor/VRSL_DMXPatchSettings.cs.meta b/Packages/com.acchosen.vr-stage-lighting/Editor/VRSL_DMXPatchSettings.cs.meta new file mode 100644 index 0000000..f477cc1 --- /dev/null +++ b/Packages/com.acchosen.vr-stage-lighting/Editor/VRSL_DMXPatchSettings.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 57cc0fe2c71aff74ba88fc6cf7e94ec2 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/com.acchosen.vr-stage-lighting/Editor/VRSL_FixtureDefinitions.cs b/Packages/com.acchosen.vr-stage-lighting/Editor/VRSL_FixtureDefinitions.cs new file mode 100644 index 0000000..71a8590 --- /dev/null +++ b/Packages/com.acchosen.vr-stage-lighting/Editor/VRSL_FixtureDefinitions.cs @@ -0,0 +1,288 @@ +#if UNITY_EDITOR +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEditor; +using System; +namespace VRSL.EditorScripts +{ + [Serializable] + public struct FixtureDefintion + { + public FixtureDefintion(string n) + { + name = n; + channelNames = new string[1]; + foldOut = false; + } + public string name; + public string[] channelNames; + public bool foldOut; + + public void SetNewChannelSize(int size) + { + string[] newChannelNames = new string[size]; + int loopVal = 0; + if(channelNames != null) + { + if(newChannelNames.Length > channelNames.Length) + { + loopVal = channelNames.Length; + } + else + { + loopVal = newChannelNames.Length; + } + + for(int i = 0; i < loopVal; i++) + { + newChannelNames[i] = channelNames[i]; + } + channelNames = newChannelNames; + } + else + { + channelNames = new string[1]; + channelNames[0] = ""; + } + } + } + [CreateAssetMenuAttribute(menuName = "VRSL/DMX Fixture Definition File", fileName = "VRSL DMX Fixture Definitions")] + [System.Serializable] + public class VRSL_FixtureDefinitions : ScriptableObject + { + [HideInInspector] + public FixtureDefintion[] definitions = new FixtureDefintion[1]; + + public VRSL_FixtureDefinitions() + { + if(definitions != null) + { + if(definitions.Length > 0) + { + definitions[0].channelNames = new string[1]; + } + } + } + public void ForceSave() + { + //string assetPath = AssetDatabase.GetAssetPath(this.GetInstanceID()); + //if(targetScene != null) + //AssetDatabase.RenameAsset(assetPath, "VRSL DMX Fixture Definitions_" + targetScene.name); + UnityEditor.EditorUtility.SetDirty(this); + UnityEditor.AssetDatabase.SaveAssets(); + AssetDatabase.Refresh(); + Selection.activeObject = AssetDatabase.LoadAssetAtPath(AssetDatabase.GetAssetPath(this.GetInstanceID())); + } + + public string[] GetNames() + { + string[] names = new string[definitions.Length]; + for(int i = 0; i < definitions.Length; i++) + { + names[i] = definitions[i].name; + } + return names; + } + public string[] GetChannelDefinition(int defID) + { + return definitions[defID].channelNames; + } + public int DefinitionsArraySize + { + get + { + return definitions.Length; + } + set + { + FixtureDefintion[] newDefinitions = new FixtureDefintion[value]; + int loopVal = 0; + if(newDefinitions.Length > definitions.Length) + { + loopVal = definitions.Length; + } + else + { + loopVal = newDefinitions.Length; + } + for(int i = 0; i < loopVal; i++) + { + newDefinitions[i] = definitions[i]; + } + definitions = newDefinitions; + //definitions = new FixtureDefintion[value]; + } + } + } + + + [CustomEditor(typeof(VRSL_FixtureDefinitions))] + public class VRSL_FixtureDefinitionss_Editor: Editor + { + + void GuiLine( int i_height = 1 ) + + { + try{ + //GUIStyle g = GUIStyle.none; + //g.fixedHeight = 6; + Rect rect = EditorGUILayout.GetControlRect(false, i_height); + + rect.height = i_height; + + EditorGUI.DrawRect(rect, new Color ( 0.5f,0.5f,0.5f, 1 ) ); + } + catch(Exception e) + { + e.GetType(); + } + + } + private SerializedProperty definitions; + VRSL_FixtureDefinitions fd = null; + // SerializedObject so; + private void OnEnable() + { + // // Link the properties + + + fd = (VRSL_FixtureDefinitions) target; + // so = new SerializedObject(fd); + definitions = serializedObject.FindProperty("definitions"); + } + + public override void OnInspectorGUI() + { + DrawDefaultInspector(); + + serializedObject.Update(); + // EditorGUI.BeginChangeCheck(); + + + if(fd != null) + { + if(definitions.isArray) + { + + int size = definitions.arraySize; + + + EditorGUILayout.BeginHorizontal(); + int newSize = EditorGUILayout.IntField("Size", size); + newSize = Mathf.Abs(newSize); + if(GUILayout.Button("-", GUILayout.Width(25f))) + { + newSize--; + if(newSize < 1){newSize = 1;} + } + if(GUILayout.Button("+", GUILayout.Width(25f))) + { + newSize++; + } + EditorGUILayout.EndHorizontal(); + if(GUILayout.Button("Save Changes")) + { + serializedObject.ApplyModifiedProperties(); + fd.ForceSave(); + } + GuiLine(); + GUILayout.Space(25); + bool mainIncreased = false; + if (newSize != size) + { + definitions.arraySize = newSize; + fd.DefinitionsArraySize = newSize; + mainIncreased = newSize > size; + } + EditorGUI.indentLevel++; + //EditorGUI.indentLevel++; + //definitions.arraySize = EditorGUILayout.IntField("Size",definitions.arraySize); + for(int i = 0; i < newSize; i++) + { + EditorGUILayout.BeginVertical("box"); + SerializedProperty defProp = definitions.GetArrayElementAtIndex(i); + SerializedProperty nameProp = defProp.FindPropertyRelative("name"); + EditorGUILayout.BeginHorizontal("box"); + nameProp.stringValue = EditorGUILayout.TextField("Definition " + (i+1).ToString(), nameProp.stringValue); + + + SerializedProperty channelNamesProp = defProp.FindPropertyRelative("channelNames"); + if(i >= size && mainIncreased) + { + nameProp.stringValue = ""; + if(channelNamesProp.isArray) + { + channelNamesProp.arraySize = 1; + fd.definitions[i].SetNewChannelSize(1); + SerializedProperty channel = channelNamesProp.GetArrayElementAtIndex(0); + channel.stringValue = ""; + } + } + else + { + int chanSize = channelNamesProp.arraySize; + int newChanSize = chanSize; + if(GUILayout.Button("-", GUILayout.Width(25f))) + { + newChanSize--; + if(newChanSize < 1){newChanSize = 1;} + } + if(GUILayout.Button("+", GUILayout.Width(25f))) + { + newChanSize++; + } + EditorGUILayout.EndHorizontal(); + EditorGUI.indentLevel++; + EditorGUI.indentLevel++; + defProp.FindPropertyRelative("foldOut").boolValue = EditorGUILayout.Foldout(defProp.FindPropertyRelative("foldOut").boolValue, "Channels"); + if(defProp.FindPropertyRelative("foldOut").boolValue) + { + if(channelNamesProp.isArray) + { + bool increased = false; + if (newChanSize != chanSize) + { + channelNamesProp.arraySize = newChanSize; + fd.definitions[i].SetNewChannelSize(newChanSize); + increased = newChanSize > chanSize; + } + + EditorGUI.indentLevel++; + // EditorGUI.indentLevel++; + for (int j = 0; j < newChanSize; j++) + { + SerializedProperty channel = channelNamesProp.GetArrayElementAtIndex(j); + channel.stringValue = EditorGUILayout.TextField("Channel " + (j + 1).ToString(), channel.stringValue); + if(j == newChanSize-1 && increased) + { + channel.stringValue = ""; + } + } + // EditorGUI.indentLevel--; + EditorGUI.indentLevel--; + } + } + EditorGUI.indentLevel--; + EditorGUI.indentLevel--; + } + EditorGUILayout.EndVertical(); + GUILayout.Space(10); + } + EditorGUI.indentLevel--; + //EditorGUI.indentLevel--; + } + } + // if(EditorGUI.EndChangeCheck()) + // { + serializedObject.ApplyModifiedProperties(); + // if(fd != null) + // { + // fd.ForceSave() + // } + // } + } + } + +} +#endif \ No newline at end of file diff --git a/Packages/com.acchosen.vr-stage-lighting/Editor/VRSL_FixtureDefinitions.cs.meta b/Packages/com.acchosen.vr-stage-lighting/Editor/VRSL_FixtureDefinitions.cs.meta new file mode 100644 index 0000000..d2ae5c7 --- /dev/null +++ b/Packages/com.acchosen.vr-stage-lighting/Editor/VRSL_FixtureDefinitions.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 5234e5a618f589b49aa604ad3e28f500 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/com.acchosen.vr-stage-lighting/Editor/VRSL_Manager Window Settings.asset b/Packages/com.acchosen.vr-stage-lighting/Editor/VRSL_Manager Window Settings.asset new file mode 100644 index 0000000..a56ff96 --- /dev/null +++ b/Packages/com.acchosen.vr-stage-lighting/Editor/VRSL_Manager Window Settings.asset @@ -0,0 +1,38 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: c995926c90549704bb9e0c3f100b0866, type: 3} + m_Name: VRSL_Manager Window Settings + m_EditorClassIdentifier: + highPolySpotlightVolumetric: {fileID: 3095268764473335706, guid: cc98423c9d250574a97ff77da8b48ae0, + type: 3} + mediumPolySpotlightVolumetric: {fileID: -4914940944117782908, guid: 1c6727fdb4d67144997ca7f1d773425d, + type: 3} + lowPolySpotlightVolumetric: {fileID: 2092003020933698497, guid: 176a7b05c669a304cbfc7f8d85df1f15, + type: 3} + highPolyWashlightVolumetric: {fileID: 4044263387530785113, guid: 1361fb5cca0845e418adc5d07965dc4d, + type: 3} + mediumPolyWashlightVolumetric: {fileID: 8407130331639395620, guid: 76f8b7aadc98ef64799418ba4b393086, + type: 3} + lowPolyWashlightVolumetric: {fileID: -917289432552507181, guid: 7b9bf5375ef4f5f409f6f26650981e8b, + type: 3} + highPolySpotlightVolumetricAudioLink: {fileID: 4348356663761886654, guid: 75fedb72c375d3742a6b8ea2ee9deab5, + type: 3} + mediumPolySpotlightVolumetricAudioLink: {fileID: 193328329398799331, guid: 4cb903544eccc4440a13d6d9472186e5, + type: 3} + lowPolySpotlightVolumetricAudioLink: {fileID: 901887270275031821, guid: 80323f7df22152d47ad79c4ee15fe1ed, + type: 3} + highPolyWashlightVolumetricAudioLink: {fileID: -7448728899984790229, guid: 217a2239725e7da41b06787fd790b7db, + type: 3} + mediumPolyWashlightVolumetricAudioLink: {fileID: 6994501472999443680, guid: 58c8b73bcdd7d04489661dc3feb058c1, + type: 3} + lowPolyWashlightVolumetricAudioLink: {fileID: 3013821634381010568, guid: 860053a68d88c0e46bde9443f5ae76a4, + type: 3} diff --git a/Packages/com.acchosen.vr-stage-lighting/Editor/VRSL_Manager Window Settings.asset.meta b/Packages/com.acchosen.vr-stage-lighting/Editor/VRSL_Manager Window Settings.asset.meta new file mode 100644 index 0000000..f5099ae --- /dev/null +++ b/Packages/com.acchosen.vr-stage-lighting/Editor/VRSL_Manager Window Settings.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 9d76acca48d75144d934f63fba1b5adf +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/com.acchosen.vr-stage-lighting/Editor/VRSL_ManagerWindowSettings.cs b/Packages/com.acchosen.vr-stage-lighting/Editor/VRSL_ManagerWindowSettings.cs new file mode 100644 index 0000000..7f8f431 --- /dev/null +++ b/Packages/com.acchosen.vr-stage-lighting/Editor/VRSL_ManagerWindowSettings.cs @@ -0,0 +1,77 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +namespace VRSL.EditorScripts +{ + public class VRSL_ManagerWindowSettings : ScriptableObject + { + + [Header("DMX Volumetric Meshes")] + public Mesh highPolySpotlightVolumetric; + public Mesh mediumPolySpotlightVolumetric; + public Mesh lowPolySpotlightVolumetric; + public Mesh highPolyWashlightVolumetric; + public Mesh mediumPolyWashlightVolumetric; + public Mesh lowPolyWashlightVolumetric; + + [Header("AudioLink Volumetric Meshes")] + public Mesh highPolySpotlightVolumetricAudioLink; + public Mesh mediumPolySpotlightVolumetricAudioLink; + public Mesh lowPolySpotlightVolumetricAudioLink; + public Mesh highPolyWashlightVolumetricAudioLink; + public Mesh mediumPolyWashlightVolumetricAudioLink; + public Mesh lowPolyWashlightVolumetricAudioLink; + + public Mesh GetSpotLightMesh(int type) + { + switch(type) + { + default: + return highPolySpotlightVolumetric; + case 1: + return mediumPolySpotlightVolumetric; + case 2: + return lowPolySpotlightVolumetric; + } + } + public Mesh GetWashLightMesh(int type) + { + switch(type) + { + default: + return highPolyWashlightVolumetric; + case 1: + return mediumPolyWashlightVolumetric; + case 2: + return lowPolyWashlightVolumetric; + } + } + + + public Mesh GetAudioLinkSpotLightMesh(int type) + { + switch(type) + { + default: + return highPolySpotlightVolumetricAudioLink; + case 1: + return mediumPolySpotlightVolumetricAudioLink; + case 2: + return lowPolySpotlightVolumetricAudioLink; + } + } + public Mesh GetAudioLinkWashLightMesh(int type) + { + switch(type) + { + default: + return highPolyWashlightVolumetricAudioLink; + case 1: + return mediumPolyWashlightVolumetricAudioLink; + case 2: + return lowPolyWashlightVolumetricAudioLink; + } + } + } +} \ No newline at end of file diff --git a/Packages/com.acchosen.vr-stage-lighting/Editor/VRSL_ManagerWindowSettings.cs.meta b/Packages/com.acchosen.vr-stage-lighting/Editor/VRSL_ManagerWindowSettings.cs.meta new file mode 100644 index 0000000..7c27269 --- /dev/null +++ b/Packages/com.acchosen.vr-stage-lighting/Editor/VRSL_ManagerWindowSettings.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: c995926c90549704bb9e0c3f100b0866 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/com.acchosen.vr-stage-lighting/Editor/VRSL_MaterialExporter.cs b/Packages/com.acchosen.vr-stage-lighting/Editor/VRSL_MaterialExporter.cs new file mode 100644 index 0000000..4f52d6b --- /dev/null +++ b/Packages/com.acchosen.vr-stage-lighting/Editor/VRSL_MaterialExporter.cs @@ -0,0 +1,123 @@ +#if !COMPILER_UDONSHARP && UNITY_EDITOR +using System; +using System.Collections; +using System.Collections.Generic; +using System.Linq; +using UnityEditor; +using UnityEngine; +using UnityEngine.SceneManagement; + +namespace VRSL.EditorScripts +{ + public class VRSL_MaterialExporter : Editor + { + [MenuItem("VRSL/Utilties/Generate Unique VRSL Materials", priority = 251)] + public static void GenerateUniqueVRSLMaterials() + { + //Get target folder and scene name + string folderPath = EditorUtility.OpenFolderPanel("Select Folder To Save Materials In","Assets", ""); + try + { + int assetIndex = folderPath.IndexOf("Assets"); + folderPath = folderPath.Substring(assetIndex); + } + catch (Exception e) + { + Debug.LogError(e.Message); + return; + } + string sceneName = SceneManager.GetActiveScene().name; + //Find all objects in scene and get their materials if they are VRSL materials + Transform[] transforms = FindObjectsOfType(); + Dictionary vrslMats = new Dictionary(); + for(int i = 0; i < transforms.Length; i++) + { + Renderer rend = transforms[i].gameObject.GetComponent(); + if(rend == null){continue;} + Material mat = rend.sharedMaterial; + if(!vrslMats.ContainsValue(mat)) + { + if(mat.name.StartsWith("VRSL")) + { + try{ + vrslMats.Add(mat.name, mat); + } + catch(ArgumentException e) + { + string trace = e.StackTrace; + } + } + } + } + //Make copies of materials and save them to folder + Dictionary vrslMatsCopy = new Dictionary(vrslMats); + var keys = new List(vrslMatsCopy.Keys); + string newFolderName = "VRSLMaterials-" + sceneName; + AssetDatabase.CreateFolder(folderPath, newFolderName); + foreach (string key in keys) + { + vrslMatsCopy[key] = new Material(vrslMats[key]); + vrslMatsCopy[key].name = sceneName + "-" + vrslMatsCopy[key].name; + AssetDatabase.CreateAsset(vrslMatsCopy[key], folderPath + "/" + newFolderName + "/" + vrslMatsCopy[key].name + ".mat"); + } + //Apply new materials to objects. + for(int i = 0; i < transforms.Length; i++) + { + Renderer rend = transforms[i].gameObject.GetComponent(); + if(rend == null){continue;} + Material mat = rend.sharedMaterial; + if(vrslMats.ContainsValue(mat)) + { + mat = vrslMatsCopy[mat.name]; + } + rend.material = mat; + Undo.RecordObject(rend, "Generate Unique VRSL Materials"); + if(PrefabUtility.IsPartOfAnyPrefab(rend)) + { + PrefabUtility.RecordPrefabInstancePropertyModifications(rend); + } + } + + VRSL_LocalUIControlPanel controlPanel = FindFirstObjectByType(); + if(controlPanel != null) + { + for(int i = 0; i < controlPanel.laserMaterials.Length; i++){ + if(vrslMats.ContainsValue(controlPanel.laserMaterials[i])) + { + controlPanel.laserMaterials[i] = vrslMatsCopy[controlPanel.laserMaterials[i].name]; + } + } + for(int i = 0; i < controlPanel.fixtureMaterials.Length; i++){ + if(vrslMats.ContainsValue(controlPanel.fixtureMaterials[i])) + { + controlPanel.fixtureMaterials[i] = vrslMatsCopy[controlPanel.fixtureMaterials[i].name]; + } + } + for(int i = 0; i < controlPanel.discoBallMaterials.Length; i++){ + if(vrslMats.ContainsValue(controlPanel.discoBallMaterials[i])) + { + controlPanel.discoBallMaterials[i] = vrslMatsCopy[controlPanel.discoBallMaterials[i].name]; + } + } + for(int i = 0; i < controlPanel.projectionMaterials.Length; i++){ + if(vrslMats.ContainsValue(controlPanel.projectionMaterials[i])) + { + controlPanel.projectionMaterials[i] = vrslMatsCopy[controlPanel.projectionMaterials[i].name]; + } + } + for(int i = 0; i < controlPanel.volumetricMaterials.Length; i++){ + if(vrslMats.ContainsValue(controlPanel.volumetricMaterials[i])) + { + controlPanel.volumetricMaterials[i] = vrslMatsCopy[controlPanel.volumetricMaterials[i].name]; + } + } + Undo.RecordObject(controlPanel, "Generate Unique VRSL Materials"); + if(PrefabUtility.IsPartOfAnyPrefab(controlPanel)) + { + PrefabUtility.RecordPrefabInstancePropertyModifications(controlPanel); + } + } + } + } +} +#endif \ No newline at end of file diff --git a/Packages/com.acchosen.vr-stage-lighting/Editor/VRSL_MaterialExporter.cs.meta b/Packages/com.acchosen.vr-stage-lighting/Editor/VRSL_MaterialExporter.cs.meta new file mode 100644 index 0000000..ba22dbc --- /dev/null +++ b/Packages/com.acchosen.vr-stage-lighting/Editor/VRSL_MaterialExporter.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: c6c15590c8b835049bb3f6a0fdf6d684 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/com.acchosen.vr-stage-lighting/Runtime/Addons.meta b/Packages/com.acchosen.vr-stage-lighting/Runtime/Addons.meta new file mode 100644 index 0000000..c11893b --- /dev/null +++ b/Packages/com.acchosen.vr-stage-lighting/Runtime/Addons.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 869b7b6dcda873442a10856eccd1aee4 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/com.acchosen.vr-stage-lighting/Runtime/Addons/VRSL-GPUReadback-v1.1.unitypackage.meta b/Packages/com.acchosen.vr-stage-lighting/Runtime/Addons/VRSL-GPUReadback-v1.1.unitypackage.meta new file mode 100644 index 0000000..920da02 --- /dev/null +++ b/Packages/com.acchosen.vr-stage-lighting/Runtime/Addons/VRSL-GPUReadback-v1.1.unitypackage.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 91e49e17985301e4fb7ae947c9cdea65 +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/com.acchosen.vr-stage-lighting/Runtime/Addons/VRSL-ScreenSpaceFX-v1.2.unitypackage.meta b/Packages/com.acchosen.vr-stage-lighting/Runtime/Addons/VRSL-ScreenSpaceFX-v1.2.unitypackage.meta new file mode 100644 index 0000000..d6fbd18 --- /dev/null +++ b/Packages/com.acchosen.vr-stage-lighting/Runtime/Addons/VRSL-ScreenSpaceFX-v1.2.unitypackage.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 1e87a4b549f4fe64998ada05bf90ef22 +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/com.acchosen.vr-stage-lighting/Runtime/Example Scenes/DMX-AvatarTesting/VRSL-ExampleScene-AvatarTest-InGame (Requires USharpVideo.unity b/Packages/com.acchosen.vr-stage-lighting/Runtime/Example Scenes/DMX-AvatarTesting/VRSL-ExampleScene-AvatarTest-InGame (Requires USharpVideo.unity new file mode 100644 index 0000000..029f38b --- /dev/null +++ b/Packages/com.acchosen.vr-stage-lighting/Runtime/Example Scenes/DMX-AvatarTesting/VRSL-ExampleScene-AvatarTest-InGame (Requires USharpVideo.unity @@ -0,0 +1,1809 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!29 &1 +OcclusionCullingSettings: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_OcclusionBakeSettings: + smallestOccluder: 5 + smallestHole: 0.25 + backfaceThreshold: 100 + m_SceneGUID: 00000000000000000000000000000000 + m_OcclusionCullingData: {fileID: 0} +--- !u!104 &2 +RenderSettings: + m_ObjectHideFlags: 0 + serializedVersion: 9 + m_Fog: 0 + m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} + m_FogMode: 3 + m_FogDensity: 0.01 + m_LinearFogStart: 0 + m_LinearFogEnd: 300 + m_AmbientSkyColor: {r: 0.1792453, g: 0.1792453, b: 0.1792453, a: 1} + m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1} + m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} + m_AmbientIntensity: 5 + m_AmbientMode: 0 + m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} + m_SkyboxMaterial: {fileID: 2100000, guid: 8005f2a270235094297869bb591f194b, type: 2} + m_HaloStrength: 0.5 + m_FlareStrength: 1 + m_FlareFadeSpeed: 3 + m_HaloTexture: {fileID: 0} + m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0} + m_DefaultReflectionMode: 0 + m_DefaultReflectionResolution: 128 + m_ReflectionBounces: 1 + m_ReflectionIntensity: 1 + m_CustomReflection: {fileID: 0} + m_Sun: {fileID: 0} + m_IndirectSpecularColor: {r: 0.00031247968, g: 0.00034877402, b: 0.00031247968, + a: 1} + m_UseRadianceAmbientProbe: 0 +--- !u!157 &3 +LightmapSettings: + m_ObjectHideFlags: 0 + serializedVersion: 11 + m_GIWorkflowMode: 1 + m_GISettings: + serializedVersion: 2 + m_BounceScale: 1 + m_IndirectOutputScale: 1 + m_AlbedoBoost: 1 + m_EnvironmentLightingMode: 0 + m_EnableBakedLightmaps: 0 + m_EnableRealtimeLightmaps: 0 + m_LightmapEditorSettings: + serializedVersion: 12 + m_Resolution: 2 + m_BakeResolution: 40 + m_AtlasSize: 1024 + m_AO: 0 + m_AOMaxDistance: 1 + m_CompAOExponent: 1 + m_CompAOExponentDirect: 0 + m_ExtractAmbientOcclusion: 0 + m_Padding: 2 + m_LightmapParameters: {fileID: 0} + m_LightmapsBakeMode: 1 + m_TextureCompression: 1 + m_FinalGather: 0 + m_FinalGatherFiltering: 1 + m_FinalGatherRayCount: 256 + m_ReflectionCompression: 2 + m_MixedBakeMode: 2 + m_BakeBackend: 1 + m_PVRSampling: 1 + m_PVRDirectSampleCount: 32 + m_PVRSampleCount: 500 + m_PVRBounces: 2 + m_PVREnvironmentSampleCount: 500 + m_PVREnvironmentReferencePointCount: 2048 + m_PVRFilteringMode: 2 + m_PVRDenoiserTypeDirect: 0 + m_PVRDenoiserTypeIndirect: 0 + m_PVRDenoiserTypeAO: 0 + m_PVRFilterTypeDirect: 0 + m_PVRFilterTypeIndirect: 0 + m_PVRFilterTypeAO: 0 + m_PVREnvironmentMIS: 0 + m_PVRCulling: 1 + m_PVRFilteringGaussRadiusDirect: 1 + m_PVRFilteringGaussRadiusIndirect: 5 + m_PVRFilteringGaussRadiusAO: 2 + m_PVRFilteringAtrousPositionSigmaDirect: 0.5 + m_PVRFilteringAtrousPositionSigmaIndirect: 2 + m_PVRFilteringAtrousPositionSigmaAO: 1 + m_ExportTrainingData: 0 + m_TrainingDataDestination: TrainingData + m_LightProbeSampleCountMultiplier: 4 + m_LightingDataAsset: {fileID: 112000000, guid: c8f568a8814f9ca42bb4f7ddac2b261f, + type: 2} + m_UseShadowmask: 1 +--- !u!196 &4 +NavMeshSettings: + serializedVersion: 2 + m_ObjectHideFlags: 0 + m_BuildSettings: + serializedVersion: 2 + agentTypeID: 0 + agentRadius: 0.5 + agentHeight: 2 + agentSlope: 45 + agentClimb: 0.4 + ledgeDropHeight: 0 + maxJumpAcrossDistance: 0 + minRegionArea: 2 + manualCellSize: 0 + cellSize: 0.16666667 + manualTileSize: 0 + tileSize: 256 + accuratePlacement: 0 + debug: + m_Flags: 0 + m_NavMeshData: {fileID: 0} +--- !u!1 &210237233 stripped +GameObject: + m_CorrespondingSourceObject: {fileID: 5530545822544342665, guid: dedfba01424b93148b3d9a42e95ed2f7, + type: 3} + m_PrefabInstance: {fileID: 1831175044} + m_PrefabAsset: {fileID: 0} +--- !u!1 &392552942 stripped +GameObject: + m_CorrespondingSourceObject: {fileID: 1094421957795851142, guid: 8894fa7e4588a5c4fab98453e558847d, + type: 3} + m_PrefabInstance: {fileID: 1972317257} + m_PrefabAsset: {fileID: 0} +--- !u!1 &452524673 stripped +GameObject: + m_CorrespondingSourceObject: {fileID: 4992203418069016644, guid: e62fe963d8da32147bbd2f1caa73a0de, + type: 3} + m_PrefabInstance: {fileID: 1834497811} + m_PrefabAsset: {fileID: 0} +--- !u!1001 &573186905 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 2958517746811294840, guid: 70279d83763c0d745a4e513a75053671, + type: 3} + propertyPath: m_RootOrder + value: 9 + objectReference: {fileID: 0} + - target: {fileID: 2958517746811294840, guid: 70279d83763c0d745a4e513a75053671, + type: 3} + propertyPath: m_LocalScale.x + value: 13.0181675 + objectReference: {fileID: 0} + - target: {fileID: 2958517746811294840, guid: 70279d83763c0d745a4e513a75053671, + type: 3} + propertyPath: m_LocalScale.y + value: 4.404328 + objectReference: {fileID: 0} + - target: {fileID: 2958517746811294840, guid: 70279d83763c0d745a4e513a75053671, + type: 3} + propertyPath: m_LocalScale.z + value: 4.404328 + objectReference: {fileID: 0} + - target: {fileID: 2958517746811294840, guid: 70279d83763c0d745a4e513a75053671, + type: 3} + propertyPath: m_LocalPosition.x + value: -0.27 + objectReference: {fileID: 0} + - target: {fileID: 2958517746811294840, guid: 70279d83763c0d745a4e513a75053671, + type: 3} + propertyPath: m_LocalPosition.y + value: 0.37 + objectReference: {fileID: 0} + - target: {fileID: 2958517746811294840, guid: 70279d83763c0d745a4e513a75053671, + type: 3} + propertyPath: m_LocalPosition.z + value: -12 + objectReference: {fileID: 0} + - target: {fileID: 2958517746811294840, guid: 70279d83763c0d745a4e513a75053671, + type: 3} + propertyPath: m_LocalRotation.w + value: 0.0000029504295 + objectReference: {fileID: 0} + - target: {fileID: 2958517746811294840, guid: 70279d83763c0d745a4e513a75053671, + type: 3} + propertyPath: m_LocalRotation.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 2958517746811294840, guid: 70279d83763c0d745a4e513a75053671, + type: 3} + propertyPath: m_LocalRotation.y + value: -1 + objectReference: {fileID: 0} + - target: {fileID: 2958517746811294840, guid: 70279d83763c0d745a4e513a75053671, + type: 3} + propertyPath: m_LocalRotation.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 2958517746811294840, guid: 70279d83763c0d745a4e513a75053671, + type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2958517746811294840, guid: 70279d83763c0d745a4e513a75053671, + type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: -180.00002 + objectReference: {fileID: 0} + - target: {fileID: 2958517746811294840, guid: 70279d83763c0d745a4e513a75053671, + type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2958517746811588876, guid: 70279d83763c0d745a4e513a75053671, + type: 3} + propertyPath: m_Name + value: VRCMirror + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 70279d83763c0d745a4e513a75053671, type: 3} +--- !u!1 &740705392 stripped +GameObject: + m_CorrespondingSourceObject: {fileID: 4992203419139300656, guid: e62fe963d8da32147bbd2f1caa73a0de, + type: 3} + m_PrefabInstance: {fileID: 1834497811} + m_PrefabAsset: {fileID: 0} +--- !u!1001 &1250214074 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 353812187978428513, guid: dc2b8d13712a0f3488413e49afae73ef, + type: 3} + propertyPath: m_Name + value: Directional Light (For Depth) + objectReference: {fileID: 0} + - target: {fileID: 353812187978428513, guid: dc2b8d13712a0f3488413e49afae73ef, + type: 3} + propertyPath: m_IsActive + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 1895161030725929991, guid: dc2b8d13712a0f3488413e49afae73ef, + type: 3} + propertyPath: m_RootOrder + value: 3 + objectReference: {fileID: 0} + - target: {fileID: 1895161030725929991, guid: dc2b8d13712a0f3488413e49afae73ef, + type: 3} + propertyPath: m_LocalScale.x + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 1895161030725929991, guid: dc2b8d13712a0f3488413e49afae73ef, + type: 3} + propertyPath: m_LocalScale.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 1895161030725929991, guid: dc2b8d13712a0f3488413e49afae73ef, + type: 3} + propertyPath: m_LocalScale.z + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 1895161030725929991, guid: dc2b8d13712a0f3488413e49afae73ef, + type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1895161030725929991, guid: dc2b8d13712a0f3488413e49afae73ef, + type: 3} + propertyPath: m_LocalPosition.y + value: 50 + objectReference: {fileID: 0} + - target: {fileID: 1895161030725929991, guid: dc2b8d13712a0f3488413e49afae73ef, + type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1895161030725929991, guid: dc2b8d13712a0f3488413e49afae73ef, + type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 1895161030725929991, guid: dc2b8d13712a0f3488413e49afae73ef, + type: 3} + propertyPath: m_LocalRotation.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 1895161030725929991, guid: dc2b8d13712a0f3488413e49afae73ef, + type: 3} + propertyPath: m_LocalRotation.y + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 1895161030725929991, guid: dc2b8d13712a0f3488413e49afae73ef, + type: 3} + propertyPath: m_LocalRotation.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 1895161030725929991, guid: dc2b8d13712a0f3488413e49afae73ef, + type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1895161030725929991, guid: dc2b8d13712a0f3488413e49afae73ef, + type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1895161030725929991, guid: dc2b8d13712a0f3488413e49afae73ef, + type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: dc2b8d13712a0f3488413e49afae73ef, type: 3} +--- !u!1 &1270963954 stripped +GameObject: + m_CorrespondingSourceObject: {fileID: 4992203418158270630, guid: e62fe963d8da32147bbd2f1caa73a0de, + type: 3} + m_PrefabInstance: {fileID: 1834497811} + m_PrefabAsset: {fileID: 0} +--- !u!1 &1289387081 stripped +GameObject: + m_CorrespondingSourceObject: {fileID: 4992203418465673975, guid: e62fe963d8da32147bbd2f1caa73a0de, + type: 3} + m_PrefabInstance: {fileID: 1834497811} + m_PrefabAsset: {fileID: 0} +--- !u!1 &1319613328 stripped +GameObject: + m_CorrespondingSourceObject: {fileID: 4992203419827444319, guid: e62fe963d8da32147bbd2f1caa73a0de, + type: 3} + m_PrefabInstance: {fileID: 1834497811} + m_PrefabAsset: {fileID: 0} +--- !u!1001 &1375120173 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 5370579817763517401, guid: b9ea9d1c3de7ba64fb1ba22faf7d9bb8, + type: 3} + propertyPath: m_Name + value: PostProcessingExample-ACESToneMapping + objectReference: {fileID: 0} + - target: {fileID: 6799113191805487499, guid: b9ea9d1c3de7ba64fb1ba22faf7d9bb8, + type: 3} + propertyPath: m_RootOrder + value: 2 + objectReference: {fileID: 0} + - target: {fileID: 6799113191805487499, guid: b9ea9d1c3de7ba64fb1ba22faf7d9bb8, + type: 3} + propertyPath: m_LocalPosition.x + value: 136881.67 + objectReference: {fileID: 0} + - target: {fileID: 6799113191805487499, guid: b9ea9d1c3de7ba64fb1ba22faf7d9bb8, + type: 3} + propertyPath: m_LocalPosition.y + value: -41039.63 + objectReference: {fileID: 0} + - target: {fileID: 6799113191805487499, guid: b9ea9d1c3de7ba64fb1ba22faf7d9bb8, + type: 3} + propertyPath: m_LocalPosition.z + value: 1474.5194 + objectReference: {fileID: 0} + - target: {fileID: 6799113191805487499, guid: b9ea9d1c3de7ba64fb1ba22faf7d9bb8, + type: 3} + propertyPath: m_LocalRotation.w + value: 0.00000028088027 + objectReference: {fileID: 0} + - target: {fileID: 6799113191805487499, guid: b9ea9d1c3de7ba64fb1ba22faf7d9bb8, + type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6799113191805487499, guid: b9ea9d1c3de7ba64fb1ba22faf7d9bb8, + type: 3} + propertyPath: m_LocalRotation.y + value: -1 + objectReference: {fileID: 0} + - target: {fileID: 6799113191805487499, guid: b9ea9d1c3de7ba64fb1ba22faf7d9bb8, + type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6799113191805487499, guid: b9ea9d1c3de7ba64fb1ba22faf7d9bb8, + type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6799113191805487499, guid: b9ea9d1c3de7ba64fb1ba22faf7d9bb8, + type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: -179.99998 + objectReference: {fileID: 0} + - target: {fileID: 6799113191805487499, guid: b9ea9d1c3de7ba64fb1ba22faf7d9bb8, + type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: b9ea9d1c3de7ba64fb1ba22faf7d9bb8, type: 3} +--- !u!1 &1404597358 stripped +GameObject: + m_CorrespondingSourceObject: {fileID: 1590388465911483937, guid: 8c5b2abb4f158154cad77f35b9ce2643, + type: 3} + m_PrefabInstance: {fileID: 1590388466837785294} + m_PrefabAsset: {fileID: 0} +--- !u!1 &1484146846 stripped +GameObject: + m_CorrespondingSourceObject: {fileID: 4992203418748546907, guid: e62fe963d8da32147bbd2f1caa73a0de, + type: 3} + m_PrefabInstance: {fileID: 1834497811} + m_PrefabAsset: {fileID: 0} +--- !u!1 &1588549365 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1588549367} + - component: {fileID: 1588549366} + m_Layer: 0 + m_Name: Reflection Probe + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!215 &1588549366 +ReflectionProbe: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1588549365} + m_Enabled: 1 + serializedVersion: 2 + m_Type: 0 + m_Mode: 0 + m_RefreshMode: 0 + m_TimeSlicingMode: 0 + m_Resolution: 128 + m_UpdateFrequency: 0 + m_BoxSize: {x: 15.451967, y: 12.732487, z: 14.708739} + m_BoxOffset: {x: -0.64565563, y: -0.25590897, z: 0.26318216} + m_NearClip: 0.3 + m_FarClip: 1000 + m_ShadowDistance: 100 + m_ClearFlags: 1 + m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0} + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_IntensityMultiplier: 1.5 + m_BlendDistance: 1 + m_HDR: 1 + m_BoxProjection: 1 + m_RenderDynamicObjects: 0 + m_UseOcclusionCulling: 1 + m_Importance: 1 + m_CustomBakedTexture: {fileID: 0} +--- !u!4 &1588549367 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1588549365} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 17.364304, z: 1.1214353} + m_LocalScale: {x: 2, y: 2, z: 1.0887722} + m_Children: [] + m_Father: {fileID: 1651685763} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1628348108 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1628348111} + - component: {fileID: 1628348110} + - component: {fileID: 1628348109} + - component: {fileID: 1628348112} + m_Layer: 0 + m_Name: Main Camera + m_TagString: MainCamera + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!81 &1628348109 +AudioListener: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1628348108} + m_Enabled: 1 +--- !u!20 &1628348110 +Camera: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1628348108} + m_Enabled: 1 + serializedVersion: 2 + m_ClearFlags: 1 + m_BackGroundColor: {r: 0, g: 0, b: 0, a: 0} + m_projectionMatrixMode: 1 + m_GateFitMode: 2 + m_FOVAxisMode: 0 + m_SensorSize: {x: 36, y: 24} + m_LensShift: {x: 0, y: 0} + m_FocalLength: 50 + m_NormalizedViewPortRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + near clip plane: 0.01 + far clip plane: 1000 + field of view: 60 + orthographic: 0 + orthographic size: 5 + m_Depth: -1 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingPath: -1 + m_TargetTexture: {fileID: 0} + m_TargetDisplay: 0 + m_TargetEye: 3 + m_HDR: 1 + m_AllowMSAA: 1 + m_AllowDynamicResolution: 0 + m_ForceIntoRT: 1 + m_OcclusionCulling: 1 + m_StereoConvergence: 10 + m_StereoSeparation: 0.022 +--- !u!4 &1628348111 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1628348108} + m_LocalRotation: {x: 0.22318856, y: -0.3713483, z: 0.09244757, w: 0.8965159} + m_LocalPosition: {x: 6.03, y: 6.03, z: -6.03} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 27.959002, y: -45.000004, z: 0} +--- !u!114 &1628348112 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1628348108} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 948f4100a11a5c24981795d21301da5c, type: 3} + m_Name: + m_EditorClassIdentifier: + volumeTrigger: {fileID: 1628348111} + volumeLayer: + serializedVersion: 2 + m_Bits: 4194304 + stopNaNPropagation: 1 + finalBlitToCameraTarget: 0 + antialiasingMode: 0 + temporalAntialiasing: + jitterSpread: 0.75 + sharpness: 0.25 + stationaryBlending: 0.95 + motionBlending: 0.85 + subpixelMorphologicalAntialiasing: + quality: 2 + fastApproximateAntialiasing: + fastMode: 0 + keepAlpha: 0 + fog: + enabled: 1 + excludeSkybox: 1 + debugLayer: + lightMeter: + width: 512 + height: 256 + showCurves: 1 + histogram: + width: 512 + height: 256 + channel: 3 + waveform: + exposure: 0.12 + height: 256 + vectorscope: + size: 256 + exposure: 0.12 + overlaySettings: + linearDepth: 0 + motionColorIntensity: 4 + motionGridSize: 64 + colorBlindnessType: 0 + colorBlindnessStrength: 1 + m_Resources: {fileID: 11400000, guid: d82512f9c8e5d4a4d938b575d47f88d4, type: 2} + m_ShowToolkit: 0 + m_ShowCustomSorter: 0 + breakBeforeColorGrading: 0 + m_BeforeTransparentBundles: [] + m_BeforeStackBundles: [] + m_AfterStackBundles: [] +--- !u!4 &1651685763 stripped +Transform: + m_CorrespondingSourceObject: {fileID: 400000, guid: 72d1fefa50b279f42aac808505d738cf, + type: 3} + m_PrefabInstance: {fileID: 1956074339} + m_PrefabAsset: {fileID: 0} +--- !u!1001 &1831175044 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 4902972101965582961, guid: dedfba01424b93148b3d9a42e95ed2f7, + type: 3} + propertyPath: m_AnchorMax.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4902972101965582961, guid: dedfba01424b93148b3d9a42e95ed2f7, + type: 3} + propertyPath: m_AnchorMax.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4902972101965582961, guid: dedfba01424b93148b3d9a42e95ed2f7, + type: 3} + propertyPath: m_AnchorMin.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 5530545822358587122, guid: dedfba01424b93148b3d9a42e95ed2f7, + type: 3} + propertyPath: m_AnchorMax.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 5530545822358587122, guid: dedfba01424b93148b3d9a42e95ed2f7, + type: 3} + propertyPath: m_AnchorMax.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 5530545822358587122, guid: dedfba01424b93148b3d9a42e95ed2f7, + type: 3} + propertyPath: m_AnchorMin.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 5530545822544342663, guid: dedfba01424b93148b3d9a42e95ed2f7, + type: 3} + propertyPath: m_Pivot.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 5530545822544342663, guid: dedfba01424b93148b3d9a42e95ed2f7, + type: 3} + propertyPath: m_Pivot.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 5530545822544342663, guid: dedfba01424b93148b3d9a42e95ed2f7, + type: 3} + propertyPath: m_RootOrder + value: 7 + objectReference: {fileID: 0} + - target: {fileID: 5530545822544342663, guid: dedfba01424b93148b3d9a42e95ed2f7, + type: 3} + propertyPath: m_AnchorMax.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 5530545822544342663, guid: dedfba01424b93148b3d9a42e95ed2f7, + type: 3} + propertyPath: m_AnchorMax.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 5530545822544342663, guid: dedfba01424b93148b3d9a42e95ed2f7, + type: 3} + propertyPath: m_AnchorMin.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 5530545822544342663, guid: dedfba01424b93148b3d9a42e95ed2f7, + type: 3} + propertyPath: m_AnchorMin.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 5530545822544342663, guid: dedfba01424b93148b3d9a42e95ed2f7, + type: 3} + propertyPath: m_SizeDelta.x + value: 400 + objectReference: {fileID: 0} + - target: {fileID: 5530545822544342663, guid: dedfba01424b93148b3d9a42e95ed2f7, + type: 3} + propertyPath: m_SizeDelta.y + value: 500 + objectReference: {fileID: 0} + - target: {fileID: 5530545822544342663, guid: dedfba01424b93148b3d9a42e95ed2f7, + type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 5530545822544342663, guid: dedfba01424b93148b3d9a42e95ed2f7, + type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 5530545822544342663, guid: dedfba01424b93148b3d9a42e95ed2f7, + type: 3} + propertyPath: m_LocalPosition.z + value: -9.24 + objectReference: {fileID: 0} + - target: {fileID: 5530545822544342663, guid: dedfba01424b93148b3d9a42e95ed2f7, + type: 3} + propertyPath: m_LocalRotation.w + value: 0.7071074 + objectReference: {fileID: 0} + - target: {fileID: 5530545822544342663, guid: dedfba01424b93148b3d9a42e95ed2f7, + type: 3} + propertyPath: m_LocalRotation.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 5530545822544342663, guid: dedfba01424b93148b3d9a42e95ed2f7, + type: 3} + propertyPath: m_LocalRotation.y + value: -0.7071062 + objectReference: {fileID: 0} + - target: {fileID: 5530545822544342663, guid: dedfba01424b93148b3d9a42e95ed2f7, + type: 3} + propertyPath: m_LocalRotation.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 5530545822544342663, guid: dedfba01424b93148b3d9a42e95ed2f7, + type: 3} + propertyPath: m_AnchoredPosition.x + value: -2.88 + objectReference: {fileID: 0} + - target: {fileID: 5530545822544342663, guid: dedfba01424b93148b3d9a42e95ed2f7, + type: 3} + propertyPath: m_AnchoredPosition.y + value: -0.768 + objectReference: {fileID: 0} + - target: {fileID: 5530545822544342663, guid: dedfba01424b93148b3d9a42e95ed2f7, + type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 5530545822544342663, guid: dedfba01424b93148b3d9a42e95ed2f7, + type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: -90.00001 + objectReference: {fileID: 0} + - target: {fileID: 5530545822544342663, guid: dedfba01424b93148b3d9a42e95ed2f7, + type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 5530545822544342665, guid: dedfba01424b93148b3d9a42e95ed2f7, + type: 3} + propertyPath: m_Name + value: VRSL-LocalUIControlPanel + objectReference: {fileID: 0} + - target: {fileID: 5530545822544342666, guid: dedfba01424b93148b3d9a42e95ed2f7, + type: 3} + propertyPath: serializedProgramAsset + value: + objectReference: {fileID: 11400000, guid: c7d284f0cee3ab2499e5263091ea28d5, + type: 2} + - target: {fileID: 5530545822544342666, guid: dedfba01424b93148b3d9a42e95ed2f7, + type: 3} + propertyPath: serializedPublicVariablesBytesString + value: Ai8AAAAAATIAAABWAFIAQwAuAFUAZABvAG4ALgBDAG8AbQBtAG8AbgAuAFUAZABvAG4AVgBhAHIAaQBhAGIAbABlAFQAYQBiAGwAZQAsACAAVgBSAEMALgBVAGQAbwBuAC4AQwBvAG0AbQBvAG4AAAAAAAYBAAAAAAAAACcBBAAAAHQAeQBwAGUAAWgAAABTAHkAcwB0AGUAbQAuAEMAbwBsAGwAZQBjAHQAaQBvAG4AcwAuAEcAZQBuAGUAcgBpAGMALgBMAGkAcwB0AGAAMQBbAFsAVgBSAEMALgBVAGQAbwBuAC4AQwBvAG0AbQBvAG4ALgBJAG4AdABlAHIAZgBhAGMAZQBzAC4ASQBVAGQAbwBuAFYAYQByAGkAYQBiAGwAZQAsACAAVgBSAEMALgBVAGQAbwBuAC4AQwBvAG0AbQBvAG4AXQBdACwAIABtAHMAYwBvAHIAbABpAGIAAQEJAAAAVgBhAHIAaQBhAGIAbABlAHMALwEAAAABaAAAAFMAeQBzAHQAZQBtAC4AQwBvAGwAbABlAGMAdABpAG8AbgBzAC4ARwBlAG4AZQByAGkAYwAuAEwAaQBzAHQAYAAxAFsAWwBWAFIAQwAuAFUAZABvAG4ALgBDAG8AbQBtAG8AbgAuAEkAbgB0AGUAcgBmAGEAYwBlAHMALgBJAFUAZABvAG4AVgBhAHIAaQBhAGIAbABlACwAIABWAFIAQwAuAFUAZABvAG4ALgBDAG8AbQBtAG8AbgBdAF0ALAAgAG0AcwBjAG8AcgBsAGkAYgABAAAABgIAAAAAAAAAAi8CAAAAAUsAAABWAFIAQwAuAFUAZABvAG4ALgBDAG8AbQBtAG8AbgAuAFUAZABvAG4AVgBhAHIAaQBhAGIAbABlAGAAMQBbAFsAUwB5AHMAdABlAG0ALgBCAG8AbwBsAGUAYQBuACwAIABtAHMAYwBvAHIAbABpAGIAXQBdACwAIABWAFIAQwAuAFUAZABvAG4ALgBDAG8AbQBtAG8AbgACAAAABgIAAAAAAAAAJwEEAAAAdAB5AHAAZQABFwAAAFMAeQBzAHQAZQBtAC4AUwB0AHIAaQBuAGcALAAgAG0AcwBjAG8AcgBsAGkAYgAnAQoAAABTAHkAbQBiAG8AbABOAGEAbQBlAAErAAAAXwBfAF8AVQBkAG8AbgBTAGgAYQByAHAAQgBlAGgAYQB2AGkAbwB1AHIASABhAHMARABvAG4AZQBTAGMAZQBuAGUAVQBwAGcAcgBhAGQAZQBfAF8AXwAnAQQAAAB0AHkAcABlAAEYAAAAUwB5AHMAdABlAG0ALgBCAG8AbwBsAGUAYQBuACwAIABtAHMAYwBvAHIAbABpAGIAKwEFAAAAVgBhAGwAdQBlAAEHBQIvAwAAAAFJAAAAVgBSAEMALgBVAGQAbwBuAC4AQwBvAG0AbQBvAG4ALgBVAGQAbwBuAFYAYQByAGkAYQBiAGwAZQBgADEAWwBbAFMAeQBzAHQAZQBtAC4ASQBuAHQAMwAyACwAIABtAHMAYwBvAHIAbABpAGIAXQBdACwAIABWAFIAQwAuAFUAZABvAG4ALgBDAG8AbQBtAG8AbgADAAAABgIAAAAAAAAAJwEEAAAAdAB5AHAAZQABFwAAAFMAeQBzAHQAZQBtAC4AUwB0AHIAaQBuAGcALAAgAG0AcwBjAG8AcgBsAGkAYgAnAQoAAABTAHkAbQBiAG8AbABOAGEAbQBlAAEfAAAAXwBfAF8AVQBkAG8AbgBTAGgAYQByAHAAQgBlAGgAYQB2AGkAbwB1AHIAVgBlAHIAcwBpAG8AbgBfAF8AXwAnAQQAAAB0AHkAcABlAAEWAAAAUwB5AHMAdABlAG0ALgBJAG4AdAAzADIALAAgAG0AcwBjAG8AcgBsAGkAYgAXAQUAAABWAGEAbAB1AGUAAgAAAAcFBwUHBQ== + objectReference: {fileID: 0} + - target: {fileID: 5530545822544342666, guid: dedfba01424b93148b3d9a42e95ed2f7, + type: 3} + propertyPath: publicVariablesUnityEngineObjects.Array.size + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 5530545822544342666, guid: dedfba01424b93148b3d9a42e95ed2f7, + type: 3} + propertyPath: publicVariablesUnityEngineObjects.Array.data[99] + value: + objectReference: {fileID: 8600000, guid: f51fa799ef0abde489235f40fc0328ef, type: 2} + - target: {fileID: 5530545822544342666, guid: dedfba01424b93148b3d9a42e95ed2f7, + type: 3} + propertyPath: publicVariablesUnityEngineObjects.Array.data[100] + value: + objectReference: {fileID: 8600000, guid: a4ea854836fbd3747b614c334c0182d8, type: 2} + - target: {fileID: 5530545822544342666, guid: dedfba01424b93148b3d9a42e95ed2f7, + type: 3} + propertyPath: publicVariablesUnityEngineObjects.Array.data[101] + value: + objectReference: {fileID: 8600000, guid: 57481ad1fad57a247b2754e1469292a9, type: 2} + - target: {fileID: 5530545822544342666, guid: dedfba01424b93148b3d9a42e95ed2f7, + type: 3} + propertyPath: publicVariablesUnityEngineObjects.Array.data[102] + value: + objectReference: {fileID: 8600000, guid: 5225295a38260644c99eb0aebf544ec8, type: 2} + - target: {fileID: 5530545822544342666, guid: dedfba01424b93148b3d9a42e95ed2f7, + type: 3} + propertyPath: publicVariablesUnityEngineObjects.Array.data[103] + value: + objectReference: {fileID: 8600000, guid: 7d9e75ad34a1ba34db218840cb76100e, type: 2} + - target: {fileID: 5530545822544342666, guid: dedfba01424b93148b3d9a42e95ed2f7, + type: 3} + propertyPath: publicVariablesUnityEngineObjects.Array.data[104] + value: + objectReference: {fileID: 8600000, guid: fbbd57abbf5ece54c9996e59beb3dac1, type: 2} + - target: {fileID: 5530545822544342666, guid: dedfba01424b93148b3d9a42e95ed2f7, + type: 3} + propertyPath: publicVariablesUnityEngineObjects.Array.data[105] + value: + objectReference: {fileID: 8600000, guid: 2db39b03bdcb2124aaba3db138dd0754, type: 2} + - target: {fileID: 5530545822544342666, guid: dedfba01424b93148b3d9a42e95ed2f7, + type: 3} + propertyPath: publicVariablesUnityEngineObjects.Array.data[106] + value: + objectReference: {fileID: 8600000, guid: 3d0e5498d25faf34999f530603c36e4d, type: 2} + - target: {fileID: 5530545822544342666, guid: dedfba01424b93148b3d9a42e95ed2f7, + type: 3} + propertyPath: publicVariablesUnityEngineObjects.Array.data[107] + value: + objectReference: {fileID: 8600000, guid: d8d7d540bd7f30c4b845dcca7a985f31, type: 2} + - target: {fileID: 5530545822544342666, guid: dedfba01424b93148b3d9a42e95ed2f7, + type: 3} + propertyPath: publicVariablesUnityEngineObjects.Array.data[108] + value: + objectReference: {fileID: 8600000, guid: d4c740f9462f25d4a9d1cc2063318a5f, type: 2} + - target: {fileID: 5530545822544342666, guid: dedfba01424b93148b3d9a42e95ed2f7, + type: 3} + propertyPath: publicVariablesUnityEngineObjects.Array.data[109] + value: + objectReference: {fileID: 8600000, guid: 3bcce6f0fa9c3d4499ca3015b073785e, type: 2} + - target: {fileID: 5530545822544342666, guid: dedfba01424b93148b3d9a42e95ed2f7, + type: 3} + propertyPath: publicVariablesUnityEngineObjects.Array.data[110] + value: + objectReference: {fileID: 8600000, guid: 85ba02ef33f4e4c4a94d9085f48ec5c1, type: 2} + - target: {fileID: 5530545822544342666, guid: dedfba01424b93148b3d9a42e95ed2f7, + type: 3} + propertyPath: publicVariablesUnityEngineObjects.Array.data[111] + value: + objectReference: {fileID: 8600000, guid: 6e9260e8140b1ea4a97d6cc9a137efca, type: 2} + - target: {fileID: 5530545822544342666, guid: dedfba01424b93148b3d9a42e95ed2f7, + type: 3} + propertyPath: publicVariablesUnityEngineObjects.Array.data[112] + value: + objectReference: {fileID: 8600000, guid: a0e2ea8d6ec133f4fb7ad6f74d904820, type: 2} + - target: {fileID: 5530545822595038121, guid: dedfba01424b93148b3d9a42e95ed2f7, + type: 3} + propertyPath: m_AnchorMax.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 5530545822595038121, guid: dedfba01424b93148b3d9a42e95ed2f7, + type: 3} + propertyPath: m_AnchorMax.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 5530545822595038121, guid: dedfba01424b93148b3d9a42e95ed2f7, + type: 3} + propertyPath: m_AnchorMin.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 5530545822723908163, guid: dedfba01424b93148b3d9a42e95ed2f7, + type: 3} + propertyPath: m_AnchorMax.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 5530545822723908163, guid: dedfba01424b93148b3d9a42e95ed2f7, + type: 3} + propertyPath: m_AnchorMax.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 5530545823173404594, guid: dedfba01424b93148b3d9a42e95ed2f7, + type: 3} + propertyPath: m_AnchorMax.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 5530545823173404594, guid: dedfba01424b93148b3d9a42e95ed2f7, + type: 3} + propertyPath: m_AnchorMax.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 5530545823173404594, guid: dedfba01424b93148b3d9a42e95ed2f7, + type: 3} + propertyPath: m_AnchorMin.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 5530545823210658692, guid: dedfba01424b93148b3d9a42e95ed2f7, + type: 3} + propertyPath: m_AnchorMax.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 5530545823210658692, guid: dedfba01424b93148b3d9a42e95ed2f7, + type: 3} + propertyPath: m_AnchorMax.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 5530545823249006840, guid: dedfba01424b93148b3d9a42e95ed2f7, + type: 3} + propertyPath: m_AnchorMax.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 5530545823249006840, guid: dedfba01424b93148b3d9a42e95ed2f7, + type: 3} + propertyPath: m_AnchorMax.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 5530545823462420864, guid: dedfba01424b93148b3d9a42e95ed2f7, + type: 3} + propertyPath: m_AnchorMax.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 5530545823462420864, guid: dedfba01424b93148b3d9a42e95ed2f7, + type: 3} + propertyPath: m_AnchorMax.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 5530545823462420864, guid: dedfba01424b93148b3d9a42e95ed2f7, + type: 3} + propertyPath: m_AnchorMin.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 5530545823620051457, guid: dedfba01424b93148b3d9a42e95ed2f7, + type: 3} + propertyPath: m_AnchorMax.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 5530545823620051457, guid: dedfba01424b93148b3d9a42e95ed2f7, + type: 3} + propertyPath: m_AnchorMax.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 5530545823620051457, guid: dedfba01424b93148b3d9a42e95ed2f7, + type: 3} + propertyPath: m_AnchorMin.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 5530545823922234378, guid: dedfba01424b93148b3d9a42e95ed2f7, + type: 3} + propertyPath: m_AnchorMax.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 5530545823922234378, guid: dedfba01424b93148b3d9a42e95ed2f7, + type: 3} + propertyPath: m_AnchorMax.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 5530545824006130772, guid: dedfba01424b93148b3d9a42e95ed2f7, + type: 3} + propertyPath: m_AnchorMax.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 5530545824006130772, guid: dedfba01424b93148b3d9a42e95ed2f7, + type: 3} + propertyPath: m_AnchorMax.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 5530545824044143973, guid: dedfba01424b93148b3d9a42e95ed2f7, + type: 3} + propertyPath: m_AnchorMax.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 5530545824044143973, guid: dedfba01424b93148b3d9a42e95ed2f7, + type: 3} + propertyPath: m_AnchorMax.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 5530545824044143973, guid: dedfba01424b93148b3d9a42e95ed2f7, + type: 3} + propertyPath: m_AnchorMin.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 5530545824087885516, guid: dedfba01424b93148b3d9a42e95ed2f7, + type: 3} + propertyPath: m_AnchorMax.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 5530545824087885516, guid: dedfba01424b93148b3d9a42e95ed2f7, + type: 3} + propertyPath: m_AnchorMax.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 5595631434132784427, guid: dedfba01424b93148b3d9a42e95ed2f7, + type: 3} + propertyPath: fixtureGizmos + value: 2 + objectReference: {fileID: 0} + - target: {fileID: 5595631434132784427, guid: dedfba01424b93148b3d9a42e95ed2f7, + type: 3} + propertyPath: panRangeTarget + value: 180 + objectReference: {fileID: 0} + - target: {fileID: 5595631434132784427, guid: dedfba01424b93148b3d9a42e95ed2f7, + type: 3} + propertyPath: tiltRangeTarget + value: -180 + objectReference: {fileID: 0} + - target: {fileID: 5595631434132784427, guid: dedfba01424b93148b3d9a42e95ed2f7, + type: 3} + propertyPath: _volumetricNoise + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 5595631434132784427, guid: dedfba01424b93148b3d9a42e95ed2f7, + type: 3} + propertyPath: isUsingAudioLink + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 5595631434132784427, guid: dedfba01424b93148b3d9a42e95ed2f7, + type: 3} + propertyPath: _requireDepthLight + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 5595631434132784427, guid: dedfba01424b93148b3d9a42e95ed2f7, + type: 3} + propertyPath: serializationData.Prefab + value: + objectReference: {fileID: 5595631434132784427, guid: dedfba01424b93148b3d9a42e95ed2f7, + type: 3} + - target: {fileID: 8192770596087319596, guid: dedfba01424b93148b3d9a42e95ed2f7, + type: 3} + propertyPath: m_AnchorMax.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8192770596087319596, guid: dedfba01424b93148b3d9a42e95ed2f7, + type: 3} + propertyPath: m_AnchorMax.y + value: 0 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: dedfba01424b93148b3d9a42e95ed2f7, type: 3} +--- !u!1001 &1834497811 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: -5041995022078526395, guid: e62fe963d8da32147bbd2f1caa73a0de, + type: 3} + propertyPath: serializationData.Prefab + value: + objectReference: {fileID: -5041995022078526395, guid: e62fe963d8da32147bbd2f1caa73a0de, + type: 3} + - target: {fileID: -2652767293455950171, guid: e62fe963d8da32147bbd2f1caa73a0de, + type: 3} + propertyPath: serializationData.Prefab + value: + objectReference: {fileID: -2652767293455950171, guid: e62fe963d8da32147bbd2f1caa73a0de, + type: 3} + - target: {fileID: -2082587589316884831, guid: e62fe963d8da32147bbd2f1caa73a0de, + type: 3} + propertyPath: serializationData.Prefab + value: + objectReference: {fileID: -2082587589316884831, guid: e62fe963d8da32147bbd2f1caa73a0de, + type: 3} + - target: {fileID: 35167178996088452, guid: e62fe963d8da32147bbd2f1caa73a0de, + type: 3} + propertyPath: serializationData.Prefab + value: + objectReference: {fileID: 35167178996088452, guid: e62fe963d8da32147bbd2f1caa73a0de, + type: 3} + - target: {fileID: 826414009807335375, guid: e62fe963d8da32147bbd2f1caa73a0de, + type: 3} + propertyPath: serializationData.Prefab + value: + objectReference: {fileID: 826414009807335375, guid: e62fe963d8da32147bbd2f1caa73a0de, + type: 3} + - target: {fileID: 2043138371986240926, guid: e62fe963d8da32147bbd2f1caa73a0de, + type: 3} + propertyPath: m_Name + value: VRSL-DMX-USharpVideoReaderScreen-Horizontal + objectReference: {fileID: 0} + - target: {fileID: 2043138371986240927, guid: e62fe963d8da32147bbd2f1caa73a0de, + type: 3} + propertyPath: m_RootOrder + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 2043138371986240927, guid: e62fe963d8da32147bbd2f1caa73a0de, + type: 3} + propertyPath: m_LocalPosition.x + value: -0.52 + objectReference: {fileID: 0} + - target: {fileID: 2043138371986240927, guid: e62fe963d8da32147bbd2f1caa73a0de, + type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2043138371986240927, guid: e62fe963d8da32147bbd2f1caa73a0de, + type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2043138371986240927, guid: e62fe963d8da32147bbd2f1caa73a0de, + type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 2043138371986240927, guid: e62fe963d8da32147bbd2f1caa73a0de, + type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2043138371986240927, guid: e62fe963d8da32147bbd2f1caa73a0de, + type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2043138371986240927, guid: e62fe963d8da32147bbd2f1caa73a0de, + type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2043138371986240927, guid: e62fe963d8da32147bbd2f1caa73a0de, + type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2043138371986240927, guid: e62fe963d8da32147bbd2f1caa73a0de, + type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2043138371986240927, guid: e62fe963d8da32147bbd2f1caa73a0de, + type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3995354970895409517, guid: e62fe963d8da32147bbd2f1caa73a0de, + type: 3} + propertyPath: serializationData.Prefab + value: + objectReference: {fileID: 3995354970895409517, guid: e62fe963d8da32147bbd2f1caa73a0de, + type: 3} + - target: {fileID: 4438015852488867569, guid: e62fe963d8da32147bbd2f1caa73a0de, + type: 3} + propertyPath: serializationData.Prefab + value: + objectReference: {fileID: 4438015852488867569, guid: e62fe963d8da32147bbd2f1caa73a0de, + type: 3} + - target: {fileID: 4992203417749681999, guid: e62fe963d8da32147bbd2f1caa73a0de, + type: 3} + propertyPath: m_AnchorMax.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4992203417749681999, guid: e62fe963d8da32147bbd2f1caa73a0de, + type: 3} + propertyPath: m_AnchorMax.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4992203417916025072, guid: e62fe963d8da32147bbd2f1caa73a0de, + type: 3} + propertyPath: m_AnchorMax.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4992203418069016646, guid: e62fe963d8da32147bbd2f1caa73a0de, + type: 3} + propertyPath: serializedProgramAsset + value: + objectReference: {fileID: 11400000, guid: 456103f41f1e4cb4ab4b80a803ca0bbc, + type: 2} + - target: {fileID: 4992203418086429551, guid: e62fe963d8da32147bbd2f1caa73a0de, + type: 3} + propertyPath: m_RootOrder + value: 2 + objectReference: {fileID: 0} + - target: {fileID: 4992203418158270554, guid: e62fe963d8da32147bbd2f1caa73a0de, + type: 3} + propertyPath: serializedProgramAsset + value: + objectReference: {fileID: 11400000, guid: d492192d08a8b7c4885a80b529468bb3, + type: 2} + - target: {fileID: 4992203418226733798, guid: e62fe963d8da32147bbd2f1caa73a0de, + type: 3} + propertyPath: m_RootOrder + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 4992203418305090348, guid: e62fe963d8da32147bbd2f1caa73a0de, + type: 3} + propertyPath: m_Volume + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 4992203418465673964, guid: e62fe963d8da32147bbd2f1caa73a0de, + type: 3} + propertyPath: serializedProgramAsset + value: + objectReference: {fileID: 11400000, guid: ea21a8cb7ff5eb942b89164a19a5a0df, + type: 2} + - target: {fileID: 4992203418610976936, guid: e62fe963d8da32147bbd2f1caa73a0de, + type: 3} + propertyPath: m_Volume + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 4992203418692253458, guid: e62fe963d8da32147bbd2f1caa73a0de, + type: 3} + propertyPath: m_Value + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 4992203418748546909, guid: e62fe963d8da32147bbd2f1caa73a0de, + type: 3} + propertyPath: serializedProgramAsset + value: + objectReference: {fileID: 11400000, guid: 9ab8b0e2768740c409513717b3be8eb8, + type: 2} + - target: {fileID: 4992203418949499070, guid: e62fe963d8da32147bbd2f1caa73a0de, + type: 3} + propertyPath: serializedProgramAsset + value: + objectReference: {fileID: 11400000, guid: 8729bf0445f5dbd43be32b8809d545d4, + type: 2} + - target: {fileID: 4992203419095993820, guid: e62fe963d8da32147bbd2f1caa73a0de, + type: 3} + propertyPath: m_Volume + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 4992203419139300659, guid: e62fe963d8da32147bbd2f1caa73a0de, + type: 3} + propertyPath: serializedProgramAsset + value: + objectReference: {fileID: 11400000, guid: 894f1c525d6e8cf4f8ce136f271e767a, + type: 2} + - target: {fileID: 4992203419533827017, guid: e62fe963d8da32147bbd2f1caa73a0de, + type: 3} + propertyPath: m_AnchorMax.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4992203419533827017, guid: e62fe963d8da32147bbd2f1caa73a0de, + type: 3} + propertyPath: m_AnchorMax.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4992203419533827017, guid: e62fe963d8da32147bbd2f1caa73a0de, + type: 3} + propertyPath: m_AnchorMin.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4992203419629713059, guid: e62fe963d8da32147bbd2f1caa73a0de, + type: 3} + propertyPath: m_AnchorMax.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7078338258694360640, guid: e62fe963d8da32147bbd2f1caa73a0de, + type: 3} + propertyPath: serializationData.Prefab + value: + objectReference: {fileID: 7078338258694360640, guid: e62fe963d8da32147bbd2f1caa73a0de, + type: 3} + - target: {fileID: 7541042297017883632, guid: e62fe963d8da32147bbd2f1caa73a0de, + type: 3} + propertyPath: defaultVolume + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 7541042297017883632, guid: e62fe963d8da32147bbd2f1caa73a0de, + type: 3} + propertyPath: serializationData.Prefab + value: + objectReference: {fileID: 7541042297017883632, guid: e62fe963d8da32147bbd2f1caa73a0de, + type: 3} + - target: {fileID: 7541042297017883632, guid: e62fe963d8da32147bbd2f1caa73a0de, + type: 3} + propertyPath: playlist.Array.data[0].url + value: https://youtu.be/YHRuWvx0Hho + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: e62fe963d8da32147bbd2f1caa73a0de, type: 3} +--- !u!1 &1948513935 stripped +GameObject: + m_CorrespondingSourceObject: {fileID: 4992203418949499068, guid: e62fe963d8da32147bbd2f1caa73a0de, + type: 3} + m_PrefabInstance: {fileID: 1834497811} + m_PrefabAsset: {fileID: 0} +--- !u!1001 &1956074339 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 100000, guid: 72d1fefa50b279f42aac808505d738cf, type: 3} + propertyPath: m_Name + value: Enviorment + objectReference: {fileID: 0} + - target: {fileID: 100000, guid: 72d1fefa50b279f42aac808505d738cf, type: 3} + propertyPath: m_IsActive + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 100000, guid: 72d1fefa50b279f42aac808505d738cf, type: 3} + propertyPath: m_StaticEditorFlags + value: 4294967295 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 72d1fefa50b279f42aac808505d738cf, type: 3} + propertyPath: m_RootOrder + value: 5 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 72d1fefa50b279f42aac808505d738cf, type: 3} + propertyPath: m_LocalScale.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 72d1fefa50b279f42aac808505d738cf, type: 3} + propertyPath: m_LocalScale.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 72d1fefa50b279f42aac808505d738cf, type: 3} + propertyPath: m_LocalScale.z + value: 0.91846585 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 72d1fefa50b279f42aac808505d738cf, type: 3} + propertyPath: m_LocalPosition.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 72d1fefa50b279f42aac808505d738cf, type: 3} + propertyPath: m_LocalPosition.y + value: -1.44 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 72d1fefa50b279f42aac808505d738cf, type: 3} + propertyPath: m_LocalPosition.z + value: -1.03 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 72d1fefa50b279f42aac808505d738cf, type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 72d1fefa50b279f42aac808505d738cf, type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 72d1fefa50b279f42aac808505d738cf, type: 3} + propertyPath: m_LocalRotation.y + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 72d1fefa50b279f42aac808505d738cf, type: 3} + propertyPath: m_LocalRotation.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 72d1fefa50b279f42aac808505d738cf, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 72d1fefa50b279f42aac808505d738cf, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 72d1fefa50b279f42aac808505d738cf, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 72d1fefa50b279f42aac808505d738cf, type: 3} +--- !u!1 &1956074340 stripped +GameObject: + m_CorrespondingSourceObject: {fileID: 100000, guid: 72d1fefa50b279f42aac808505d738cf, + type: 3} + m_PrefabInstance: {fileID: 1956074339} + m_PrefabAsset: {fileID: 0} +--- !u!64 &1956074341 +MeshCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1956074340} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 4 + m_Convex: 0 + m_CookingOptions: 30 + m_Mesh: {fileID: 4300000, guid: 72d1fefa50b279f42aac808505d738cf, type: 3} +--- !u!1001 &1972317257 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 1055321711490392694, guid: 8894fa7e4588a5c4fab98453e558847d, + type: 3} + propertyPath: blueprintId + value: wrld_bcbdd732-d864-4571-b60b-692385281c50 + objectReference: {fileID: 0} + - target: {fileID: 1094421957795580606, guid: 8894fa7e4588a5c4fab98453e558847d, + type: 3} + propertyPath: m_RootOrder + value: 6 + objectReference: {fileID: 0} + - target: {fileID: 1094421957795580606, guid: 8894fa7e4588a5c4fab98453e558847d, + type: 3} + propertyPath: m_LocalPosition.x + value: -0.67 + objectReference: {fileID: 0} + - target: {fileID: 1094421957795580606, guid: 8894fa7e4588a5c4fab98453e558847d, + type: 3} + propertyPath: m_LocalPosition.y + value: 0.11 + objectReference: {fileID: 0} + - target: {fileID: 1094421957795580606, guid: 8894fa7e4588a5c4fab98453e558847d, + type: 3} + propertyPath: m_LocalPosition.z + value: -8.82 + objectReference: {fileID: 0} + - target: {fileID: 1094421957795580606, guid: 8894fa7e4588a5c4fab98453e558847d, + type: 3} + propertyPath: m_LocalRotation.w + value: 0.70710784 + objectReference: {fileID: 0} + - target: {fileID: 1094421957795580606, guid: 8894fa7e4588a5c4fab98453e558847d, + type: 3} + propertyPath: m_LocalRotation.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 1094421957795580606, guid: 8894fa7e4588a5c4fab98453e558847d, + type: 3} + propertyPath: m_LocalRotation.y + value: -0.70710576 + objectReference: {fileID: 0} + - target: {fileID: 1094421957795580606, guid: 8894fa7e4588a5c4fab98453e558847d, + type: 3} + propertyPath: m_LocalRotation.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 1094421957795580606, guid: 8894fa7e4588a5c4fab98453e558847d, + type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1094421957795580606, guid: 8894fa7e4588a5c4fab98453e558847d, + type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: -90.00001 + objectReference: {fileID: 0} + - target: {fileID: 1094421957795580606, guid: 8894fa7e4588a5c4fab98453e558847d, + type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1094421957795851142, guid: 8894fa7e4588a5c4fab98453e558847d, + type: 3} + propertyPath: m_Name + value: VRCWorld + objectReference: {fileID: 0} + - target: {fileID: 1415578911040940289, guid: 8894fa7e4588a5c4fab98453e558847d, + type: 3} + propertyPath: serializedProgramAsset + value: + objectReference: {fileID: 11400000, guid: 890a38ab48856e8459a67943666d92ff, + type: 2} + - target: {fileID: 6759095419728963412, guid: 8894fa7e4588a5c4fab98453e558847d, + type: 3} + propertyPath: unityVersion + value: 2019.4.31f1 + objectReference: {fileID: 0} + - target: {fileID: 6759095419728963412, guid: 8894fa7e4588a5c4fab98453e558847d, + type: 3} + propertyPath: ReferenceCamera + value: + objectReference: {fileID: 1628348108} + - target: {fileID: 6759095419728963412, guid: 8894fa7e4588a5c4fab98453e558847d, + type: 3} + propertyPath: NetworkIDs.Array.size + value: 11 + objectReference: {fileID: 0} + - target: {fileID: 6759095419728963412, guid: 8894fa7e4588a5c4fab98453e558847d, + type: 3} + propertyPath: DynamicMaterials.Array.size + value: 5 + objectReference: {fileID: 0} + - target: {fileID: 6759095419728963412, guid: 8894fa7e4588a5c4fab98453e558847d, + type: 3} + propertyPath: NetworkIDs.Array.data[0].ID + value: 10 + objectReference: {fileID: 0} + - target: {fileID: 6759095419728963412, guid: 8894fa7e4588a5c4fab98453e558847d, + type: 3} + propertyPath: NetworkIDs.Array.data[1].ID + value: 11 + objectReference: {fileID: 0} + - target: {fileID: 6759095419728963412, guid: 8894fa7e4588a5c4fab98453e558847d, + type: 3} + propertyPath: NetworkIDs.Array.data[2].ID + value: 12 + objectReference: {fileID: 0} + - target: {fileID: 6759095419728963412, guid: 8894fa7e4588a5c4fab98453e558847d, + type: 3} + propertyPath: NetworkIDs.Array.data[3].ID + value: 13 + objectReference: {fileID: 0} + - target: {fileID: 6759095419728963412, guid: 8894fa7e4588a5c4fab98453e558847d, + type: 3} + propertyPath: NetworkIDs.Array.data[4].ID + value: 14 + objectReference: {fileID: 0} + - target: {fileID: 6759095419728963412, guid: 8894fa7e4588a5c4fab98453e558847d, + type: 3} + propertyPath: NetworkIDs.Array.data[5].ID + value: 15 + objectReference: {fileID: 0} + - target: {fileID: 6759095419728963412, guid: 8894fa7e4588a5c4fab98453e558847d, + type: 3} + propertyPath: NetworkIDs.Array.data[6].ID + value: 16 + objectReference: {fileID: 0} + - target: {fileID: 6759095419728963412, guid: 8894fa7e4588a5c4fab98453e558847d, + type: 3} + propertyPath: NetworkIDs.Array.data[7].ID + value: 17 + objectReference: {fileID: 0} + - target: {fileID: 6759095419728963412, guid: 8894fa7e4588a5c4fab98453e558847d, + type: 3} + propertyPath: NetworkIDs.Array.data[8].ID + value: 18 + objectReference: {fileID: 0} + - target: {fileID: 6759095419728963412, guid: 8894fa7e4588a5c4fab98453e558847d, + type: 3} + propertyPath: NetworkIDs.Array.data[9].ID + value: 19 + objectReference: {fileID: 0} + - target: {fileID: 6759095419728963412, guid: 8894fa7e4588a5c4fab98453e558847d, + type: 3} + propertyPath: NetworkIDs.Array.data[10].ID + value: 20 + objectReference: {fileID: 0} + - target: {fileID: 6759095419728963412, guid: 8894fa7e4588a5c4fab98453e558847d, + type: 3} + propertyPath: DynamicMaterials.Array.data[0] + value: + objectReference: {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + - target: {fileID: 6759095419728963412, guid: 8894fa7e4588a5c4fab98453e558847d, + type: 3} + propertyPath: DynamicMaterials.Array.data[1] + value: + objectReference: {fileID: 2100000, guid: d1ceac8b980ef2b44a8de109ba8d1d1b, type: 2} + - target: {fileID: 6759095419728963412, guid: 8894fa7e4588a5c4fab98453e558847d, + type: 3} + propertyPath: DynamicMaterials.Array.data[2] + value: + objectReference: {fileID: 2100000, guid: 7b2c0c650631a8b4cb58542d4b67ebe1, type: 2} + - target: {fileID: 6759095419728963412, guid: 8894fa7e4588a5c4fab98453e558847d, + type: 3} + propertyPath: DynamicMaterials.Array.data[3] + value: + objectReference: {fileID: 2100000, guid: c815f7613a04b724089c206857e57c6a, type: 2} + - target: {fileID: 6759095419728963412, guid: 8894fa7e4588a5c4fab98453e558847d, + type: 3} + propertyPath: DynamicMaterials.Array.data[4] + value: + objectReference: {fileID: 2100000, guid: 9447961a691a86442b89f19afb95c295, type: 2} + - target: {fileID: 6759095419728963412, guid: 8894fa7e4588a5c4fab98453e558847d, + type: 3} + propertyPath: NetworkIDs.Array.data[0].gameObject + value: + objectReference: {fileID: 392552942} + - target: {fileID: 6759095419728963412, guid: 8894fa7e4588a5c4fab98453e558847d, + type: 3} + propertyPath: NetworkIDs.Array.data[1].gameObject + value: + objectReference: {fileID: 1404597358} + - target: {fileID: 6759095419728963412, guid: 8894fa7e4588a5c4fab98453e558847d, + type: 3} + propertyPath: NetworkIDs.Array.data[2].gameObject + value: + objectReference: {fileID: 1982915480} + - target: {fileID: 6759095419728963412, guid: 8894fa7e4588a5c4fab98453e558847d, + type: 3} + propertyPath: NetworkIDs.Array.data[3].gameObject + value: + objectReference: {fileID: 740705392} + - target: {fileID: 6759095419728963412, guid: 8894fa7e4588a5c4fab98453e558847d, + type: 3} + propertyPath: NetworkIDs.Array.data[4].gameObject + value: + objectReference: {fileID: 1289387081} + - target: {fileID: 6759095419728963412, guid: 8894fa7e4588a5c4fab98453e558847d, + type: 3} + propertyPath: NetworkIDs.Array.data[5].gameObject + value: + objectReference: {fileID: 452524673} + - target: {fileID: 6759095419728963412, guid: 8894fa7e4588a5c4fab98453e558847d, + type: 3} + propertyPath: NetworkIDs.Array.data[6].gameObject + value: + objectReference: {fileID: 1484146846} + - target: {fileID: 6759095419728963412, guid: 8894fa7e4588a5c4fab98453e558847d, + type: 3} + propertyPath: NetworkIDs.Array.data[7].gameObject + value: + objectReference: {fileID: 1948513935} + - target: {fileID: 6759095419728963412, guid: 8894fa7e4588a5c4fab98453e558847d, + type: 3} + propertyPath: NetworkIDs.Array.data[8].gameObject + value: + objectReference: {fileID: 1270963954} + - target: {fileID: 6759095419728963412, guid: 8894fa7e4588a5c4fab98453e558847d, + type: 3} + propertyPath: NetworkIDs.Array.data[9].gameObject + value: + objectReference: {fileID: 1319613328} + - target: {fileID: 6759095419728963412, guid: 8894fa7e4588a5c4fab98453e558847d, + type: 3} + propertyPath: NetworkIDs.Array.data[10].gameObject + value: + objectReference: {fileID: 210237233} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 8894fa7e4588a5c4fab98453e558847d, type: 3} +--- !u!1 &1982915480 stripped +GameObject: + m_CorrespondingSourceObject: {fileID: 1147126118795783479, guid: e62fe963d8da32147bbd2f1caa73a0de, + type: 3} + m_PrefabInstance: {fileID: 1834497811} + m_PrefabAsset: {fileID: 0} +--- !u!1001 &2053031298 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 3272158036615796451, guid: 22f276485886ccf44b12574d72998c0a, + type: 3} + propertyPath: m_RootOrder + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3272158036615796451, guid: 22f276485886ccf44b12574d72998c0a, + type: 3} + propertyPath: m_LocalPosition.x + value: 0.11735058 + objectReference: {fileID: 0} + - target: {fileID: 3272158036615796451, guid: 22f276485886ccf44b12574d72998c0a, + type: 3} + propertyPath: m_LocalPosition.y + value: 5.146513 + objectReference: {fileID: 0} + - target: {fileID: 3272158036615796451, guid: 22f276485886ccf44b12574d72998c0a, + type: 3} + propertyPath: m_LocalPosition.z + value: -0.11733389 + objectReference: {fileID: 0} + - target: {fileID: 3272158036615796451, guid: 22f276485886ccf44b12574d72998c0a, + type: 3} + propertyPath: m_LocalRotation.w + value: 0.8965159 + objectReference: {fileID: 0} + - target: {fileID: 3272158036615796451, guid: 22f276485886ccf44b12574d72998c0a, + type: 3} + propertyPath: m_LocalRotation.x + value: 0.22318858 + objectReference: {fileID: 0} + - target: {fileID: 3272158036615796451, guid: 22f276485886ccf44b12574d72998c0a, + type: 3} + propertyPath: m_LocalRotation.y + value: -0.3713483 + objectReference: {fileID: 0} + - target: {fileID: 3272158036615796451, guid: 22f276485886ccf44b12574d72998c0a, + type: 3} + propertyPath: m_LocalRotation.z + value: 0.09244758 + objectReference: {fileID: 0} + - target: {fileID: 3272158036615796451, guid: 22f276485886ccf44b12574d72998c0a, + type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3272158036615796451, guid: 22f276485886ccf44b12574d72998c0a, + type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3272158036615796451, guid: 22f276485886ccf44b12574d72998c0a, + type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4159750364125244593, guid: 22f276485886ccf44b12574d72998c0a, + type: 3} + propertyPath: m_Name + value: PostProcessingExample-Bloom + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 22f276485886ccf44b12574d72998c0a, type: 3} +--- !u!1001 &1590388466837785294 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 1590388465911483937, guid: 8c5b2abb4f158154cad77f35b9ce2643, + type: 3} + propertyPath: m_Name + value: VRSL-DMX-ExampleSurfaceShader-H + objectReference: {fileID: 0} + - target: {fileID: 1590388465911483962, guid: 8c5b2abb4f158154cad77f35b9ce2643, + type: 3} + propertyPath: m_RootOrder + value: 8 + objectReference: {fileID: 0} + - target: {fileID: 1590388465911483962, guid: 8c5b2abb4f158154cad77f35b9ce2643, + type: 3} + propertyPath: m_LocalPosition.x + value: -3.08 + objectReference: {fileID: 0} + - target: {fileID: 1590388465911483962, guid: 8c5b2abb4f158154cad77f35b9ce2643, + type: 3} + propertyPath: m_LocalPosition.y + value: -0.812 + objectReference: {fileID: 0} + - target: {fileID: 1590388465911483962, guid: 8c5b2abb4f158154cad77f35b9ce2643, + type: 3} + propertyPath: m_LocalPosition.z + value: -7.9369993 + objectReference: {fileID: 0} + - target: {fileID: 1590388465911483962, guid: 8c5b2abb4f158154cad77f35b9ce2643, + type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 1590388465911483962, guid: 8c5b2abb4f158154cad77f35b9ce2643, + type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1590388465911483962, guid: 8c5b2abb4f158154cad77f35b9ce2643, + type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1590388465911483962, guid: 8c5b2abb4f158154cad77f35b9ce2643, + type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1590388465911483962, guid: 8c5b2abb4f158154cad77f35b9ce2643, + type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1590388465911483962, guid: 8c5b2abb4f158154cad77f35b9ce2643, + type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1590388465911483962, guid: 8c5b2abb4f158154cad77f35b9ce2643, + type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1590388465911483966, guid: 8c5b2abb4f158154cad77f35b9ce2643, + type: 3} + propertyPath: serializedProgramAsset + value: + objectReference: {fileID: 11400000, guid: 73c0c1abc14a568409919c82ce7846d0, + type: 2} + - target: {fileID: 1590388465911483966, guid: 8c5b2abb4f158154cad77f35b9ce2643, + type: 3} + propertyPath: serializedPublicVariablesBytesString + value: Ai8AAAAAATIAAABWAFIAQwAuAFUAZABvAG4ALgBDAG8AbQBtAG8AbgAuAFUAZABvAG4AVgBhAHIAaQBhAGIAbABlAFQAYQBiAGwAZQAsACAAVgBSAEMALgBVAGQAbwBuAC4AQwBvAG0AbQBvAG4AAAAAAAYBAAAAAAAAACcBBAAAAHQAeQBwAGUAAWgAAABTAHkAcwB0AGUAbQAuAEMAbwBsAGwAZQBjAHQAaQBvAG4AcwAuAEcAZQBuAGUAcgBpAGMALgBMAGkAcwB0AGAAMQBbAFsAVgBSAEMALgBVAGQAbwBuAC4AQwBvAG0AbQBvAG4ALgBJAG4AdABlAHIAZgBhAGMAZQBzAC4ASQBVAGQAbwBuAFYAYQByAGkAYQBiAGwAZQAsACAAVgBSAEMALgBVAGQAbwBuAC4AQwBvAG0AbQBvAG4AXQBdACwAIABtAHMAYwBvAHIAbABpAGIAAQEJAAAAVgBhAHIAaQBhAGIAbABlAHMALwEAAAABaAAAAFMAeQBzAHQAZQBtAC4AQwBvAGwAbABlAGMAdABpAG8AbgBzAC4ARwBlAG4AZQByAGkAYwAuAEwAaQBzAHQAYAAxAFsAWwBWAFIAQwAuAFUAZABvAG4ALgBDAG8AbQBtAG8AbgAuAEkAbgB0AGUAcgBmAGEAYwBlAHMALgBJAFUAZABvAG4AVgBhAHIAaQBhAGIAbABlACwAIABWAFIAQwAuAFUAZABvAG4ALgBDAG8AbQBtAG8AbgBdAF0ALAAgAG0AcwBjAG8AcgBsAGkAYgABAAAABgIAAAAAAAAAAi8CAAAAAUsAAABWAFIAQwAuAFUAZABvAG4ALgBDAG8AbQBtAG8AbgAuAFUAZABvAG4AVgBhAHIAaQBhAGIAbABlAGAAMQBbAFsAUwB5AHMAdABlAG0ALgBCAG8AbwBsAGUAYQBuACwAIABtAHMAYwBvAHIAbABpAGIAXQBdACwAIABWAFIAQwAuAFUAZABvAG4ALgBDAG8AbQBtAG8AbgACAAAABgIAAAAAAAAAJwEEAAAAdAB5AHAAZQABFwAAAFMAeQBzAHQAZQBtAC4AUwB0AHIAaQBuAGcALAAgAG0AcwBjAG8AcgBsAGkAYgAnAQoAAABTAHkAbQBiAG8AbABOAGEAbQBlAAErAAAAXwBfAF8AVQBkAG8AbgBTAGgAYQByAHAAQgBlAGgAYQB2AGkAbwB1AHIASABhAHMARABvAG4AZQBTAGMAZQBuAGUAVQBwAGcAcgBhAGQAZQBfAF8AXwAnAQQAAAB0AHkAcABlAAEYAAAAUwB5AHMAdABlAG0ALgBCAG8AbwBsAGUAYQBuACwAIABtAHMAYwBvAHIAbABpAGIAKwEFAAAAVgBhAGwAdQBlAAEHBQIvAwAAAAFJAAAAVgBSAEMALgBVAGQAbwBuAC4AQwBvAG0AbQBvAG4ALgBVAGQAbwBuAFYAYQByAGkAYQBiAGwAZQBgADEAWwBbAFMAeQBzAHQAZQBtAC4ASQBuAHQAMwAyACwAIABtAHMAYwBvAHIAbABpAGIAXQBdACwAIABWAFIAQwAuAFUAZABvAG4ALgBDAG8AbQBtAG8AbgADAAAABgIAAAAAAAAAJwEEAAAAdAB5AHAAZQABFwAAAFMAeQBzAHQAZQBtAC4AUwB0AHIAaQBuAGcALAAgAG0AcwBjAG8AcgBsAGkAYgAnAQoAAABTAHkAbQBiAG8AbABOAGEAbQBlAAEfAAAAXwBfAF8AVQBkAG8AbgBTAGgAYQByAHAAQgBlAGgAYQB2AGkAbwB1AHIAVgBlAHIAcwBpAG8AbgBfAF8AXwAnAQQAAAB0AHkAcABlAAEWAAAAUwB5AHMAdABlAG0ALgBJAG4AdAAzADIALAAgAG0AcwBjAG8AcgBsAGkAYgAXAQUAAABWAGEAbAB1AGUAAgAAAAcFBwUHBQ== + objectReference: {fileID: 0} + - target: {fileID: 1590388465911483966, guid: 8c5b2abb4f158154cad77f35b9ce2643, + type: 3} + propertyPath: publicVariablesUnityEngineObjects.Array.size + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4904392944439432061, guid: 8c5b2abb4f158154cad77f35b9ce2643, + type: 3} + propertyPath: fixtureID + value: 1100 + objectReference: {fileID: 0} + - target: {fileID: 4904392944439432061, guid: 8c5b2abb4f158154cad77f35b9ce2643, + type: 3} + propertyPath: dmxChannel + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 4904392944439432061, guid: 8c5b2abb4f158154cad77f35b9ce2643, + type: 3} + propertyPath: dmxUniverse + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 4904392944439432061, guid: 8c5b2abb4f158154cad77f35b9ce2643, + type: 3} + propertyPath: globalIntensity + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 4904392944439432061, guid: 8c5b2abb4f158154cad77f35b9ce2643, + type: 3} + propertyPath: serializationData.Prefab + value: + objectReference: {fileID: 4904392944439432061, guid: 8c5b2abb4f158154cad77f35b9ce2643, + type: 3} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 8c5b2abb4f158154cad77f35b9ce2643, type: 3} diff --git a/Packages/com.acchosen.vr-stage-lighting/Runtime/Example Scenes/DMX-AvatarTesting/VRSL-ExampleScene-AvatarTest-InGame (Requires USharpVideo.unity.meta b/Packages/com.acchosen.vr-stage-lighting/Runtime/Example Scenes/DMX-AvatarTesting/VRSL-ExampleScene-AvatarTest-InGame (Requires USharpVideo.unity.meta new file mode 100644 index 0000000..b9dd1e3 --- /dev/null +++ b/Packages/com.acchosen.vr-stage-lighting/Runtime/Example Scenes/DMX-AvatarTesting/VRSL-ExampleScene-AvatarTest-InGame (Requires USharpVideo.unity.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 122298455a54db44f8d80f092be01456 +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/com.acchosen.vr-stage-lighting/Runtime/Example Scenes/DMX-EditorViaOSCScenes/VRSL-ExampleScene-EditorViaOSC-Horizontal.meta b/Packages/com.acchosen.vr-stage-lighting/Runtime/Example Scenes/DMX-EditorViaOSCScenes/VRSL-ExampleScene-EditorViaOSC-Horizontal.meta new file mode 100644 index 0000000..6aa8064 --- /dev/null +++ b/Packages/com.acchosen.vr-stage-lighting/Runtime/Example Scenes/DMX-EditorViaOSCScenes/VRSL-ExampleScene-EditorViaOSC-Horizontal.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 8a6877d47a154a04891dba6e1b403d4a +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/com.acchosen.vr-stage-lighting/Runtime/Example Scenes/DMX-EditorViaOSCScenes/VRSL-ExampleScene-EditorViaOSC-Horizontal/ReflectionProbe-0.exr b/Packages/com.acchosen.vr-stage-lighting/Runtime/Example Scenes/DMX-EditorViaOSCScenes/VRSL-ExampleScene-EditorViaOSC-Horizontal/ReflectionProbe-0.exr new file mode 100644 index 0000000..62e8541 Binary files /dev/null and b/Packages/com.acchosen.vr-stage-lighting/Runtime/Example Scenes/DMX-EditorViaOSCScenes/VRSL-ExampleScene-EditorViaOSC-Horizontal/ReflectionProbe-0.exr differ diff --git a/Packages/com.acchosen.vr-stage-lighting/Runtime/Example Scenes/DMX-EditorViaOSCScenes/VRSL-ExampleScene-EditorViaOSC-Horizontal/ReflectionProbe-0.exr.meta b/Packages/com.acchosen.vr-stage-lighting/Runtime/Example Scenes/DMX-EditorViaOSCScenes/VRSL-ExampleScene-EditorViaOSC-Horizontal/ReflectionProbe-0.exr.meta new file mode 100644 index 0000000..79bbd5b --- /dev/null +++ b/Packages/com.acchosen.vr-stage-lighting/Runtime/Example Scenes/DMX-EditorViaOSCScenes/VRSL-ExampleScene-EditorViaOSC-Horizontal/ReflectionProbe-0.exr.meta @@ -0,0 +1,127 @@ +fileFormatVersion: 2 +guid: 7a61bb4ec0880114e8bf9d318e37eb1c +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + flipGreenChannel: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 1 + seamlessCubemap: 1 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 2 + aniso: 0 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 2 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 100 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Server + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + nameFileIdTable: {} + mipmapLimitGroupName: + pSDRemoveMatte: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/com.acchosen.vr-stage-lighting/Runtime/Example Scenes/DMX-EditorViaOSCScenes/VRSL-ExampleScene-EditorViaOSC-Horizontal/ReflectionProbe-1.exr b/Packages/com.acchosen.vr-stage-lighting/Runtime/Example Scenes/DMX-EditorViaOSCScenes/VRSL-ExampleScene-EditorViaOSC-Horizontal/ReflectionProbe-1.exr new file mode 100644 index 0000000..a847e45 Binary files /dev/null and b/Packages/com.acchosen.vr-stage-lighting/Runtime/Example Scenes/DMX-EditorViaOSCScenes/VRSL-ExampleScene-EditorViaOSC-Horizontal/ReflectionProbe-1.exr differ diff --git a/Packages/com.acchosen.vr-stage-lighting/Runtime/Example Scenes/DMX-EditorViaOSCScenes/VRSL-ExampleScene-EditorViaOSC-Horizontal/ReflectionProbe-1.exr.meta b/Packages/com.acchosen.vr-stage-lighting/Runtime/Example Scenes/DMX-EditorViaOSCScenes/VRSL-ExampleScene-EditorViaOSC-Horizontal/ReflectionProbe-1.exr.meta new file mode 100644 index 0000000..6994330 --- /dev/null +++ b/Packages/com.acchosen.vr-stage-lighting/Runtime/Example Scenes/DMX-EditorViaOSCScenes/VRSL-ExampleScene-EditorViaOSC-Horizontal/ReflectionProbe-1.exr.meta @@ -0,0 +1,127 @@ +fileFormatVersion: 2 +guid: d835c10a34ca59249a34f3abbf819785 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + flipGreenChannel: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 1 + seamlessCubemap: 1 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 2 + aniso: 0 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 2 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 100 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Server + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + nameFileIdTable: {} + mipmapLimitGroupName: + pSDRemoveMatte: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/com.acchosen.vr-stage-lighting/Runtime/Example Scenes/DMX-EditorViaOSCScenes/VRSL-ExampleScene-EditorViaOSC-VerticalSettings.lighting b/Packages/com.acchosen.vr-stage-lighting/Runtime/Example Scenes/DMX-EditorViaOSCScenes/VRSL-ExampleScene-EditorViaOSC-VerticalSettings.lighting new file mode 100644 index 0000000..13004cc --- /dev/null +++ b/Packages/com.acchosen.vr-stage-lighting/Runtime/Example Scenes/DMX-EditorViaOSCScenes/VRSL-ExampleScene-EditorViaOSC-VerticalSettings.lighting @@ -0,0 +1,66 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!850595691 &4890085278179872738 +LightingSettings: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: VRSL-ExampleScene-EditorViaOSC-VerticalSettings + serializedVersion: 6 + m_GIWorkflowMode: 1 + m_EnableBakedLightmaps: 0 + m_EnableRealtimeLightmaps: 0 + m_RealtimeEnvironmentLighting: 1 + m_BounceScale: 1 + m_AlbedoBoost: 1 + m_IndirectOutputScale: 1 + m_UsingShadowmask: 1 + m_BakeBackend: 1 + m_LightmapMaxSize: 1024 + m_BakeResolution: 40 + m_Padding: 2 + m_LightmapCompression: 3 + m_AO: 0 + m_AOMaxDistance: 1 + m_CompAOExponent: 1 + m_CompAOExponentDirect: 0 + m_ExtractAO: 0 + m_MixedBakeMode: 2 + m_LightmapsBakeMode: 1 + m_FilterMode: 1 + m_LightmapParameters: {fileID: 15204, guid: 0000000000000000f000000000000000, type: 0} + m_ExportTrainingData: 0 + m_TrainingDataDestination: TrainingData + m_RealtimeResolution: 2 + m_ForceWhiteAlbedo: 0 + m_ForceUpdates: 0 + m_FinalGather: 0 + m_FinalGatherRayCount: 256 + m_FinalGatherFiltering: 1 + m_PVRCulling: 1 + m_PVRSampling: 1 + m_PVRDirectSampleCount: 32 + m_PVRSampleCount: 512 + m_PVREnvironmentSampleCount: 512 + m_PVREnvironmentReferencePointCount: 2048 + m_LightProbeSampleCountMultiplier: 4 + m_PVRBounces: 2 + m_PVRMinBounces: 2 + m_PVREnvironmentImportanceSampling: 0 + m_PVRFilteringMode: 2 + m_PVRDenoiserTypeDirect: 0 + m_PVRDenoiserTypeIndirect: 0 + m_PVRDenoiserTypeAO: 0 + m_PVRFilterTypeDirect: 0 + m_PVRFilterTypeIndirect: 0 + m_PVRFilterTypeAO: 0 + m_PVRFilteringGaussRadiusDirect: 1 + m_PVRFilteringGaussRadiusIndirect: 5 + m_PVRFilteringGaussRadiusAO: 2 + m_PVRFilteringAtrousPositionSigmaDirect: 0.5 + m_PVRFilteringAtrousPositionSigmaIndirect: 2 + m_PVRFilteringAtrousPositionSigmaAO: 1 + m_PVRTiledBaking: 0 + m_NumRaysToShootPerTexel: -1 + m_RespectSceneVisibilityWhenBakingGI: 0 diff --git a/Packages/com.acchosen.vr-stage-lighting/Runtime/Example Scenes/DMX-EditorViaOSCScenes/VRSL-ExampleScene-EditorViaOSC-VerticalSettings.lighting.meta b/Packages/com.acchosen.vr-stage-lighting/Runtime/Example Scenes/DMX-EditorViaOSCScenes/VRSL-ExampleScene-EditorViaOSC-VerticalSettings.lighting.meta new file mode 100644 index 0000000..ab3db74 --- /dev/null +++ b/Packages/com.acchosen.vr-stage-lighting/Runtime/Example Scenes/DMX-EditorViaOSCScenes/VRSL-ExampleScene-EditorViaOSC-VerticalSettings.lighting.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 1184155f4094ed141a395ad5e2a6ebf3 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 4890085278179872738 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/com.acchosen.vr-stage-lighting/Runtime/Materials/Other/VRSL-DataScreen.mat b/Packages/com.acchosen.vr-stage-lighting/Runtime/Materials/Other/VRSL-DataScreen.mat new file mode 100644 index 0000000..8eeb858 --- /dev/null +++ b/Packages/com.acchosen.vr-stage-lighting/Runtime/Materials/Other/VRSL-DataScreen.mat @@ -0,0 +1,90 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 8 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: VRSL-DataScreen + m_Shader: {fileID: 4800000, guid: 3f1ce0f33c16eeb41b30ecb9446e6214, type: 3} + m_Parent: {fileID: 0} + m_ModifiedSerializedProperties: 0 + m_ValidKeywords: [] + m_InvalidKeywords: + - _ + - _EMISSION + - _GLOSSYREFLECTIONS_OFF + - _SPECULARHIGHLIGHTS_OFF + m_LightmapFlags: 0 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_LockedProperties: + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _BumpMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailAlbedoMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailMask: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailNormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _EmissionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MainTex: + m_Texture: {fileID: 2800000, guid: e5b174a8d905de44d938cdd3adf85546, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MetallicGlossMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _OcclusionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ParallaxMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Ints: [] + m_Floats: + - _BumpScale: 1 + - _Cutoff: 0.5 + - _DetailNormalMapScale: 1 + - _DstBlend: 0 + - _GlossMapScale: 1 + - _Glossiness: 0 + - _GlossyReflections: 0 + - _IsAVProInput: 1 + - _MetaPassEmissiveBoost: 1.25 + - _Metallic: 0 + - _Mode: 0 + - _OcclusionStrength: 1 + - _Parallax: 0.02 + - _SmoothnessTextureChannel: 0 + - _SpecularHighlights: 0 + - _SrcBlend: 1 + - _TargetAspectRatio: 1.7777778 + - _UVSec: 0 + - _ZWrite: 1 + m_Colors: + - _Color: {r: 0, g: 0, b: 0, a: 1} + - _EmissionColor: {r: 1, g: 1, b: 1, a: 1} + m_BuildTextureStacks: [] diff --git a/Packages/com.acchosen.vr-stage-lighting/Runtime/Materials/Other/VRSL-DataScreen.mat.meta b/Packages/com.acchosen.vr-stage-lighting/Runtime/Materials/Other/VRSL-DataScreen.mat.meta new file mode 100644 index 0000000..ccaf04e --- /dev/null +++ b/Packages/com.acchosen.vr-stage-lighting/Runtime/Materials/Other/VRSL-DataScreen.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: ba4ca8bca79689a459f8bb7c61aa6633 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 2100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/com.acchosen.vr-stage-lighting/Runtime/Meshes/FBX/MoverLightMesh-VolumetricPassMesh-HQ-LPoly.fbx b/Packages/com.acchosen.vr-stage-lighting/Runtime/Meshes/FBX/MoverLightMesh-VolumetricPassMesh-HQ-LPoly.fbx new file mode 100644 index 0000000..1b66f94 Binary files /dev/null and b/Packages/com.acchosen.vr-stage-lighting/Runtime/Meshes/FBX/MoverLightMesh-VolumetricPassMesh-HQ-LPoly.fbx differ diff --git a/Packages/com.acchosen.vr-stage-lighting/Runtime/Meshes/FBX/MoverLightMesh-VolumetricPassMesh-HQ-LPoly.fbx.meta b/Packages/com.acchosen.vr-stage-lighting/Runtime/Meshes/FBX/MoverLightMesh-VolumetricPassMesh-HQ-LPoly.fbx.meta new file mode 100644 index 0000000..44d31b2 --- /dev/null +++ b/Packages/com.acchosen.vr-stage-lighting/Runtime/Meshes/FBX/MoverLightMesh-VolumetricPassMesh-HQ-LPoly.fbx.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: 80323f7df22152d47ad79c4ee15fe1ed +ModelImporter: + serializedVersion: 22200 + internalIDToNameTable: [] + externalObjects: {} + materials: + materialImportMode: 2 + materialName: 0 + materialSearch: 1 + materialLocation: 1 + animations: + legacyGenerateAnimations: 4 + bakeSimulation: 0 + resampleCurves: 1 + optimizeGameObjects: 0 + removeConstantScaleCurves: 0 + motionNodeName: + rigImportErrors: + rigImportWarnings: + animationImportErrors: + animationImportWarnings: + animationRetargetingWarnings: + animationDoRetargetingWarnings: 0 + importAnimatedCustomProperties: 0 + importConstraints: 0 + animationCompression: 1 + animationRotationError: 0.5 + animationPositionError: 0.5 + animationScaleError: 0.5 + animationWrapMode: 0 + extraExposedTransformPaths: [] + extraUserProperties: [] + clipAnimations: [] + isReadable: 0 + meshes: + lODScreenPercentages: [] + globalScale: 1 + meshCompression: 0 + addColliders: 0 + useSRGBMaterialColor: 1 + sortHierarchyByName: 1 + importPhysicalCameras: 1 + importVisibility: 1 + importBlendShapes: 1 + importCameras: 1 + importLights: 1 + nodeNameCollisionStrategy: 1 + fileIdsGeneration: 2 + swapUVChannels: 0 + generateSecondaryUV: 0 + useFileUnits: 1 + keepQuads: 0 + weldVertices: 1 + bakeAxisConversion: 0 + preserveHierarchy: 0 + skinWeightsMode: 0 + maxBonesPerVertex: 4 + minBoneWeight: 0.001 + optimizeBones: 1 + meshOptimizationFlags: -1 + indexFormat: 0 + secondaryUVAngleDistortion: 8 + secondaryUVAreaDistortion: 15.000001 + secondaryUVHardAngle: 88 + secondaryUVMarginMethod: 1 + secondaryUVMinLightmapResolution: 40 + secondaryUVMinObjectScale: 1 + secondaryUVPackMargin: 4 + useFileScale: 1 + strictVertexDataChecks: 0 + tangentSpace: + normalSmoothAngle: 60 + normalImportMode: 0 + tangentImportMode: 3 + normalCalculationMode: 4 + legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0 + blendShapeNormalImportMode: 1 + normalSmoothingSource: 0 + referencedClips: [] + importAnimation: 1 + humanDescription: + serializedVersion: 3 + human: [] + skeleton: [] + armTwist: 0.5 + foreArmTwist: 0.5 + upperLegTwist: 0.5 + legTwist: 0.5 + armStretch: 0.05 + legStretch: 0.05 + feetSpacing: 0 + globalScale: 1 + rootMotionBoneName: + hasTranslationDoF: 0 + hasExtraRoot: 0 + skeletonHasParents: 1 + lastHumanDescriptionAvatarSource: {instanceID: 0} + autoGenerateAvatarMappingIfUnspecified: 1 + animationType: 2 + humanoidOversampling: 1 + avatarSetup: 0 + addHumanoidExtraRootOnlyWhenUsingAvatar: 1 + importBlendShapeDeformPercent: 1 + remapMaterialsIfMaterialImportModeIsNone: 0 + additionalBone: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/com.acchosen.vr-stage-lighting/Runtime/Meshes/FBX/MoverLightMesh-VolumetricPassMesh-HQ-MPoly.fbx b/Packages/com.acchosen.vr-stage-lighting/Runtime/Meshes/FBX/MoverLightMesh-VolumetricPassMesh-HQ-MPoly.fbx new file mode 100644 index 0000000..0f58b6d Binary files /dev/null and b/Packages/com.acchosen.vr-stage-lighting/Runtime/Meshes/FBX/MoverLightMesh-VolumetricPassMesh-HQ-MPoly.fbx differ diff --git a/Packages/com.acchosen.vr-stage-lighting/Runtime/Meshes/FBX/MoverLightMesh-VolumetricPassMesh-HQ-MPoly.fbx.meta b/Packages/com.acchosen.vr-stage-lighting/Runtime/Meshes/FBX/MoverLightMesh-VolumetricPassMesh-HQ-MPoly.fbx.meta new file mode 100644 index 0000000..e556b77 --- /dev/null +++ b/Packages/com.acchosen.vr-stage-lighting/Runtime/Meshes/FBX/MoverLightMesh-VolumetricPassMesh-HQ-MPoly.fbx.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: 4cb903544eccc4440a13d6d9472186e5 +ModelImporter: + serializedVersion: 22200 + internalIDToNameTable: [] + externalObjects: {} + materials: + materialImportMode: 2 + materialName: 0 + materialSearch: 1 + materialLocation: 1 + animations: + legacyGenerateAnimations: 4 + bakeSimulation: 0 + resampleCurves: 1 + optimizeGameObjects: 0 + removeConstantScaleCurves: 0 + motionNodeName: + rigImportErrors: + rigImportWarnings: + animationImportErrors: + animationImportWarnings: + animationRetargetingWarnings: + animationDoRetargetingWarnings: 0 + importAnimatedCustomProperties: 0 + importConstraints: 0 + animationCompression: 1 + animationRotationError: 0.5 + animationPositionError: 0.5 + animationScaleError: 0.5 + animationWrapMode: 0 + extraExposedTransformPaths: [] + extraUserProperties: [] + clipAnimations: [] + isReadable: 0 + meshes: + lODScreenPercentages: [] + globalScale: 1 + meshCompression: 0 + addColliders: 0 + useSRGBMaterialColor: 1 + sortHierarchyByName: 1 + importPhysicalCameras: 1 + importVisibility: 1 + importBlendShapes: 1 + importCameras: 1 + importLights: 1 + nodeNameCollisionStrategy: 1 + fileIdsGeneration: 2 + swapUVChannels: 0 + generateSecondaryUV: 0 + useFileUnits: 1 + keepQuads: 0 + weldVertices: 1 + bakeAxisConversion: 0 + preserveHierarchy: 0 + skinWeightsMode: 0 + maxBonesPerVertex: 4 + minBoneWeight: 0.001 + optimizeBones: 1 + meshOptimizationFlags: -1 + indexFormat: 0 + secondaryUVAngleDistortion: 8 + secondaryUVAreaDistortion: 15.000001 + secondaryUVHardAngle: 88 + secondaryUVMarginMethod: 1 + secondaryUVMinLightmapResolution: 40 + secondaryUVMinObjectScale: 1 + secondaryUVPackMargin: 4 + useFileScale: 1 + strictVertexDataChecks: 0 + tangentSpace: + normalSmoothAngle: 60 + normalImportMode: 0 + tangentImportMode: 3 + normalCalculationMode: 4 + legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0 + blendShapeNormalImportMode: 1 + normalSmoothingSource: 0 + referencedClips: [] + importAnimation: 1 + humanDescription: + serializedVersion: 3 + human: [] + skeleton: [] + armTwist: 0.5 + foreArmTwist: 0.5 + upperLegTwist: 0.5 + legTwist: 0.5 + armStretch: 0.05 + legStretch: 0.05 + feetSpacing: 0 + globalScale: 1 + rootMotionBoneName: + hasTranslationDoF: 0 + hasExtraRoot: 0 + skeletonHasParents: 1 + lastHumanDescriptionAvatarSource: {instanceID: 0} + autoGenerateAvatarMappingIfUnspecified: 1 + animationType: 2 + humanoidOversampling: 1 + avatarSetup: 0 + addHumanoidExtraRootOnlyWhenUsingAvatar: 1 + importBlendShapeDeformPercent: 1 + remapMaterialsIfMaterialImportModeIsNone: 0 + additionalBone: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/com.acchosen.vr-stage-lighting/Runtime/Meshes/FBX/MoverWashLightMesh-VolumetricPassMesh-HQ-LPoly.fbx b/Packages/com.acchosen.vr-stage-lighting/Runtime/Meshes/FBX/MoverWashLightMesh-VolumetricPassMesh-HQ-LPoly.fbx new file mode 100644 index 0000000..aa04f62 Binary files /dev/null and b/Packages/com.acchosen.vr-stage-lighting/Runtime/Meshes/FBX/MoverWashLightMesh-VolumetricPassMesh-HQ-LPoly.fbx differ diff --git a/Packages/com.acchosen.vr-stage-lighting/Runtime/Meshes/FBX/MoverWashLightMesh-VolumetricPassMesh-HQ-LPoly.fbx.meta b/Packages/com.acchosen.vr-stage-lighting/Runtime/Meshes/FBX/MoverWashLightMesh-VolumetricPassMesh-HQ-LPoly.fbx.meta new file mode 100644 index 0000000..c2c651f --- /dev/null +++ b/Packages/com.acchosen.vr-stage-lighting/Runtime/Meshes/FBX/MoverWashLightMesh-VolumetricPassMesh-HQ-LPoly.fbx.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: 860053a68d88c0e46bde9443f5ae76a4 +ModelImporter: + serializedVersion: 22200 + internalIDToNameTable: [] + externalObjects: {} + materials: + materialImportMode: 2 + materialName: 0 + materialSearch: 1 + materialLocation: 1 + animations: + legacyGenerateAnimations: 4 + bakeSimulation: 0 + resampleCurves: 1 + optimizeGameObjects: 0 + removeConstantScaleCurves: 0 + motionNodeName: + rigImportErrors: + rigImportWarnings: + animationImportErrors: + animationImportWarnings: + animationRetargetingWarnings: + animationDoRetargetingWarnings: 0 + importAnimatedCustomProperties: 0 + importConstraints: 0 + animationCompression: 1 + animationRotationError: 0.5 + animationPositionError: 0.5 + animationScaleError: 0.5 + animationWrapMode: 0 + extraExposedTransformPaths: [] + extraUserProperties: [] + clipAnimations: [] + isReadable: 0 + meshes: + lODScreenPercentages: [] + globalScale: 1 + meshCompression: 0 + addColliders: 0 + useSRGBMaterialColor: 1 + sortHierarchyByName: 1 + importPhysicalCameras: 1 + importVisibility: 1 + importBlendShapes: 1 + importCameras: 1 + importLights: 1 + nodeNameCollisionStrategy: 1 + fileIdsGeneration: 2 + swapUVChannels: 0 + generateSecondaryUV: 0 + useFileUnits: 1 + keepQuads: 0 + weldVertices: 1 + bakeAxisConversion: 0 + preserveHierarchy: 0 + skinWeightsMode: 0 + maxBonesPerVertex: 4 + minBoneWeight: 0.001 + optimizeBones: 1 + meshOptimizationFlags: -1 + indexFormat: 0 + secondaryUVAngleDistortion: 8 + secondaryUVAreaDistortion: 15.000001 + secondaryUVHardAngle: 88 + secondaryUVMarginMethod: 1 + secondaryUVMinLightmapResolution: 40 + secondaryUVMinObjectScale: 1 + secondaryUVPackMargin: 4 + useFileScale: 1 + strictVertexDataChecks: 0 + tangentSpace: + normalSmoothAngle: 60 + normalImportMode: 0 + tangentImportMode: 3 + normalCalculationMode: 4 + legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0 + blendShapeNormalImportMode: 1 + normalSmoothingSource: 0 + referencedClips: [] + importAnimation: 1 + humanDescription: + serializedVersion: 3 + human: [] + skeleton: [] + armTwist: 0.5 + foreArmTwist: 0.5 + upperLegTwist: 0.5 + legTwist: 0.5 + armStretch: 0.05 + legStretch: 0.05 + feetSpacing: 0 + globalScale: 1 + rootMotionBoneName: + hasTranslationDoF: 0 + hasExtraRoot: 0 + skeletonHasParents: 1 + lastHumanDescriptionAvatarSource: {instanceID: 0} + autoGenerateAvatarMappingIfUnspecified: 1 + animationType: 2 + humanoidOversampling: 1 + avatarSetup: 0 + addHumanoidExtraRootOnlyWhenUsingAvatar: 1 + importBlendShapeDeformPercent: 1 + remapMaterialsIfMaterialImportModeIsNone: 0 + additionalBone: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/com.acchosen.vr-stage-lighting/Runtime/Meshes/FBX/MoverWashLightMesh-VolumetricPassMesh-HQ-MPoly.fbx b/Packages/com.acchosen.vr-stage-lighting/Runtime/Meshes/FBX/MoverWashLightMesh-VolumetricPassMesh-HQ-MPoly.fbx new file mode 100644 index 0000000..4b4c29a Binary files /dev/null and b/Packages/com.acchosen.vr-stage-lighting/Runtime/Meshes/FBX/MoverWashLightMesh-VolumetricPassMesh-HQ-MPoly.fbx differ diff --git a/Packages/com.acchosen.vr-stage-lighting/Runtime/Meshes/FBX/MoverWashLightMesh-VolumetricPassMesh-HQ-MPoly.fbx.meta b/Packages/com.acchosen.vr-stage-lighting/Runtime/Meshes/FBX/MoverWashLightMesh-VolumetricPassMesh-HQ-MPoly.fbx.meta new file mode 100644 index 0000000..8dcce50 --- /dev/null +++ b/Packages/com.acchosen.vr-stage-lighting/Runtime/Meshes/FBX/MoverWashLightMesh-VolumetricPassMesh-HQ-MPoly.fbx.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: 58c8b73bcdd7d04489661dc3feb058c1 +ModelImporter: + serializedVersion: 22200 + internalIDToNameTable: [] + externalObjects: {} + materials: + materialImportMode: 2 + materialName: 0 + materialSearch: 1 + materialLocation: 1 + animations: + legacyGenerateAnimations: 4 + bakeSimulation: 0 + resampleCurves: 1 + optimizeGameObjects: 0 + removeConstantScaleCurves: 0 + motionNodeName: + rigImportErrors: + rigImportWarnings: + animationImportErrors: + animationImportWarnings: + animationRetargetingWarnings: + animationDoRetargetingWarnings: 0 + importAnimatedCustomProperties: 0 + importConstraints: 0 + animationCompression: 1 + animationRotationError: 0.5 + animationPositionError: 0.5 + animationScaleError: 0.5 + animationWrapMode: 0 + extraExposedTransformPaths: [] + extraUserProperties: [] + clipAnimations: [] + isReadable: 0 + meshes: + lODScreenPercentages: [] + globalScale: 1 + meshCompression: 0 + addColliders: 0 + useSRGBMaterialColor: 1 + sortHierarchyByName: 1 + importPhysicalCameras: 1 + importVisibility: 1 + importBlendShapes: 1 + importCameras: 1 + importLights: 1 + nodeNameCollisionStrategy: 1 + fileIdsGeneration: 2 + swapUVChannels: 0 + generateSecondaryUV: 0 + useFileUnits: 1 + keepQuads: 0 + weldVertices: 1 + bakeAxisConversion: 0 + preserveHierarchy: 0 + skinWeightsMode: 0 + maxBonesPerVertex: 4 + minBoneWeight: 0.001 + optimizeBones: 1 + meshOptimizationFlags: -1 + indexFormat: 0 + secondaryUVAngleDistortion: 8 + secondaryUVAreaDistortion: 15.000001 + secondaryUVHardAngle: 88 + secondaryUVMarginMethod: 1 + secondaryUVMinLightmapResolution: 40 + secondaryUVMinObjectScale: 1 + secondaryUVPackMargin: 4 + useFileScale: 1 + strictVertexDataChecks: 0 + tangentSpace: + normalSmoothAngle: 60 + normalImportMode: 0 + tangentImportMode: 3 + normalCalculationMode: 4 + legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0 + blendShapeNormalImportMode: 1 + normalSmoothingSource: 0 + referencedClips: [] + importAnimation: 1 + humanDescription: + serializedVersion: 3 + human: [] + skeleton: [] + armTwist: 0.5 + foreArmTwist: 0.5 + upperLegTwist: 0.5 + legTwist: 0.5 + armStretch: 0.05 + legStretch: 0.05 + feetSpacing: 0 + globalScale: 1 + rootMotionBoneName: + hasTranslationDoF: 0 + hasExtraRoot: 0 + skeletonHasParents: 1 + lastHumanDescriptionAvatarSource: {instanceID: 0} + autoGenerateAvatarMappingIfUnspecified: 1 + animationType: 2 + humanoidOversampling: 1 + avatarSetup: 0 + addHumanoidExtraRootOnlyWhenUsingAvatar: 1 + importBlendShapeDeformPercent: 1 + remapMaterialsIfMaterialImportModeIsNone: 0 + additionalBone: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/com.acchosen.vr-stage-lighting/Runtime/Meshes/HQ Meshes/MoverLight-Spotlight-HQMesh-Textures/MoverLight-HQMesh-DMX-LPoly.fbx b/Packages/com.acchosen.vr-stage-lighting/Runtime/Meshes/HQ Meshes/MoverLight-Spotlight-HQMesh-Textures/MoverLight-HQMesh-DMX-LPoly.fbx new file mode 100644 index 0000000..e3a071d Binary files /dev/null and b/Packages/com.acchosen.vr-stage-lighting/Runtime/Meshes/HQ Meshes/MoverLight-Spotlight-HQMesh-Textures/MoverLight-HQMesh-DMX-LPoly.fbx differ diff --git a/Packages/com.acchosen.vr-stage-lighting/Runtime/Meshes/HQ Meshes/MoverLight-Spotlight-HQMesh-Textures/MoverLight-HQMesh-DMX-LPoly.fbx.meta b/Packages/com.acchosen.vr-stage-lighting/Runtime/Meshes/HQ Meshes/MoverLight-Spotlight-HQMesh-Textures/MoverLight-HQMesh-DMX-LPoly.fbx.meta new file mode 100644 index 0000000..2a7cb15 --- /dev/null +++ b/Packages/com.acchosen.vr-stage-lighting/Runtime/Meshes/HQ Meshes/MoverLight-Spotlight-HQMesh-Textures/MoverLight-HQMesh-DMX-LPoly.fbx.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: 176a7b05c669a304cbfc7f8d85df1f15 +ModelImporter: + serializedVersion: 22200 + internalIDToNameTable: [] + externalObjects: {} + materials: + materialImportMode: 2 + materialName: 0 + materialSearch: 1 + materialLocation: 1 + animations: + legacyGenerateAnimations: 4 + bakeSimulation: 0 + resampleCurves: 1 + optimizeGameObjects: 0 + removeConstantScaleCurves: 0 + motionNodeName: + rigImportErrors: + rigImportWarnings: + animationImportErrors: + animationImportWarnings: + animationRetargetingWarnings: + animationDoRetargetingWarnings: 0 + importAnimatedCustomProperties: 0 + importConstraints: 0 + animationCompression: 1 + animationRotationError: 0.5 + animationPositionError: 0.5 + animationScaleError: 0.5 + animationWrapMode: 0 + extraExposedTransformPaths: [] + extraUserProperties: [] + clipAnimations: [] + isReadable: 0 + meshes: + lODScreenPercentages: [] + globalScale: 1 + meshCompression: 0 + addColliders: 0 + useSRGBMaterialColor: 1 + sortHierarchyByName: 1 + importPhysicalCameras: 1 + importVisibility: 1 + importBlendShapes: 1 + importCameras: 1 + importLights: 1 + nodeNameCollisionStrategy: 1 + fileIdsGeneration: 2 + swapUVChannels: 0 + generateSecondaryUV: 0 + useFileUnits: 1 + keepQuads: 0 + weldVertices: 1 + bakeAxisConversion: 0 + preserveHierarchy: 0 + skinWeightsMode: 0 + maxBonesPerVertex: 4 + minBoneWeight: 0.001 + optimizeBones: 1 + meshOptimizationFlags: -1 + indexFormat: 0 + secondaryUVAngleDistortion: 8 + secondaryUVAreaDistortion: 15.000001 + secondaryUVHardAngle: 88 + secondaryUVMarginMethod: 1 + secondaryUVMinLightmapResolution: 40 + secondaryUVMinObjectScale: 1 + secondaryUVPackMargin: 4 + useFileScale: 1 + strictVertexDataChecks: 0 + tangentSpace: + normalSmoothAngle: 60 + normalImportMode: 0 + tangentImportMode: 3 + normalCalculationMode: 4 + legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0 + blendShapeNormalImportMode: 1 + normalSmoothingSource: 0 + referencedClips: [] + importAnimation: 1 + humanDescription: + serializedVersion: 3 + human: [] + skeleton: [] + armTwist: 0.5 + foreArmTwist: 0.5 + upperLegTwist: 0.5 + legTwist: 0.5 + armStretch: 0.05 + legStretch: 0.05 + feetSpacing: 0 + globalScale: 1 + rootMotionBoneName: + hasTranslationDoF: 0 + hasExtraRoot: 0 + skeletonHasParents: 1 + lastHumanDescriptionAvatarSource: {instanceID: 0} + autoGenerateAvatarMappingIfUnspecified: 1 + animationType: 2 + humanoidOversampling: 1 + avatarSetup: 0 + addHumanoidExtraRootOnlyWhenUsingAvatar: 1 + importBlendShapeDeformPercent: 1 + remapMaterialsIfMaterialImportModeIsNone: 0 + additionalBone: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/com.acchosen.vr-stage-lighting/Runtime/Meshes/HQ Meshes/MoverLight-Spotlight-HQMesh-Textures/MoverLight-HQMesh-DMX-MPoly.fbx b/Packages/com.acchosen.vr-stage-lighting/Runtime/Meshes/HQ Meshes/MoverLight-Spotlight-HQMesh-Textures/MoverLight-HQMesh-DMX-MPoly.fbx new file mode 100644 index 0000000..927bd41 Binary files /dev/null and b/Packages/com.acchosen.vr-stage-lighting/Runtime/Meshes/HQ Meshes/MoverLight-Spotlight-HQMesh-Textures/MoverLight-HQMesh-DMX-MPoly.fbx differ diff --git a/Packages/com.acchosen.vr-stage-lighting/Runtime/Meshes/HQ Meshes/MoverLight-Spotlight-HQMesh-Textures/MoverLight-HQMesh-DMX-MPoly.fbx.meta b/Packages/com.acchosen.vr-stage-lighting/Runtime/Meshes/HQ Meshes/MoverLight-Spotlight-HQMesh-Textures/MoverLight-HQMesh-DMX-MPoly.fbx.meta new file mode 100644 index 0000000..a12ba56 --- /dev/null +++ b/Packages/com.acchosen.vr-stage-lighting/Runtime/Meshes/HQ Meshes/MoverLight-Spotlight-HQMesh-Textures/MoverLight-HQMesh-DMX-MPoly.fbx.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: 1c6727fdb4d67144997ca7f1d773425d +ModelImporter: + serializedVersion: 22200 + internalIDToNameTable: [] + externalObjects: {} + materials: + materialImportMode: 2 + materialName: 0 + materialSearch: 1 + materialLocation: 1 + animations: + legacyGenerateAnimations: 4 + bakeSimulation: 0 + resampleCurves: 1 + optimizeGameObjects: 0 + removeConstantScaleCurves: 0 + motionNodeName: + rigImportErrors: + rigImportWarnings: + animationImportErrors: + animationImportWarnings: + animationRetargetingWarnings: + animationDoRetargetingWarnings: 0 + importAnimatedCustomProperties: 0 + importConstraints: 0 + animationCompression: 1 + animationRotationError: 0.5 + animationPositionError: 0.5 + animationScaleError: 0.5 + animationWrapMode: 0 + extraExposedTransformPaths: [] + extraUserProperties: [] + clipAnimations: [] + isReadable: 0 + meshes: + lODScreenPercentages: [] + globalScale: 1 + meshCompression: 0 + addColliders: 0 + useSRGBMaterialColor: 1 + sortHierarchyByName: 1 + importPhysicalCameras: 1 + importVisibility: 1 + importBlendShapes: 1 + importCameras: 1 + importLights: 1 + nodeNameCollisionStrategy: 1 + fileIdsGeneration: 2 + swapUVChannels: 0 + generateSecondaryUV: 0 + useFileUnits: 1 + keepQuads: 0 + weldVertices: 1 + bakeAxisConversion: 0 + preserveHierarchy: 0 + skinWeightsMode: 0 + maxBonesPerVertex: 4 + minBoneWeight: 0.001 + optimizeBones: 1 + meshOptimizationFlags: -1 + indexFormat: 0 + secondaryUVAngleDistortion: 8 + secondaryUVAreaDistortion: 15.000001 + secondaryUVHardAngle: 88 + secondaryUVMarginMethod: 1 + secondaryUVMinLightmapResolution: 40 + secondaryUVMinObjectScale: 1 + secondaryUVPackMargin: 4 + useFileScale: 1 + strictVertexDataChecks: 0 + tangentSpace: + normalSmoothAngle: 60 + normalImportMode: 0 + tangentImportMode: 3 + normalCalculationMode: 4 + legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0 + blendShapeNormalImportMode: 1 + normalSmoothingSource: 0 + referencedClips: [] + importAnimation: 1 + humanDescription: + serializedVersion: 3 + human: [] + skeleton: [] + armTwist: 0.5 + foreArmTwist: 0.5 + upperLegTwist: 0.5 + legTwist: 0.5 + armStretch: 0.05 + legStretch: 0.05 + feetSpacing: 0 + globalScale: 1 + rootMotionBoneName: + hasTranslationDoF: 0 + hasExtraRoot: 0 + skeletonHasParents: 1 + lastHumanDescriptionAvatarSource: {instanceID: 0} + autoGenerateAvatarMappingIfUnspecified: 1 + animationType: 2 + humanoidOversampling: 1 + avatarSetup: 0 + addHumanoidExtraRootOnlyWhenUsingAvatar: 1 + importBlendShapeDeformPercent: 1 + remapMaterialsIfMaterialImportModeIsNone: 0 + additionalBone: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/com.acchosen.vr-stage-lighting/Runtime/Meshes/HQ Meshes/MoverLight-WashLight-HQMesh-LPoly.fbx b/Packages/com.acchosen.vr-stage-lighting/Runtime/Meshes/HQ Meshes/MoverLight-WashLight-HQMesh-LPoly.fbx new file mode 100644 index 0000000..a77e802 Binary files /dev/null and b/Packages/com.acchosen.vr-stage-lighting/Runtime/Meshes/HQ Meshes/MoverLight-WashLight-HQMesh-LPoly.fbx differ diff --git a/Packages/com.acchosen.vr-stage-lighting/Runtime/Meshes/HQ Meshes/MoverLight-WashLight-HQMesh-LPoly.fbx.meta b/Packages/com.acchosen.vr-stage-lighting/Runtime/Meshes/HQ Meshes/MoverLight-WashLight-HQMesh-LPoly.fbx.meta new file mode 100644 index 0000000..579018f --- /dev/null +++ b/Packages/com.acchosen.vr-stage-lighting/Runtime/Meshes/HQ Meshes/MoverLight-WashLight-HQMesh-LPoly.fbx.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: 7b9bf5375ef4f5f409f6f26650981e8b +ModelImporter: + serializedVersion: 22200 + internalIDToNameTable: [] + externalObjects: {} + materials: + materialImportMode: 2 + materialName: 0 + materialSearch: 1 + materialLocation: 1 + animations: + legacyGenerateAnimations: 4 + bakeSimulation: 0 + resampleCurves: 1 + optimizeGameObjects: 0 + removeConstantScaleCurves: 0 + motionNodeName: + rigImportErrors: + rigImportWarnings: + animationImportErrors: + animationImportWarnings: + animationRetargetingWarnings: + animationDoRetargetingWarnings: 0 + importAnimatedCustomProperties: 0 + importConstraints: 0 + animationCompression: 1 + animationRotationError: 0.5 + animationPositionError: 0.5 + animationScaleError: 0.5 + animationWrapMode: 0 + extraExposedTransformPaths: [] + extraUserProperties: [] + clipAnimations: [] + isReadable: 0 + meshes: + lODScreenPercentages: [] + globalScale: 1 + meshCompression: 0 + addColliders: 0 + useSRGBMaterialColor: 1 + sortHierarchyByName: 1 + importPhysicalCameras: 1 + importVisibility: 1 + importBlendShapes: 1 + importCameras: 1 + importLights: 1 + nodeNameCollisionStrategy: 1 + fileIdsGeneration: 2 + swapUVChannels: 0 + generateSecondaryUV: 0 + useFileUnits: 1 + keepQuads: 0 + weldVertices: 1 + bakeAxisConversion: 0 + preserveHierarchy: 0 + skinWeightsMode: 0 + maxBonesPerVertex: 4 + minBoneWeight: 0.001 + optimizeBones: 1 + meshOptimizationFlags: -1 + indexFormat: 0 + secondaryUVAngleDistortion: 8 + secondaryUVAreaDistortion: 15.000001 + secondaryUVHardAngle: 88 + secondaryUVMarginMethod: 1 + secondaryUVMinLightmapResolution: 40 + secondaryUVMinObjectScale: 1 + secondaryUVPackMargin: 4 + useFileScale: 1 + strictVertexDataChecks: 0 + tangentSpace: + normalSmoothAngle: 60 + normalImportMode: 0 + tangentImportMode: 3 + normalCalculationMode: 4 + legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0 + blendShapeNormalImportMode: 1 + normalSmoothingSource: 0 + referencedClips: [] + importAnimation: 1 + humanDescription: + serializedVersion: 3 + human: [] + skeleton: [] + armTwist: 0.5 + foreArmTwist: 0.5 + upperLegTwist: 0.5 + legTwist: 0.5 + armStretch: 0.05 + legStretch: 0.05 + feetSpacing: 0 + globalScale: 1 + rootMotionBoneName: + hasTranslationDoF: 0 + hasExtraRoot: 0 + skeletonHasParents: 1 + lastHumanDescriptionAvatarSource: {instanceID: 0} + autoGenerateAvatarMappingIfUnspecified: 1 + animationType: 2 + humanoidOversampling: 1 + avatarSetup: 0 + addHumanoidExtraRootOnlyWhenUsingAvatar: 1 + importBlendShapeDeformPercent: 1 + remapMaterialsIfMaterialImportModeIsNone: 0 + additionalBone: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/com.acchosen.vr-stage-lighting/Runtime/Meshes/HQ Meshes/MoverLight-WashLight-HQMesh-MPoly.fbx b/Packages/com.acchosen.vr-stage-lighting/Runtime/Meshes/HQ Meshes/MoverLight-WashLight-HQMesh-MPoly.fbx new file mode 100644 index 0000000..74b30e3 Binary files /dev/null and b/Packages/com.acchosen.vr-stage-lighting/Runtime/Meshes/HQ Meshes/MoverLight-WashLight-HQMesh-MPoly.fbx differ diff --git a/Packages/com.acchosen.vr-stage-lighting/Runtime/Meshes/HQ Meshes/MoverLight-WashLight-HQMesh-MPoly.fbx.meta b/Packages/com.acchosen.vr-stage-lighting/Runtime/Meshes/HQ Meshes/MoverLight-WashLight-HQMesh-MPoly.fbx.meta new file mode 100644 index 0000000..906c2b3 --- /dev/null +++ b/Packages/com.acchosen.vr-stage-lighting/Runtime/Meshes/HQ Meshes/MoverLight-WashLight-HQMesh-MPoly.fbx.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: 76f8b7aadc98ef64799418ba4b393086 +ModelImporter: + serializedVersion: 22200 + internalIDToNameTable: [] + externalObjects: {} + materials: + materialImportMode: 2 + materialName: 0 + materialSearch: 1 + materialLocation: 1 + animations: + legacyGenerateAnimations: 4 + bakeSimulation: 0 + resampleCurves: 1 + optimizeGameObjects: 0 + removeConstantScaleCurves: 0 + motionNodeName: + rigImportErrors: + rigImportWarnings: + animationImportErrors: + animationImportWarnings: + animationRetargetingWarnings: + animationDoRetargetingWarnings: 0 + importAnimatedCustomProperties: 0 + importConstraints: 0 + animationCompression: 1 + animationRotationError: 0.5 + animationPositionError: 0.5 + animationScaleError: 0.5 + animationWrapMode: 0 + extraExposedTransformPaths: [] + extraUserProperties: [] + clipAnimations: [] + isReadable: 0 + meshes: + lODScreenPercentages: [] + globalScale: 1 + meshCompression: 0 + addColliders: 0 + useSRGBMaterialColor: 1 + sortHierarchyByName: 1 + importPhysicalCameras: 1 + importVisibility: 1 + importBlendShapes: 1 + importCameras: 1 + importLights: 1 + nodeNameCollisionStrategy: 1 + fileIdsGeneration: 2 + swapUVChannels: 0 + generateSecondaryUV: 0 + useFileUnits: 1 + keepQuads: 0 + weldVertices: 1 + bakeAxisConversion: 0 + preserveHierarchy: 0 + skinWeightsMode: 0 + maxBonesPerVertex: 4 + minBoneWeight: 0.001 + optimizeBones: 1 + meshOptimizationFlags: -1 + indexFormat: 0 + secondaryUVAngleDistortion: 8 + secondaryUVAreaDistortion: 15.000001 + secondaryUVHardAngle: 88 + secondaryUVMarginMethod: 1 + secondaryUVMinLightmapResolution: 40 + secondaryUVMinObjectScale: 1 + secondaryUVPackMargin: 4 + useFileScale: 1 + strictVertexDataChecks: 0 + tangentSpace: + normalSmoothAngle: 60 + normalImportMode: 0 + tangentImportMode: 3 + normalCalculationMode: 4 + legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0 + blendShapeNormalImportMode: 1 + normalSmoothingSource: 0 + referencedClips: [] + importAnimation: 1 + humanDescription: + serializedVersion: 3 + human: [] + skeleton: [] + armTwist: 0.5 + foreArmTwist: 0.5 + upperLegTwist: 0.5 + legTwist: 0.5 + armStretch: 0.05 + legStretch: 0.05 + feetSpacing: 0 + globalScale: 1 + rootMotionBoneName: + hasTranslationDoF: 0 + hasExtraRoot: 0 + skeletonHasParents: 1 + lastHumanDescriptionAvatarSource: {instanceID: 0} + autoGenerateAvatarMappingIfUnspecified: 1 + animationType: 2 + humanoidOversampling: 1 + avatarSetup: 0 + addHumanoidExtraRootOnlyWhenUsingAvatar: 1 + importBlendShapeDeformPercent: 1 + remapMaterialsIfMaterialImportModeIsNone: 0 + additionalBone: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/com.acchosen.vr-stage-lighting/Runtime/Shaders/Other/GenericUnlitTexture-Linear.shader b/Packages/com.acchosen.vr-stage-lighting/Runtime/Shaders/Other/GenericUnlitTexture-Linear.shader new file mode 100644 index 0000000..2cf5c2c --- /dev/null +++ b/Packages/com.acchosen.vr-stage-lighting/Runtime/Shaders/Other/GenericUnlitTexture-Linear.shader @@ -0,0 +1,102 @@ +Shader "Unlit/GenericUnlitTexture-Linear" +{ + Properties + { + _EmissionMap ("Texture", 2D) = "white" {} + [Toggle(_)]_IsAVProInput("Is AV Pro Input", Int) = 0 + _TargetAspectRatio("Target Aspect Ratio", Float) = 1.7777777 + } + SubShader + { + Tags { "RenderType"="Opaque" } + LOD 100 + + Pass + { + CGPROGRAM + #pragma vertex vert + #pragma fragment frag + // make fog work + #pragma multi_compile_fog + + #include "UnityCG.cginc" + + struct appdata + { + float4 vertex : POSITION; + float2 uv : TEXCOORD0; + }; + + struct v2f + { + float2 uv : TEXCOORD0; + UNITY_FOG_COORDS(1) + float4 vertex : SV_POSITION; + }; + + sampler2D _EmissionMap; + float4 _EmissionMap_ST; + int _IsAVProInput; + float _TargetAspectRatio; + float4 _EmissionMap_TexelSize; + + v2f vert (appdata v) + { + v2f o; + o.vertex = UnityObjectToClipPos(v.vertex); + o.uv = TRANSFORM_TEX(v.uv, _EmissionMap); + UNITY_TRANSFER_FOG(o,o.vertex); + return o; + } + + fixed4 frag (v2f i) : SV_Target + { + float2 uv = i.uv; + float2 emissionRes = _EmissionMap_TexelSize.zw; + + float currentAspectRatio = emissionRes.x / emissionRes.y; + + float visibility = 1.0; + + // If the aspect ratio does not match the target ratio, then we fit the UVs to maintain the aspect ratio while fitting the range 0-1 + if (abs(currentAspectRatio - _TargetAspectRatio) > 0.001) + { + float2 normalizedVideoRes = float2(emissionRes.x / _TargetAspectRatio, emissionRes.y); + float2 correctiveScale; + + // Find which axis is greater, we will clamp to that + if (normalizedVideoRes.x > normalizedVideoRes.y) + correctiveScale = float2(1, normalizedVideoRes.y / normalizedVideoRes.x); + else + correctiveScale = float2(normalizedVideoRes.x / normalizedVideoRes.y, 1); + + uv = ((uv - 0.5) / correctiveScale) + 0.5; + + // Antialiasing on UV clipping + float2 uvPadding = (1 / emissionRes) * 0.1; + float2 uvfwidth = fwidth(uv.xy); + float2 maxFactor = smoothstep(uvfwidth + uvPadding + 1, uvPadding + 1, uv.xy); + float2 minFactor = smoothstep(-uvfwidth - uvPadding, -uvPadding, uv.xy); + + visibility = maxFactor.x * maxFactor.y * minFactor.x * minFactor.y; + + //if (any(uv <= 0) || any(uv >= 1)) + // return float3(0, 0, 0); + } + // sample the texture + float3 texColor = tex2D(_EmissionMap, _IsAVProInput ? float2(uv.x, 1 - uv.y) : uv).rgb; + + if (!_IsAVProInput) + { + texColor = LinearToGammaSpace(texColor); + } + // if (_IsAVProInput) + // texColor = pow(texColor, 2.2f); + // apply fog + UNITY_APPLY_FOG(i.fogCoord, float4(texColor,1)); + return float4(texColor,1); + } + ENDCG + } + } +} diff --git a/Packages/com.acchosen.vr-stage-lighting/Runtime/Shaders/Other/GenericUnlitTexture-Linear.shader.meta b/Packages/com.acchosen.vr-stage-lighting/Runtime/Shaders/Other/GenericUnlitTexture-Linear.shader.meta new file mode 100644 index 0000000..bec9289 --- /dev/null +++ b/Packages/com.acchosen.vr-stage-lighting/Runtime/Shaders/Other/GenericUnlitTexture-Linear.shader.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 3f1ce0f33c16eeb41b30ecb9446e6214 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/com.acchosen.vr-stage-lighting/Runtime/Video Players.meta b/Packages/com.acchosen.vr-stage-lighting/Runtime/Video Players.meta new file mode 100644 index 0000000..540c6bb --- /dev/null +++ b/Packages/com.acchosen.vr-stage-lighting/Runtime/Video Players.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: df884336aee5fa94395aae190982a88c +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/com.acchosen.vr-stage-lighting/Runtime/Video Players/VRSL-ProTV-DMXScreenPackage-1.2.unitypackage.meta b/Packages/com.acchosen.vr-stage-lighting/Runtime/Video Players/VRSL-ProTV-DMXScreenPackage-1.2.unitypackage.meta new file mode 100644 index 0000000..fe07f25 --- /dev/null +++ b/Packages/com.acchosen.vr-stage-lighting/Runtime/Video Players/VRSL-ProTV-DMXScreenPackage-1.2.unitypackage.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: f1e11a92c089b0649bf394cdbadf6f3f +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/com.acchosen.vr-stage-lighting/Runtime/Video Players/VRSL-USharpVideo-DMXScreenPackage-1.2.unitypackage.meta b/Packages/com.acchosen.vr-stage-lighting/Runtime/Video Players/VRSL-USharpVideo-DMXScreenPackage-1.2.unitypackage.meta new file mode 100644 index 0000000..05cd691 --- /dev/null +++ b/Packages/com.acchosen.vr-stage-lighting/Runtime/Video Players/VRSL-USharpVideo-DMXScreenPackage-1.2.unitypackage.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: a12ef5f407611a747b7a40b870cf423e +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/com.acchosen.vr-stage-lighting/Runtime/Video Players/VRSL-VideoTXL-DMXScreenPackage-1.2.unitypackage.meta b/Packages/com.acchosen.vr-stage-lighting/Runtime/Video Players/VRSL-VideoTXL-DMXScreenPackage-1.2.unitypackage.meta new file mode 100644 index 0000000..b5a1626 --- /dev/null +++ b/Packages/com.acchosen.vr-stage-lighting/Runtime/Video Players/VRSL-VideoTXL-DMXScreenPackage-1.2.unitypackage.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 77475a5a2828a704db7abb91ed6b1df2 +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/com.acchosen.vr-stage-lighting/Runtime/Video Players/VRSL-uDesktopDuplication-DMXScreenPackage-1.2.unitypackage.meta b/Packages/com.acchosen.vr-stage-lighting/Runtime/Video Players/VRSL-uDesktopDuplication-DMXScreenPackage-1.2.unitypackage.meta new file mode 100644 index 0000000..a7495b9 --- /dev/null +++ b/Packages/com.acchosen.vr-stage-lighting/Runtime/Video Players/VRSL-uDesktopDuplication-DMXScreenPackage-1.2.unitypackage.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: af4dbeea91a95774dbb52d6ffd011a52 +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: