1
0
mirror of https://github.com/AcChosen/VR-Stage-Lighting.git synced 2024-11-23 23:21:07 +01:00

Add new 2.7.0 Files

This commit is contained in:
AcChosen 2024-06-19 00:17:47 -04:00
parent b65478aa88
commit f521779ec1
52 changed files with 5926 additions and 0 deletions

1
Packages/.gitignore vendored
View File

@ -1,2 +1,3 @@
/*/
!com.vrchat.core.*/
!com.acchosen.vr-stage-lighting

View File

@ -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

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 4d88361aa1276d64d8a60009bfb590ed
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:

View File

@ -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<GameObject> sceneObjects = new List<GameObject>();
public static bool hasLocalPanel;
static List<GameObject> GetAllObjectsOnlyInScene()
{
List<GameObject> objectsInScene = new List<GameObject>();
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<VRSL_LocalUIControlPanel>();
#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<VRSL_DMXPatchSettings>();
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

View File

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: a436a69fe95a1bb4ab24eb22048d8a46
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 57cc0fe2c71aff74ba88fc6cf7e94ec2
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -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<VRSL_FixtureDefinitions>(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

View File

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 5234e5a618f589b49aa604ad3e28f500
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -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}

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 9d76acca48d75144d934f63fba1b5adf
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 0
userData:
assetBundleName:
assetBundleVariant:

View File

@ -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;
}
}
}
}

View File

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: c995926c90549704bb9e0c3f100b0866
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -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<Transform>();
Dictionary<string,Material> vrslMats = new Dictionary<string, Material>();
for(int i = 0; i < transforms.Length; i++)
{
Renderer rend = transforms[i].gameObject.GetComponent<Renderer>();
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<string,Material> vrslMatsCopy = new Dictionary<string,Material>(vrslMats);
var keys = new List<string>(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<Renderer>();
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<VRSL_LocalUIControlPanel>();
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

View File

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: c6c15590c8b835049bb3f6a0fdf6d684
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 869b7b6dcda873442a10856eccd1aee4
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 91e49e17985301e4fb7ae947c9cdea65
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 1e87a4b549f4fe64998ada05bf90ef22
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 122298455a54db44f8d80f092be01456
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 8a6877d47a154a04891dba6e1b403d4a
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -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:

View File

@ -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:

View File

@ -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

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 1184155f4094ed141a395ad5e2a6ebf3
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 4890085278179872738
userData:
assetBundleName:
assetBundleVariant:

View File

@ -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: []

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: ba4ca8bca79689a459f8bb7c61aa6633
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 2100000
userData:
assetBundleName:
assetBundleVariant:

View File

@ -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:

View File

@ -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:

View File

@ -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:

View File

@ -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:

View File

@ -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:

View File

@ -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:

View File

@ -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:

View File

@ -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:

View File

@ -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
}
}
}

View File

@ -0,0 +1,9 @@
fileFormatVersion: 2
guid: 3f1ce0f33c16eeb41b30ecb9446e6214
ShaderImporter:
externalObjects: {}
defaultTextures: []
nonModifiableTextures: []
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: df884336aee5fa94395aae190982a88c
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: f1e11a92c089b0649bf394cdbadf6f3f
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: a12ef5f407611a747b7a40b870cf423e
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 77475a5a2828a704db7abb91ed6b1df2
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: af4dbeea91a95774dbb52d6ffd011a52
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant: