From a0c9e4ad75cdf80ce3d9b16f886f6cd613d53d83 Mon Sep 17 00:00:00 2001 From: Sylvain Renault <sylvain.renault@hhi.fraunhofer.de> Date: Thu, 17 Feb 2022 19:06:52 +0100 Subject: [PATCH] First version. --- .gitignore | 68 ++ .vsconfig | 6 + Assets/ETSI.ARF.meta | 8 + Assets/ETSI.ARF/ARF World Storage API.meta | 8 + .../ARF World Storage API/Editor.meta | 8 + .../ARF World Storage API/Editor/Graph.meta | 8 + .../Editor/Graph/ARFGraphView.cs | 89 +++ .../Editor/Graph/ARFGraphView.cs.meta | 11 + .../Editor/Graph/ARFNode.cs | 34 + .../Editor/Graph/ARFNode.cs.meta | 11 + .../Editor/GraphMathScript.cs | 450 ++++++++++++ .../Editor/GraphMathScript.cs.meta | 11 + .../Editor/GraphWindow.cs | 194 +++++ .../Editor/GraphWindow.cs.meta | 11 + .../Editor/TrackableWindow.cs | 163 +++++ .../Editor/TrackableWindow.cs.meta | 11 + .../Editor/WorldAnchorWindow.cs | 122 ++++ .../Editor/WorldAnchorWindow.cs.meta | 11 + .../Editor/WorldStorageSettingsEditor.cs | 66 ++ .../Editor/WorldStorageSettingsEditor.cs.meta | 11 + .../Editor/WorldStorageWindow.cs | 235 ++++++ .../Editor/WorldStorageWindow.cs.meta | 11 + .../ARF World Storage API/Materials.meta | 8 + .../ARF World Storage API/Prefabs.meta | 8 + .../ARF World Storage API/Scenes.meta | 8 + .../Scenes/WorldStorageSample.unity | 396 ++++++++++ .../Scenes/WorldStorageSample.unity.meta | 7 + .../WorldStorageSettings_HHI_Detlef.asset | 18 + ...WorldStorageSettings_HHI_Detlef.asset.meta | 8 + .../ARF World Storage API/Scriptables.meta | 8 + .../Scriptables/myWorldStorageSettings.asset | 17 + .../myWorldStorageSettings.asset.meta | 8 + .../ARF World Storage API/Scripts.meta | 8 + Assets/Scenes.meta | 8 + Assets/Scenes/SampleScene.unity | 301 ++++++++ Assets/Scenes/SampleScene.unity.meta | 7 + Packages/manifest.json | 44 ++ Packages/packages-lock.json | 344 +++++++++ ProjectSettings/AudioManager.asset | 19 + ProjectSettings/ClusterInputManager.asset | 6 + ProjectSettings/DynamicsManager.asset | 34 + ProjectSettings/EditorBuildSettings.asset | 8 + ProjectSettings/EditorSettings.asset | 30 + ProjectSettings/GraphicsSettings.asset | 63 ++ ProjectSettings/InputManager.asset | 295 ++++++++ ProjectSettings/NavMeshAreas.asset | 91 +++ ProjectSettings/PackageManagerSettings.asset | 43 ++ ProjectSettings/Physics2DSettings.asset | 56 ++ ProjectSettings/PresetManager.asset | 7 + ProjectSettings/ProjectSettings.asset | 677 ++++++++++++++++++ ProjectSettings/ProjectVersion.txt | 2 + ProjectSettings/QualitySettings.asset | 232 ++++++ ProjectSettings/TagManager.asset | 43 ++ ProjectSettings/TimeManager.asset | 9 + ProjectSettings/UnityConnectSettings.asset | 35 + ProjectSettings/VFXManager.asset | 12 + ProjectSettings/VersionControlSettings.asset | 8 + ProjectSettings/XRSettings.asset | 10 + README.md | 10 + UserSettings/EditorUserSettings.asset | 27 + 60 files changed, 4462 insertions(+) create mode 100644 .gitignore create mode 100644 .vsconfig create mode 100644 Assets/ETSI.ARF.meta create mode 100644 Assets/ETSI.ARF/ARF World Storage API.meta create mode 100644 Assets/ETSI.ARF/ARF World Storage API/Editor.meta create mode 100644 Assets/ETSI.ARF/ARF World Storage API/Editor/Graph.meta create mode 100644 Assets/ETSI.ARF/ARF World Storage API/Editor/Graph/ARFGraphView.cs create mode 100644 Assets/ETSI.ARF/ARF World Storage API/Editor/Graph/ARFGraphView.cs.meta create mode 100644 Assets/ETSI.ARF/ARF World Storage API/Editor/Graph/ARFNode.cs create mode 100644 Assets/ETSI.ARF/ARF World Storage API/Editor/Graph/ARFNode.cs.meta create mode 100644 Assets/ETSI.ARF/ARF World Storage API/Editor/GraphMathScript.cs create mode 100644 Assets/ETSI.ARF/ARF World Storage API/Editor/GraphMathScript.cs.meta create mode 100644 Assets/ETSI.ARF/ARF World Storage API/Editor/GraphWindow.cs create mode 100644 Assets/ETSI.ARF/ARF World Storage API/Editor/GraphWindow.cs.meta create mode 100644 Assets/ETSI.ARF/ARF World Storage API/Editor/TrackableWindow.cs create mode 100644 Assets/ETSI.ARF/ARF World Storage API/Editor/TrackableWindow.cs.meta create mode 100644 Assets/ETSI.ARF/ARF World Storage API/Editor/WorldAnchorWindow.cs create mode 100644 Assets/ETSI.ARF/ARF World Storage API/Editor/WorldAnchorWindow.cs.meta create mode 100644 Assets/ETSI.ARF/ARF World Storage API/Editor/WorldStorageSettingsEditor.cs create mode 100644 Assets/ETSI.ARF/ARF World Storage API/Editor/WorldStorageSettingsEditor.cs.meta create mode 100644 Assets/ETSI.ARF/ARF World Storage API/Editor/WorldStorageWindow.cs create mode 100644 Assets/ETSI.ARF/ARF World Storage API/Editor/WorldStorageWindow.cs.meta create mode 100644 Assets/ETSI.ARF/ARF World Storage API/Materials.meta create mode 100644 Assets/ETSI.ARF/ARF World Storage API/Prefabs.meta create mode 100644 Assets/ETSI.ARF/ARF World Storage API/Scenes.meta create mode 100644 Assets/ETSI.ARF/ARF World Storage API/Scenes/WorldStorageSample.unity create mode 100644 Assets/ETSI.ARF/ARF World Storage API/Scenes/WorldStorageSample.unity.meta create mode 100644 Assets/ETSI.ARF/ARF World Storage API/Scenes/WorldStorageSettings_HHI_Detlef.asset create mode 100644 Assets/ETSI.ARF/ARF World Storage API/Scenes/WorldStorageSettings_HHI_Detlef.asset.meta create mode 100644 Assets/ETSI.ARF/ARF World Storage API/Scriptables.meta create mode 100644 Assets/ETSI.ARF/ARF World Storage API/Scriptables/myWorldStorageSettings.asset create mode 100644 Assets/ETSI.ARF/ARF World Storage API/Scriptables/myWorldStorageSettings.asset.meta create mode 100644 Assets/ETSI.ARF/ARF World Storage API/Scripts.meta create mode 100644 Assets/Scenes.meta create mode 100644 Assets/Scenes/SampleScene.unity create mode 100644 Assets/Scenes/SampleScene.unity.meta create mode 100644 Packages/manifest.json create mode 100644 Packages/packages-lock.json create mode 100644 ProjectSettings/AudioManager.asset create mode 100644 ProjectSettings/ClusterInputManager.asset create mode 100644 ProjectSettings/DynamicsManager.asset create mode 100644 ProjectSettings/EditorBuildSettings.asset create mode 100644 ProjectSettings/EditorSettings.asset create mode 100644 ProjectSettings/GraphicsSettings.asset create mode 100644 ProjectSettings/InputManager.asset create mode 100644 ProjectSettings/NavMeshAreas.asset create mode 100644 ProjectSettings/PackageManagerSettings.asset create mode 100644 ProjectSettings/Physics2DSettings.asset create mode 100644 ProjectSettings/PresetManager.asset create mode 100644 ProjectSettings/ProjectSettings.asset create mode 100644 ProjectSettings/ProjectVersion.txt create mode 100644 ProjectSettings/QualitySettings.asset create mode 100644 ProjectSettings/TagManager.asset create mode 100644 ProjectSettings/TimeManager.asset create mode 100644 ProjectSettings/UnityConnectSettings.asset create mode 100644 ProjectSettings/VFXManager.asset create mode 100644 ProjectSettings/VersionControlSettings.asset create mode 100644 ProjectSettings/XRSettings.asset create mode 100644 README.md create mode 100644 UserSettings/EditorUserSettings.asset diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..c211a83 --- /dev/null +++ b/.gitignore @@ -0,0 +1,68 @@ +# This .gitignore file should be placed at the root of your Unity project directory +# +# Get latest from https://github.com/github/gitignore/blob/master/Unity.gitignore +# +/[Ll]ibrary/ +/[Tt]emp/ +/[Oo]bj/ +/[Bb]uild/ +/[Bb]uilds/ +/[Ll]ogs/ +/[Mm]emoryCaptures/ + +# Fraunhofer HHI / IMC / Unity settings +#/[Aa]ssets/Fraunhofer +/[Aa]pp +/[Bb]in +/[Ee]xe + +# Never ignore Asset meta data +!/[Aa]ssets/**/*.meta + +# Uncomment this line if you wish to ignore the asset store tools plugin +# /[Aa]ssets/AssetStoreTools* + +# TextMesh Pro files +#[Aa]ssets/TextMesh*Pro/ + +# Autogenerated Jetbrains Rider plugin +[Aa]ssets/Plugins/Editor/JetBrains* + +# Visual Studio cache directory +.vs/ + +# Gradle cache directory +.gradle/ + +# Autogenerated VS/MD/Consulo solution and project files +ExportedObj/ +.consulo/ +*.csproj +*.unityproj +*.sln +*.suo +*.tmp +*.user +*.userprefs +*.pidb +*.booproj +*.svd +*.pdb +*.mdb +*.opendb +*.VC.db + +# Unity3D generated meta files +*.pidb.meta +*.pdb.meta +*.mdb.meta + +# Unity3D generated file on crash reports +sysinfo.txt + +# Builds +*.apk +*.unitypackage + +# Crashlytics generated file +crashlytics-build.properties \ No newline at end of file diff --git a/.vsconfig b/.vsconfig new file mode 100644 index 0000000..aade28f --- /dev/null +++ b/.vsconfig @@ -0,0 +1,6 @@ +{ + "version": "1.0", + "components": [ + "Microsoft.VisualStudio.Workload.ManagedGame" + ] +} diff --git a/Assets/ETSI.ARF.meta b/Assets/ETSI.ARF.meta new file mode 100644 index 0000000..f31735a --- /dev/null +++ b/Assets/ETSI.ARF.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: db2f797f7c52e3747afa150badb0577f +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/ETSI.ARF/ARF World Storage API.meta b/Assets/ETSI.ARF/ARF World Storage API.meta new file mode 100644 index 0000000..60d119b --- /dev/null +++ b/Assets/ETSI.ARF/ARF World Storage API.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: e4474d3a0bcb9c44d9fd67da1ebb77c9 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/ETSI.ARF/ARF World Storage API/Editor.meta b/Assets/ETSI.ARF/ARF World Storage API/Editor.meta new file mode 100644 index 0000000..6994f74 --- /dev/null +++ b/Assets/ETSI.ARF/ARF World Storage API/Editor.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 5fec767e3d1954e4e8af5dc2b3d4dd5d +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/ETSI.ARF/ARF World Storage API/Editor/Graph.meta b/Assets/ETSI.ARF/ARF World Storage API/Editor/Graph.meta new file mode 100644 index 0000000..4a78fd5 --- /dev/null +++ b/Assets/ETSI.ARF/ARF World Storage API/Editor/Graph.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 452c5e5fd6387ad4984356aa2f11d245 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/ETSI.ARF/ARF World Storage API/Editor/Graph/ARFGraphView.cs b/Assets/ETSI.ARF/ARF World Storage API/Editor/Graph/ARFGraphView.cs new file mode 100644 index 0000000..23f5c45 --- /dev/null +++ b/Assets/ETSI.ARF/ARF World Storage API/Editor/Graph/ARFGraphView.cs @@ -0,0 +1,89 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEngine.UIElements; +using UnityEditor.Experimental.GraphView; +using System; + +namespace ETSI.ARF.WorldStorage.UI +{ + public class ARFGraphView : GraphView + { + public ARFGraphView() + { + //GridBackground back = new GridBackground(); + //back.StretchToParentSize(); + //Insert(0, back); + + this.AddManipulator(new ContentDragger()); + this.AddManipulator(new SelectionDragger()); + this.AddManipulator(new RectangleSelector()); + + AddElement(GenerateEntryPointNode()); + } + + public override List<Port> GetCompatiblePorts(Port startPort, NodeAdapter nodeAdapter) + { + var cPorts = new List<Port>(); + ports.ForEach (funcCall: port => + { + if (startPort != port && startPort.node != port.node) cPorts.Add(port); + }); + return cPorts; + } + + private Port GeneratePort (ARFNode node, Direction portDirection, Port.Capacity capacity = Port.Capacity.Multi) + { + return node.InstantiatePort(Orientation.Horizontal, portDirection, capacity, typeof(int)); // dummy + } + + private ARFNode GenerateEntryPointNode() + { + var node = new ARFNode + { + title = "World Storage", + text = "EntryPoint", + GUID = Guid.NewGuid().ToString(), + entryPoint = true + }; + + var portOut = GeneratePort(node, Direction.Output); + portOut.portName = "Link"; + node.outputContainer.Add(portOut); + + node.RefreshExpandedState(); + node.RefreshPorts(); + node.SetPosition(new Rect(50, 100, 200, 150)); + return node; + } + + public void CreateNode(string name) + { + AddElement(CreateARFNode(name)); + } + + public ARFNode CreateARFNode(string name) + { + var node = new ARFNode + { + title = name, + text = name, + GUID = Guid.NewGuid().ToString() + }; + + var portIn = GeneratePort(node, Direction.Input, Port.Capacity.Multi); + portIn.portName = "Link"; // "Input"; + node.inputContainer.Add(portIn); + + var portOut = GeneratePort(node, Direction.Output, Port.Capacity.Multi); + portOut.portName = "Link"; // "Output"; + node.outputContainer.Add(portOut); + + node.RefreshExpandedState(); + node.RefreshPorts(); + node.SetPosition(new Rect(200, 100, 200, 150)); + + return node; + } + } +} \ No newline at end of file diff --git a/Assets/ETSI.ARF/ARF World Storage API/Editor/Graph/ARFGraphView.cs.meta b/Assets/ETSI.ARF/ARF World Storage API/Editor/Graph/ARFGraphView.cs.meta new file mode 100644 index 0000000..e0b1d23 --- /dev/null +++ b/Assets/ETSI.ARF/ARF World Storage API/Editor/Graph/ARFGraphView.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 000c7511b9bdea24cb6c962ca1ae26ca +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/ETSI.ARF/ARF World Storage API/Editor/Graph/ARFNode.cs b/Assets/ETSI.ARF/ARF World Storage API/Editor/Graph/ARFNode.cs new file mode 100644 index 0000000..5f64ec9 --- /dev/null +++ b/Assets/ETSI.ARF/ARF World Storage API/Editor/Graph/ARFNode.cs @@ -0,0 +1,34 @@ +// +// ETSI (European Telecommunications Standards Institute, referred to as ETSI) +// ARF - ETSI ISG Augmented Reality Framework (ISG ARF) +// (C) 2022 +// +// Development "World Storage", data management, authoring tools +// +// Authors: +// - Sylvain Renault (Fraunhofer HHI) +// +// Date: Feb. 2022 +// + +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEngine.UIElements; +using UnityEditor.Experimental.GraphView; + +namespace ETSI.ARF.WorldStorage.UI +{ + public class ARFNode : Node + { + public string GUID; + public string text; + public bool entryPoint = false; + + public ARFNode() + { + + + } + } +} \ No newline at end of file diff --git a/Assets/ETSI.ARF/ARF World Storage API/Editor/Graph/ARFNode.cs.meta b/Assets/ETSI.ARF/ARF World Storage API/Editor/Graph/ARFNode.cs.meta new file mode 100644 index 0000000..97a115b --- /dev/null +++ b/Assets/ETSI.ARF/ARF World Storage API/Editor/Graph/ARFNode.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 0216cf1af3743f2429eb4b01db300b0e +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/ETSI.ARF/ARF World Storage API/Editor/GraphMathScript.cs b/Assets/ETSI.ARF/ARF World Storage API/Editor/GraphMathScript.cs new file mode 100644 index 0000000..0d106c5 --- /dev/null +++ b/Assets/ETSI.ARF/ARF World Storage API/Editor/GraphMathScript.cs @@ -0,0 +1,450 @@ +// Source: +// https://gist.github.com/thelastpointer/c52c4b1f147dc47961798e39e3a7ea10 + + +/* + EditorGraph -- quickly draw graphs in the inspector. + Place this in a folder named 'Editor'. +*/ + +/* + USAGE: + public override void OnInspectorGUI() + { + base.OnInspectorGUI(); + + TLP.Editor.EditorGraph graph = new TLP.Editor.EditorGraph(0, -1, 10, 1, "Just a sin wave", 100); + graph.AddFunction(x => Mathf.Sin(x)); + graph.Draw(); + } + + MORE COMPLICATED USAGE: + public override void OnInspectorGUI() + { + base.OnInspectorGUI(); + + TLP.Editor.EditorGraph graph = new TLP.Editor.EditorGraph(0, -1, 10, 1, "Another sin wave!", 100); + graph.AddFunction(x => Mathf.Sin(x)); + + // Another function with a different color + graph.AddFunction(x => Mathf.Sin(x * 2), Color.cyan); + + // Do something when the graph is clicked on + graph.AddClickEvent((x, y) => Debug.LogFormat("You clicked at {0};{1}. The sin value for that is {2}", x, y, Mathf.Sin(x))); + + // Edit some colors... + graph.Colors.Background = new Color(0.2f, 0.2f, 0.2f, 1f); + + // Add two vertical lines + graph.AddLineX(Mathf.PI); + graph.AddLineX(Mathf.PI * 2); + + // Add a horizontal line with different color + graph.AddLineY(0, Color.gray); + + graph.Draw(); + } +*/ + +using UnityEngine; +using UnityEditor; +using System.Collections.Generic; + +namespace TLP.Editor +{ + /// <summary> + /// Draw graphs in the inspector. + /// </summary> + public class EditorGraph + { + /// <summary> + /// Title of the graph. + /// </summary> + public string Title; + + /// <summary> + /// Vertical helper line distance, in graph units (a vertical line will be drawn every X units, starting at minimum X). Set 0 to disable. + /// </summary> + /// <remarks>There will be at most one line per every two pixels.</remarks> + public float GridLinesX = 0; + /// <summary> + /// Horizontal helper line distance, in graph units (a horizontal line will be drawn every Y units, starting at minimum Y). Set 0 to disable. + /// </summary> + /// <remarks>There will be at most one line per every two pixels.</remarks> + public float GridLinesY = 0; + + /// <summary> + /// Color settings. + /// </summary> + public GraphColors Colors; + + /// <summary> + /// Resolution of the graph -- how many points are evaluated and rendered for custom functions. + /// </summary> + public int GraphResolution = 48; + + /// <summary> + /// Constructor. + /// </summary> + /// <param name="_minX">Minimum X value in graph units.</param> + /// <param name="_minY">Minimum Y value in graph units.</param> + /// <param name="_maxX">Maximum X value in graph units.</param> + /// <param name="_maxY">Maximum Y value in graph units.</param> + /// <param name="_title">Title of the graph (optional).</param> + /// <param name="_title">Resolution of the graphs (how many points are evaluated for each custom function).</param> + public EditorGraph(float _minX, float _minY, float _maxX, float _maxY, string _title = "", int _resolution = 48) + { + if (_minX >= _maxX) + throw new System.ArgumentException("Editor graph: minimum X value must be greater than maximum!", "_minX"); + if (_minY >= _maxY) + throw new System.ArgumentException("Editor graph: minimum Y value must be greater than maximum!", "_minY"); + + minX = _minX; + maxX = _maxX; + minY = _minY; + maxY = _maxY; + + rangeX = maxX - minX; + rangeY = maxY - minY; + + Title = _title; + GraphResolution = _resolution; + + // Default graph colors + Colors = new GraphColors + { + Background = new Color(0.15f, 0.15f, 0.15f, 1f), + Outline = new Color(0.15f, 0.15f, 0.15f, 1f), + GridLine = new Color(0.5f, 0.5f, 0.5f), + Function = Color.red, + CustomLine = Color.white + }; + } + + /// <summary> + /// Colors used to draw the graph. + /// </summary> + public struct GraphColors + { + /// <summary> + /// Background color. + /// </summary> + public Color Background; + + /// <summary> + /// Outline color for the graph. + /// </summary> + public Color Outline; + + /// <summary> + /// Helper line color. + /// </summary> + public Color GridLine; + + /// <summary> + /// Default color for custom functions. + /// </summary> + public Color Function; + + /// <summary> + /// Default color for custom lines. + /// </summary> + public Color CustomLine; + } + + #region Public functions + + /// <summary> + /// Draw the graph with the default size (128x80). + /// </summary> + public void Draw() + { + Draw(128, 80); + } + + /// <summary> + /// Draw the graph with the specified minimum size. + /// </summary> + /// <param name="width">Minimum width of the graph in pixels.</param> + /// <param name="height">Minimum height of the graph in pixels.</param> + public void Draw(float width, float height) + { + // Get rect + if (!string.IsNullOrEmpty(Title)) + { + using (new GUILayout.HorizontalScope(EditorStyles.toolbar)) + GUILayout.Label(Title); + } + + // Title + using (new GUILayout.HorizontalScope()) + { + GUILayout.Space(EditorGUI.indentLevel * 15f); + rect = GUILayoutUtility.GetRect(width, height); + } + + // Handle MouseDown events + if (Event.current.type == EventType.MouseDown) + { + if (rect.Contains(Event.current.mousePosition)) + { + Vector2 mousePos = (Event.current.mousePosition - rect.position); + Vector2 unitPos = new Vector2( + mousePos.x / rect.width * rangeX + minX, + (1f - (mousePos.y / rect.height)) * rangeY + minY + ); + + foreach (var e in clickEvents) + e(unitPos.x, unitPos.y); + } + } + + // Only continue if we're repainting the graph + if (Event.current.type != EventType.Repaint) + return; + + // Background + DrawRect(minX, minY, maxX, maxY, Colors.Background, Colors.Outline); + + // Vertical helper lines + if (GridLinesX > 0) + { + float multiplier = 1; + while ((rangeX / (GridLinesX * multiplier)) > (rect.width / 2f)) + multiplier *= 2; + + for (float x = minX; x <= maxX; x += GridLinesX * multiplier) + DrawLine(x, minY, x, maxY, Colors.GridLine, 1); + } + // Horizontal helper lines + if (GridLinesY > 0) + { + float multiplier = 1; + while ((rangeY / (GridLinesY * multiplier)) > (rect.height / 2f)) + multiplier *= 2; + + for (float y = minY; y <= maxY; y += GridLinesY * multiplier) + DrawLine(minX, y, maxX, y, Colors.GridLine, 1); + } + + // Vertical lines + foreach (var line in linesX) + { + DrawLine(line.Position, minY, line.Position, maxY, line.Color, 2); + } + // Horizontal lines + foreach (var line in linesY) + { + DrawLine(minX, line.Position, maxX, line.Position, line.Color, 2); + } + + // Check if the vertex buffer is of the correct size + int res = (GraphResolution <= 0 ? 48 : GraphResolution); + if ((curveVertices == null) || (curveVertices.Length != res)) + curveVertices = new Vector3[res]; + + // Evaluate all functions + foreach (var func in functions) + { + var vcount = 0; + while (vcount < res) + { + var x = this.rangeX * vcount / (res - 1); + var y = func.Function(x); + if ((y > minY) && (y < maxY)) + { + curveVertices[vcount++] = UnitToGraph(x, y); + } + else + { + if (vcount > 1) + { + // Extend the last segment to the top edge of the rect. + var v1 = curveVertices[vcount - 2]; + var v2 = curveVertices[vcount - 1]; + var clip = (rect.y - v1.y) / (v2.y - v1.y); + curveVertices[vcount - 1] = v1 + (v2 - v1) * clip; + } + break; + } + } + + if (vcount > 1) + { + Handles.color = func.Color; + Handles.DrawAAPolyLine(2.0f, vcount, curveVertices); + } + } + } + + /// <summary> + /// Add a custom function to the graph using the default color. + /// </summary> + /// <param name="func">A function that evaluates the graph at a given position (graph units).</param> + public void AddFunction(GraphFunction func) + { + AddFunction(func, Colors.Function); + } + + /// <summary> + /// Add a custom function to the graph. + /// </summary> + /// <param name="func">A function that evaluates the graph at a given position (graph units).</param> + /// <param name="color">Color of the rendered function.</param> + public void AddFunction(GraphFunction func, Color color) + { + foreach (var pair in functions) + { + if (pair.Function == func) + return; + } + + functions.Add(new FunctionColorPair { Function = func, Color = color }); + } + + /// <summary> + /// Register a function that handles click events. Arguments are passed as graph units. + /// </summary> + /// <param name="e">Function to call when the user clicks on the graph.</param> + public void AddClickEvent(MouseEvent e) + { + if (!clickEvents.Contains(e)) + clickEvents.Add(e); + } + + /// <summary> + /// Add a vertical line with the default color. + /// </summary> + /// <param name="value">Position of the line in graph units.</param> + public void AddLineX(float value) + { + AddLineX(value, Colors.CustomLine); + } + + /// <summary> + /// Add a vertical line. + /// </summary> + /// <param name="value">Position of the line in graph units.</param> + /// <param name="color">Color of the line.</param> + public void AddLineX(float value, Color color) + { + foreach (var pair in linesX) + { + if (pair.Position == value) + return; + } + + linesX.Add(new LineColorPair { Position = value, Color = color }); + } + + /// <summary> + /// Add a horizontal line with the default color. + /// </summary> + /// <param name="value">Position of the line in graph units.</param> + public void AddLineY(float value) + { + AddLineY(value, Colors.CustomLine); + } + + /// <summary> + /// Add a horizontal line. + /// </summary> + /// <param name="value">Position of the line in graph units.</param> + /// <param name="color">Color of the line.</param> + public void AddLineY(float value, Color color) + { + foreach (var pair in linesY) + { + if (pair.Position == value) + return; + } + + linesY.Add(new LineColorPair { Position = value, Color = color }); + } + + #endregion + + /// <summary> + /// Custom function delegate. This works in graph units. + /// </summary> + /// <param name="x">Input value, eg. where the function is evaluated.</param> + /// <returns>The evaluated value at position x.</returns> + public delegate float GraphFunction(float x); + + /// <summary> + /// Mouse click delegate. + /// </summary> + /// <param name="x">X position of the click, in graph units.</param> + /// <param name="y">Y position of the click, in graph units.</param> + public delegate void MouseEvent(float x, float y); + + #region Internal state + + // Vertex buffers + Vector3[] rectVertices = new Vector3[4]; + Vector3[] lineVertices = new Vector3[2]; + Vector3[] curveVertices; + + List<FunctionColorPair> functions = new List<FunctionColorPair>(); + List<LineColorPair> linesX = new List<LineColorPair>(); + List<LineColorPair> linesY = new List<LineColorPair>(); + List<MouseEvent> clickEvents = new List<MouseEvent>(); + float minX, maxX, minY, maxY; + Rect rect; + float rangeX = 10; + float rangeY = 10; + + struct FunctionColorPair + { + public GraphFunction Function; + public Color Color; + } + struct LineColorPair + { + public float Position; + public Color Color; + } + + #endregion + + #region Helper functions + + Vector3 UnitToGraph(float x, float y) + { + x = Mathf.Lerp(rect.x, rect.xMax, (x - minX) / rangeX); + y = Mathf.Lerp(rect.yMax, rect.y, (y - minY) / rangeY); + + return new Vector3(x, y, 0); + } + + float UnitToGraphX(float x) + { + return Mathf.Lerp(rect.x, rect.xMax, (x - minX) / rangeX); + } + + float UnitToGraphY(float y) + { + return Mathf.Lerp(rect.yMax, rect.y, (y - minY) / rangeY); + } + + void DrawLine(float x1, float y1, float x2, float y2, Color color, float width) + { + lineVertices[0] = UnitToGraph(x1, y1); + lineVertices[1] = UnitToGraph(x2, y2); + Handles.color = color; + Handles.DrawAAPolyLine(width, lineVertices); + } + + void DrawRect(float x1, float y1, float x2, float y2, Color fill, Color line) + { + rectVertices[0] = UnitToGraph(x1, y1); + rectVertices[1] = UnitToGraph(x2, y1); + rectVertices[2] = UnitToGraph(x2, y2); + rectVertices[3] = UnitToGraph(x1, y2); + + Handles.DrawSolidRectangleWithOutline(rectVertices, fill, line); + } + + #endregion + } +} \ No newline at end of file diff --git a/Assets/ETSI.ARF/ARF World Storage API/Editor/GraphMathScript.cs.meta b/Assets/ETSI.ARF/ARF World Storage API/Editor/GraphMathScript.cs.meta new file mode 100644 index 0000000..2d4c18f --- /dev/null +++ b/Assets/ETSI.ARF/ARF World Storage API/Editor/GraphMathScript.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 963ad0211af9f3f48a53e88d9f9f5be5 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/ETSI.ARF/ARF World Storage API/Editor/GraphWindow.cs b/Assets/ETSI.ARF/ARF World Storage API/Editor/GraphWindow.cs new file mode 100644 index 0000000..170de27 --- /dev/null +++ b/Assets/ETSI.ARF/ARF World Storage API/Editor/GraphWindow.cs @@ -0,0 +1,194 @@ +#define USING_OPENAPI_GENERATOR // alt. is Swagger + +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEditor; +using UnityEditor.Experimental.GraphView; +using UnityEngine.UIElements; +using UnityEditor.UIElements; +using ETSI.ARF.WorldStorage.RESTful; + +#if USING_OPENAPI_GENERATOR +using Org.OpenAPITools.Api; +using Org.OpenAPITools.Model; +#else +using IO.Swagger.Api; +using IO.Swagger.Model; +#endif + + +namespace ETSI.ARF.WorldStorage.UI +{ + + public class GraphWindow : EditorWindow + { + [HideInInspector] public WorldStorageSettings worldStorageSettings; + + [SerializeField] public List<string> trackables = new List<string>(); + + bool groupEnabled; + + string uid = System.Guid.Empty.ToString(); + string creatorUid = System.Guid.Empty.ToString(); + string type = "Unknow"; + string unit = "Unknow"; + Vector2Int dim; + + private Trackable currentTrackable; + private Vector2 scrollPos; + private Color ori; + private GUIStyle gsTest; + + private ARFGraphView myGraph; + + [MenuItem("[ ISG-ARF ]/Graph Editor")] + public static void ShowWindow()//WorldStorageSettings ws) + { + GraphWindow win = EditorWindow.GetWindow(typeof(GraphWindow), false, WorldStorageWindow.winName) as GraphWindow; + //win.worldStorageSettings = ws; + } + + public GraphWindow() + { + // init somne stuffs + //currentTrackable = new Trackable(); + } + + public void OnEnable() + { + ConstructGraphView(); + GenerateToolbar(); + } + + public void OnDisable() + { + rootVisualElement.Remove(myGraph); + } + + private void GenerateToolbar() + { + var toolbar = new Toolbar(); + + var createNodeT = new Button(clickEvent: () => { myGraph.CreateNode("Trackable"); }); + createNodeT.text = "Create Trackable"; + toolbar.Add(createNodeT); + + var createNodeWA = new Button(clickEvent: () => { myGraph.CreateNode("World Anchor"); }); + createNodeWA.text = "Create World Anchor"; + toolbar.Add(createNodeWA); + + var createNodeL = new Button(clickEvent: () => { }); + createNodeL.text = "Create Link"; + toolbar.Add(createNodeL); + + var close = new Button(clickEvent: () => { Close(); }); + close.text = "Close Window"; + toolbar.Add(close); + + rootVisualElement.Add(toolbar); + } + + private void ConstructGraphView() + { + myGraph = new ARFGraphView + { + name = "ARF Graph" + }; + myGraph.StretchToParentSize(); + //myGraph.StretchToParentWidth(); + rootVisualElement.Add(myGraph); + } + + void OnGUI() + { + ori = GUI.backgroundColor; // remember ori color + + gsTest = new GUIStyle("window"); + gsTest.normal.textColor = WorldStorageWindow.arfColors[0]; + gsTest.fontStyle = FontStyle.Bold; + + EditorGUILayout.Space(24); + GUI.contentColor = WorldStorageWindow.arfColors[1]; + WorldStorageWindow.DrawCopyright(); + + //TLP.Editor.EditorGraph graph = new TLP.Editor.EditorGraph(0, -1, 10, 1, "Just a sin wave", 100); + //graph.AddFunction(x => Mathf.Sin(x)); + //graph.Draw(); + } + + void DrawTrackableStuffs()// Trackable trackable) + { + GUILayout.BeginVertical("AR Trackable", gsTest); + // + GUILayout.Label("Server: " + worldStorageSettings.serverName, EditorStyles.whiteLargeLabel); + GUILayout.Label("Creator UID: " + creatorUid, EditorStyles.miniLabel); // readonly + EditorGUILayout.Space(); + + //GUILayout.BeginHorizontal(); + uid = EditorGUILayout.TextField("UID (0 = new one)", uid); + EditorGUILayout.Space(); + + GUI.backgroundColor = WorldStorageWindow.arfColors[1]; + if (GUILayout.Button("Get Parameters")) + { + Trackable t = RESTfulTrackableRequest.GetTrackable(worldStorageSettings, uid); + creatorUid = t.CreatorUID.ToString(); + type = t.GetType().ToString(); + unit = t.UnitSystem.ToString(); + } + GUI.backgroundColor = ori; + + type = EditorGUILayout.TextField("Trackable Type", type); + unit = EditorGUILayout.TextField("Unit System", unit); + + EditorGUILayout.Space(10); + dim = EditorGUILayout.Vector2IntField("Dimension", dim); + + EditorGUILayout.Space(); + GUILayout.Button("Payload from Asset..."); + + EditorGUILayout.Space(); + groupEnabled = EditorGUILayout.BeginToggleGroup("Optional Parameters:", groupEnabled); + EditorGUILayout.IntField("Number of KeyValues", 0); + EditorGUILayout.Space(); + EditorGUILayout.TextField("Key", ""); + EditorGUILayout.TextField("Value", ""); + EditorGUILayout.EndToggleGroup(); + // + GUILayout.EndVertical(); + + GUI.backgroundColor = WorldStorageWindow.arfColors[3]; + if (GUILayout.Button("Delete Trackable")) + { + Debug.Log("Deleting Trackable"); + RESTfulTrackableRequest.DeleteTrackable(worldStorageSettings, uid); + uid = System.Guid.Empty.ToString(); + creatorUid = System.Guid.Empty.ToString(); + type = ""; + unit = ""; + WorldStorageWindow.WorldStorageWindowSingleton.UpdateList(); + WorldStorageWindow.WorldStorageWindowSingleton.Repaint(); + } + GUI.backgroundColor = ori; + + GUI.backgroundColor = WorldStorageWindow.arfColors[2]; + if (GUILayout.Button("Create/Update Trackable")) + { + Debug.Log("PostAddTrackable"); + if (string.IsNullOrEmpty(uid) || uid == "0") uid = System.Guid.Empty.ToString(); + Trackable t = RESTfulTrackableRequest.TrackableFromStrings(uid, worldStorageSettings.creatorUID); + RESTfulTrackableRequest.PostAddTrackable(worldStorageSettings, t); + WorldStorageWindow.WorldStorageWindowSingleton.UpdateList(); + WorldStorageWindow.WorldStorageWindowSingleton.Repaint(); + + uid = t.UID.ToString(); + type = t.GetType().ToString(); + unit = t.UnitSystem.ToString(); + } + GUI.backgroundColor = ori; + } + + + } +} \ No newline at end of file diff --git a/Assets/ETSI.ARF/ARF World Storage API/Editor/GraphWindow.cs.meta b/Assets/ETSI.ARF/ARF World Storage API/Editor/GraphWindow.cs.meta new file mode 100644 index 0000000..dd5ac4d --- /dev/null +++ b/Assets/ETSI.ARF/ARF World Storage API/Editor/GraphWindow.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 8dd64e8d8a545ab45b424402550b55a6 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/ETSI.ARF/ARF World Storage API/Editor/TrackableWindow.cs b/Assets/ETSI.ARF/ARF World Storage API/Editor/TrackableWindow.cs new file mode 100644 index 0000000..447f2eb --- /dev/null +++ b/Assets/ETSI.ARF/ARF World Storage API/Editor/TrackableWindow.cs @@ -0,0 +1,163 @@ +// +// ETSI (European Telecommunications Standards Institute, referred to as ETSI) +// ARF - ETSI ISG Augmented Reality Framework (ISG ARF) +// (C) 2022 +// +// Development "World Storage", data management, authoring tools +// +// Authors: +// - Sylvain Renault (Fraunhofer HHI) +// +// Date: Feb. 2022 +// + +#define USING_OPENAPI_GENERATOR // alt. is Swagger + +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEditor; +using ETSI.ARF.WorldStorage.RESTful; + +#if USING_OPENAPI_GENERATOR +using Org.OpenAPITools.Api; +using Org.OpenAPITools.Model; +#else +using IO.Swagger.Api; +using IO.Swagger.Model; +#endif + + +namespace ETSI.ARF.WorldStorage.UI +{ + public class TrackableWindow : EditorWindow + { + [HideInInspector] public WorldStorageSettings worldStorageSettings; + + [SerializeField] public List<string> trackables = new List<string>(); + + bool groupEnabled; + + string uid = System.Guid.Empty.ToString(); + string creatorUid = System.Guid.Empty.ToString(); + string type = "Unknow"; + string unit = "Unknow"; + Vector2Int dim; + + private Trackable currentTrackable; + private Vector2 scrollPos; + private Color ori; + private GUIStyle gsTest; + + public static void ShowWindow(WorldStorageSettings ws) + { + TrackableWindow win = EditorWindow.GetWindow(typeof(TrackableWindow), false, WorldStorageWindow.winName) as TrackableWindow; + win.worldStorageSettings = ws; + } + + public TrackableWindow() + { + // init somne stuffs + //currentTrackable = new Trackable(); + } + + void OnGUI() + { + ori = GUI.backgroundColor; // remember ori color + + gsTest = new GUIStyle("window"); + gsTest.normal.textColor = WorldStorageWindow.arfColors[0]; + gsTest.fontStyle = FontStyle.Bold; + + scrollPos = EditorGUILayout.BeginScrollView(scrollPos, GUILayout.ExpandWidth(true)); + WorldStorageWindow.DrawCopyright(); + + DrawTrackableStuffs();// currentTrackable); + + EditorGUILayout.EndScrollView(); + + if (GUILayout.Button("Close Window")) + { + Close(); + } + } + + void DrawTrackableStuffs()// Trackable trackable) + { + GUILayout.BeginVertical("AR Trackable", gsTest); + // + GUILayout.Label("Server: " + worldStorageSettings.serverName, EditorStyles.whiteLargeLabel); + GUILayout.Label("Creator UID: " + creatorUid, EditorStyles.miniLabel); // readonly + EditorGUILayout.Space(); + + //GUILayout.BeginHorizontal(); + uid = EditorGUILayout.TextField("UID (0 = new one)", uid); + EditorGUILayout.Space(); + + GUI.backgroundColor = WorldStorageWindow.arfColors[1]; + if (GUILayout.Button("Get Parameters")) + { + Trackable t = RESTfulTrackableRequest.GetTrackable(worldStorageSettings, uid); + creatorUid = t.CreatorUID.ToString(); + type = t.GetType().ToString(); + unit = t.UnitSystem.ToString(); + } + GUI.backgroundColor = ori; + + type = EditorGUILayout.TextField("Trackable Type", type); + unit = EditorGUILayout.TextField("Unit System", unit); + + EditorGUILayout.Space(10); + dim = EditorGUILayout.Vector2IntField("Dimension", dim); + + EditorGUILayout.Space(); + GUILayout.Button("Payload from Asset..."); + + EditorGUILayout.Space(); + groupEnabled = EditorGUILayout.BeginToggleGroup("Optional Parameters:", groupEnabled); + EditorGUILayout.IntField("Number of KeyValues", 0); + EditorGUILayout.Space(); + EditorGUILayout.TextField("Key", ""); + EditorGUILayout.TextField("Value", ""); + EditorGUILayout.EndToggleGroup(); + // + GUILayout.EndVertical(); + + GUI.backgroundColor = WorldStorageWindow.arfColors[3]; + if (GUILayout.Button("Delete Trackable")) + { + Debug.Log("Deleting Trackable"); + RESTfulTrackableRequest.DeleteTrackable(worldStorageSettings, uid); + uid = System.Guid.Empty.ToString(); + creatorUid = System.Guid.Empty.ToString(); + type = ""; + unit = ""; + WorldStorageWindow.WorldStorageWindowSingleton.UpdateList(); + WorldStorageWindow.WorldStorageWindowSingleton.Repaint(); + } + GUI.backgroundColor = ori; + + GUI.backgroundColor = WorldStorageWindow.arfColors[2]; + if (GUILayout.Button("Create/Update Trackable")) + { + Debug.Log("PostAddTrackable"); + if (string.IsNullOrEmpty(uid) || uid == "0") uid = System.Guid.Empty.ToString(); + Trackable t = RESTfulTrackableRequest.TrackableFromStrings(uid, worldStorageSettings.creatorUID); + RESTfulTrackableRequest.PostAddTrackable(worldStorageSettings, t); + WorldStorageWindow.WorldStorageWindowSingleton.UpdateList(); + WorldStorageWindow.WorldStorageWindowSingleton.Repaint(); + + uid = t.UID.ToString(); + type = t.GetType().ToString(); + unit = t.UnitSystem.ToString(); + } + GUI.backgroundColor = WorldStorageWindow.arfColors[5]; + if (GUILayout.Button("Generate GameObject Component")) + { + } + GUI.backgroundColor = ori; + } + + + } +} \ No newline at end of file diff --git a/Assets/ETSI.ARF/ARF World Storage API/Editor/TrackableWindow.cs.meta b/Assets/ETSI.ARF/ARF World Storage API/Editor/TrackableWindow.cs.meta new file mode 100644 index 0000000..40f6111 --- /dev/null +++ b/Assets/ETSI.ARF/ARF World Storage API/Editor/TrackableWindow.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 229d5ea484d30f945b9318581fb4f2da +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/ETSI.ARF/ARF World Storage API/Editor/WorldAnchorWindow.cs b/Assets/ETSI.ARF/ARF World Storage API/Editor/WorldAnchorWindow.cs new file mode 100644 index 0000000..b0d4f44 --- /dev/null +++ b/Assets/ETSI.ARF/ARF World Storage API/Editor/WorldAnchorWindow.cs @@ -0,0 +1,122 @@ +// +// ETSI (European Telecommunications Standards Institute, referred to as ETSI) +// ARF - ETSI ISG Augmented Reality Framework (ISG ARF) +// (C) 2022 +// +// Development "World Storage", data management, authoring tools +// +// Authors: +// - Sylvain Renault (Fraunhofer HHI) +// +// Date: Feb. 2022 +// + +#define USING_OPENAPI_GENERATOR // alt. is Swagger + +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEditor; +using ETSI.ARF.WorldStorage.RESTful; + +#if USING_OPENAPI_GENERATOR +using Org.OpenAPITools.Api; +using Org.OpenAPITools.Model; +#else +using IO.Swagger.Api; +using IO.Swagger.Model; +#endif + +namespace ETSI.ARF.WorldStorage.UI +{ + public class WorldAnchorWindow : EditorWindow + { + [HideInInspector] public WorldStorageSettings worldStorageSettings; + + [SerializeField] public List<string> anchors = new List<string>(); + + bool groupEnabled; + + string creatorUid = System.Guid.Empty.ToString(); + string uid = System.Guid.Empty.ToString(); + string type = "Unknow"; + string unit = "Unknow"; + Vector2Int dim; + + private Vector2 scrollPos; + private Color ori; + private GUIStyle gsTest; + + public static void ShowWindow(WorldStorageSettings ws) + { + WorldAnchorWindow win = EditorWindow.GetWindow(typeof(WorldAnchorWindow), false, WorldStorageWindow.winName) as WorldAnchorWindow; + win.worldStorageSettings = ws; + } + + public WorldAnchorWindow() + { + // init somne stuffs + } + + void OnGUI() + { + ori = GUI.backgroundColor; // remember ori color + gsTest = new GUIStyle("window"); + gsTest.normal.textColor = WorldStorageWindow.arfColors[0]; + gsTest.fontStyle = FontStyle.Bold; + + scrollPos = EditorGUILayout.BeginScrollView(scrollPos, GUILayout.ExpandWidth(true)); + WorldStorageWindow.DrawCopyright(); + DrawAnchorStuffs(); + EditorGUILayout.EndScrollView(); + + if (GUILayout.Button("Close Window")) + { + Close(); + } + } + + void DrawAnchorStuffs() + { + GUILayout.BeginVertical("AR World Anchor", gsTest); + // + GUILayout.Label("Server: " + worldStorageSettings.serverName, EditorStyles.whiteLargeLabel); + GUILayout.Label("Creator UID: " + creatorUid, EditorStyles.miniLabel); // readonly + EditorGUILayout.Space(); + + //GUILayout.BeginHorizontal(); + uid = EditorGUILayout.TextField("UID (0 = create new)", uid); + EditorGUILayout.Space(); + + GUI.backgroundColor = WorldStorageWindow.arfColors[1]; + if (GUILayout.Button("Get Parameters")) + { + //WorldStorageRestRequest.PostAddTrackable(worldStorageSettings); + } + GUI.backgroundColor = ori; + //GUILayout.EndHorizontal(); + + type = EditorGUILayout.TextField("Anchor Type", type); + unit = EditorGUILayout.TextField("Unit System", unit); + + EditorGUILayout.Space(); + groupEnabled = EditorGUILayout.BeginToggleGroup("Optional Parameters:", groupEnabled); + EditorGUILayout.IntField("Number of KeyValues", 0); + EditorGUILayout.Space(); + EditorGUILayout.TextField("Key", ""); + EditorGUILayout.TextField("Value", ""); + EditorGUILayout.EndToggleGroup(); + + // + GUILayout.EndVertical(); + + GUI.backgroundColor = WorldStorageWindow.arfColors[2]; + if (GUILayout.Button("Create/Update World Anchor")) + { + Debug.Log("PostAddWorldAnchor"); + RESTfulTrackableRequest.PostAddWorldAnchor(worldStorageSettings); + } + GUI.backgroundColor = ori; + } + } +} \ No newline at end of file diff --git a/Assets/ETSI.ARF/ARF World Storage API/Editor/WorldAnchorWindow.cs.meta b/Assets/ETSI.ARF/ARF World Storage API/Editor/WorldAnchorWindow.cs.meta new file mode 100644 index 0000000..c4ffaff --- /dev/null +++ b/Assets/ETSI.ARF/ARF World Storage API/Editor/WorldAnchorWindow.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: a0f67f823dd6ff246be6c656b120756e +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/ETSI.ARF/ARF World Storage API/Editor/WorldStorageSettingsEditor.cs b/Assets/ETSI.ARF/ARF World Storage API/Editor/WorldStorageSettingsEditor.cs new file mode 100644 index 0000000..07a4590 --- /dev/null +++ b/Assets/ETSI.ARF/ARF World Storage API/Editor/WorldStorageSettingsEditor.cs @@ -0,0 +1,66 @@ +// +// ETSI (European Telecommunications Standards Institute, referred to as ETSI) +// ARF - ETSI ISG Augmented Reality Framework (ISG ARF) +// (C) 2022 +// +// Development "World Storage", data management, authoring tools +// +// Authors: +// - Sylvain Renault (Fraunhofer HHI) +// +// Date: Feb. 2022 +// + +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEditor; + +namespace ETSI.ARF.WorldStorage.UI +{ + [CustomEditor(typeof(WorldStorageSettings))] + public class WorldStorageSettingsEditor : Editor + { + WorldStorageSettings worldStorageSettings; + WorldStorageWindow win; + + public void OnEnable() + { + worldStorageSettings = (WorldStorageSettings)target; + } + + public override void OnInspectorGUI() + { + serializedObject.Update(); + + Color ori = GUI.backgroundColor; + + GUILayout.Label("Copyright(c) 2022, ETSI - ARF"); + EditorGUILayout.Space(); + GUILayout.Label("Parameters:", EditorStyles.boldLabel); + DrawDefaultInspector(); + EditorGUILayout.Space(); + + // creator uid button + //GUILayout.BeginHorizontal(); + //GUI.backgroundColor = WorldStorageWindow.arfColors[1]; + if (GUILayout.Button("Create New Creator UID")) + { + worldStorageSettings.creatorUID = System.Guid.NewGuid().ToString(); + if (win != null) win.worldStorageSettings.creatorUID = worldStorageSettings.creatorUID; + } + //GUI.backgroundColor = ori; + //GUILayout.EndHorizontal(); + + // open win button + GUI.backgroundColor = WorldStorageWindow.arfColors[1]; + if (GUILayout.Button("Open World Storage Window...")) + { + Debug.Log("Open Main ARF Window"); + win = EditorWindow.GetWindow(typeof(WorldStorageWindow), false, "ETSI ARF - Authoring Editor") as WorldStorageWindow; + win.worldStorageSettings = worldStorageSettings; + } + GUI.backgroundColor = ori; + } + } +} \ No newline at end of file diff --git a/Assets/ETSI.ARF/ARF World Storage API/Editor/WorldStorageSettingsEditor.cs.meta b/Assets/ETSI.ARF/ARF World Storage API/Editor/WorldStorageSettingsEditor.cs.meta new file mode 100644 index 0000000..2cc100f --- /dev/null +++ b/Assets/ETSI.ARF/ARF World Storage API/Editor/WorldStorageSettingsEditor.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 878ee3c4c6608354f90354fd159f4e04 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/ETSI.ARF/ARF World Storage API/Editor/WorldStorageWindow.cs b/Assets/ETSI.ARF/ARF World Storage API/Editor/WorldStorageWindow.cs new file mode 100644 index 0000000..7658ceb --- /dev/null +++ b/Assets/ETSI.ARF/ARF World Storage API/Editor/WorldStorageWindow.cs @@ -0,0 +1,235 @@ +// +// ETSI (European Telecommunications Standards Institute, referred to as ETSI) +// ARF - ETSI ISG Augmented Reality Framework (ISG ARF) +// (C) 2022 +// +// Development "World Storage", data management, authoring tools +// +// Authors: +// - Sylvain Renault (Fraunhofer HHI) +// +// Date: Feb. 2022 +// + +#define USING_OPENAPI_GENERATOR // alt. is Swagger + +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEditor; +using ETSI.ARF.WorldStorage.RESTful; + +#if USING_OPENAPI_GENERATOR +using Org.OpenAPITools.Api; +using Org.OpenAPITools.Model; +#else +using IO.Swagger.Api; +using IO.Swagger.Model; +#endif + + +namespace ETSI.ARF.WorldStorage.UI +{ + public class WorldStorageWindow : EditorWindow + { + static public WorldStorageWindow WorldStorageWindowSingleton; + + [HideInInspector] public WorldStorageSettings worldStorageSettings; + + [SerializeField] public List<string> creators = new List<string>(); + [SerializeField] public List<string> trackables = new List<string>(); + + string vers = "Unknow"; + + private Vector2 scrollPos; + private Color ori; + private GUIStyle gsTest; + + static public string winName = "ARF Authoring Editor"; + static public Color[] arfColors = new Color[] + { + Color.yellow, // paneltext + new Color(0.3f, 1f, 1f), // button REST + new Color(1f, 1f, 0.3f), // button create + window + new Color(1f, 0f, 0f), // button delete (red) + new Color(1f, 0f, 1f), // button graph + new Color(.7f, .5f, 1f) // button prefab + }; + + + //[MenuItem("[ ISG-ARF ]/World Storage Editor")] + public static void ShowWindow() + { + EditorWindow.GetWindow(typeof(WorldStorageWindow), false, WorldStorageWindow.winName); + } + + public WorldStorageWindow() + { + WorldStorageWindowSingleton = this; + } + static public void DrawCopyright() + { + // Title + GUILayout.Label("Augmented Reality Framework", EditorStyles.boldLabel); + GUILayout.Label("Copyright(c) 2022, ETSI (BSD 3-Clause License)"); + } + + void OnGUI() + { + ori = GUI.backgroundColor; + gsTest = new GUIStyle("window"); + gsTest.fontStyle = FontStyle.Bold; + gsTest.normal.textColor = WorldStorageWindow.arfColors[0]; + + scrollPos = EditorGUILayout.BeginScrollView(scrollPos, GUILayout.ExpandWidth(true)); + WorldStorageWindow.DrawCopyright(); + DrawServerStuffs(); + + GUI.backgroundColor = WorldStorageWindow.arfColors[2]; + if (GUILayout.Button("Create/Edit Trackable...")) + { + Debug.Log("Open Trackable Window"); + TrackableWindow.ShowWindow(worldStorageSettings); + } + if (GUILayout.Button("Create/Edit World Anchor...")) + { + Debug.Log("Open World Anchor Window"); + WorldAnchorWindow.ShowWindow(worldStorageSettings); + } + if (GUILayout.Button("Create/Edit Link...")) + { + } + + GUI.backgroundColor = WorldStorageWindow.arfColors[4]; + if (GUILayout.Button("Show Graph...")) + { + GraphWindow.ShowWindow(); + } + EditorGUILayout.EndScrollView(); + } + + public void UpdateList() + { + // Get all objects + Debug.Log("Get all server objects"); + List<Trackable> res = RESTfulTrackableRequest.GetAllTrackables(worldStorageSettings); + trackables.Clear(); + foreach (var item in res) + { + trackables.Add(item.UID.ToString()); + } + } + + void DrawServerStuffs() + { + // Server info + GUILayout.BeginVertical("World Storage Server", gsTest); + // + GUILayout gl = new GUILayout(); + + GUILayout.Label("Server Name: " + worldStorageSettings.serverName, EditorStyles.whiteLargeLabel); + GUILayout.Label("Own Creator UID: " + worldStorageSettings.creatorUID); + GUILayout.Label("Base Path: " + worldStorageSettings.basePath); + GUILayout.Label("Port: " + worldStorageSettings.port); + + EditorGUILayout.Space(); + + // Ping + EditorGUILayout.Space(); + if (GUILayout.Button("Ping")) + { + vers = RESTfulTrackableRequest.Ping(worldStorageSettings); + } + + // Version + GUILayout.BeginHorizontal(); + vers = EditorGUILayout.TextField("Version", vers); + + if (GUILayout.Button("Get World Storage API Version")) + { + vers = RESTfulTrackableRequest.GetAdminInfo(worldStorageSettings); + } + GUI.backgroundColor = ori; + GUILayout.EndHorizontal(); + + ScriptableObject target = this; + SerializedObject so = new SerializedObject(target); + + // Get creators + #region Get all creatorUid + EditorGUILayout.Space(10); + GUI.backgroundColor = WorldStorageWindow.arfColors[1]; + if (GUILayout.Button("Request all Creator ID")) + { + // Get all objects + Debug.Log("Get all creators id"); + List<Trackable> res = RESTfulTrackableRequest.GetAllTrackables(worldStorageSettings); + creators.Clear(); + foreach (var item in res) + { + if (!creators.Contains(item.CreatorUID.ToString())) creators.Add(item.CreatorUID.ToString()); + } + } + GUI.backgroundColor = ori; + + SerializedProperty stringsProperty = so.FindProperty("creators"); + EditorGUILayout.PropertyField(stringsProperty, true); // True means show children + so.ApplyModifiedProperties(); // Remember to apply modified properties + #endregion + + // Get trackables + #region Get all trackable objects + EditorGUILayout.Space(10); + GUI.backgroundColor = WorldStorageWindow.arfColors[1]; + if (GUILayout.Button("Request all Trackable ID")) + { + UpdateList(); + } + GUI.backgroundColor = ori; + //GUILayout.Label("Number of Trackables: " + trackables.Count.ToString()); + + GUI.backgroundColor = WorldStorageWindow.arfColors[3]; + if (GUILayout.Button("Delete all Trackables (5 stay in!!!)")) + { + Debug.Log("Deleting all Trackable "); + int n = 0; + foreach (var item in trackables) + { + if (++n > 5) RESTfulTrackableRequest.DeleteTrackable(worldStorageSettings, item); + } + + UpdateList(); + WorldStorageWindow.WorldStorageWindowSingleton.Repaint(); + } + GUI.backgroundColor = ori; + + stringsProperty = so.FindProperty("trackables"); + EditorGUILayout.PropertyField(stringsProperty, /*new GUIContent("Trackbales"),*/ true); // True means show children + so.ApplyModifiedProperties(); // Remember to apply modified properties + #endregion + + // Anchors + #region Get all anchor objects + GUI.backgroundColor = WorldStorageWindow.arfColors[1]; + if (GUILayout.Button("Request all Anchor ID")) + { + + } + GUI.backgroundColor = ori; + #endregion + + // Links + #region Get all link objects + GUI.backgroundColor = WorldStorageWindow.arfColors[1]; + if (GUILayout.Button("Request all Link ID")) + { + + } + GUI.backgroundColor = ori; + #endregion + + // + GUILayout.EndVertical(); + } + } +} \ No newline at end of file diff --git a/Assets/ETSI.ARF/ARF World Storage API/Editor/WorldStorageWindow.cs.meta b/Assets/ETSI.ARF/ARF World Storage API/Editor/WorldStorageWindow.cs.meta new file mode 100644 index 0000000..c8d7fb0 --- /dev/null +++ b/Assets/ETSI.ARF/ARF World Storage API/Editor/WorldStorageWindow.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: a1647df9b48bf4f49a664a929fff57ff +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/ETSI.ARF/ARF World Storage API/Materials.meta b/Assets/ETSI.ARF/ARF World Storage API/Materials.meta new file mode 100644 index 0000000..c43ac24 --- /dev/null +++ b/Assets/ETSI.ARF/ARF World Storage API/Materials.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 4da599b9c3d07b8418c44e099b51e460 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/ETSI.ARF/ARF World Storage API/Prefabs.meta b/Assets/ETSI.ARF/ARF World Storage API/Prefabs.meta new file mode 100644 index 0000000..3afe3fd --- /dev/null +++ b/Assets/ETSI.ARF/ARF World Storage API/Prefabs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 58d625e15ff264e479d393186a4a9827 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/ETSI.ARF/ARF World Storage API/Scenes.meta b/Assets/ETSI.ARF/ARF World Storage API/Scenes.meta new file mode 100644 index 0000000..4ef537e --- /dev/null +++ b/Assets/ETSI.ARF/ARF World Storage API/Scenes.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: bee2e150130771041a1a97b017e971db +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/ETSI.ARF/ARF World Storage API/Scenes/WorldStorageSample.unity b/Assets/ETSI.ARF/ARF World Storage API/Scenes/WorldStorageSample.unity new file mode 100644 index 0000000..2e05d63 --- /dev/null +++ b/Assets/ETSI.ARF/ARF World Storage API/Scenes/WorldStorageSample.unity @@ -0,0 +1,396 @@ +%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.212, g: 0.227, b: 0.259, 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: 1 + m_AmbientMode: 0 + m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} + m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0} + 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: 705507994} + m_IndirectSpecularColor: {r: 0.44657898, g: 0.4964133, b: 0.5748178, a: 1} + m_UseRadianceAmbientProbe: 0 +--- !u!157 &3 +LightmapSettings: + m_ObjectHideFlags: 0 + serializedVersion: 12 + m_GIWorkflowMode: 1 + m_GISettings: + serializedVersion: 2 + m_BounceScale: 1 + m_IndirectOutputScale: 1 + m_AlbedoBoost: 1 + m_EnvironmentLightingMode: 0 + m_EnableBakedLightmaps: 1 + 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: 0} + m_LightingSettings: {fileID: 0} +--- !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 + maxJobWorkers: 0 + preserveTilesOutsideBounds: 0 + debug: + m_Flags: 0 + m_NavMeshData: {fileID: 0} +--- !u!1 &705507993 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 705507995} + - component: {fileID: 705507994} + m_Layer: 0 + m_Name: Directional Light + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!108 &705507994 +Light: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 705507993} + m_Enabled: 1 + serializedVersion: 10 + m_Type: 1 + m_Shape: 0 + m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1} + m_Intensity: 1 + m_Range: 10 + m_SpotAngle: 30 + m_InnerSpotAngle: 21.80208 + m_CookieSize: 10 + m_Shadows: + m_Type: 2 + m_Resolution: -1 + m_CustomResolution: -1 + m_Strength: 1 + m_Bias: 0.05 + m_NormalBias: 0.4 + m_NearPlane: 0.2 + m_CullingMatrixOverride: + e00: 1 + e01: 0 + e02: 0 + e03: 0 + e10: 0 + e11: 1 + e12: 0 + e13: 0 + e20: 0 + e21: 0 + e22: 1 + e23: 0 + e30: 0 + e31: 0 + e32: 0 + e33: 1 + m_UseCullingMatrixOverride: 0 + m_Cookie: {fileID: 0} + m_DrawHalo: 0 + m_Flare: {fileID: 0} + m_RenderMode: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingLayerMask: 1 + m_Lightmapping: 1 + m_LightShadowCasterMode: 0 + m_AreaSize: {x: 1, y: 1} + m_BounceIntensity: 1 + m_ColorTemperature: 6570 + m_UseColorTemperature: 0 + m_BoundingSphereOverride: {x: 0, y: 0, z: 0, w: 0} + m_UseBoundingSphereOverride: 0 + m_UseViewFrustumForShadowCasterCull: 1 + m_ShadowRadius: 0 + m_ShadowAngle: 0 +--- !u!4 &705507995 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 705507993} + m_LocalRotation: {x: 0.40821788, y: -0.23456968, z: 0.10938163, w: 0.8754261} + m_LocalPosition: {x: 0, y: 3, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0} +--- !u!1 &763049753 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 763049757} + - component: {fileID: 763049756} + - component: {fileID: 763049755} + - component: {fileID: 763049754} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!65 &763049754 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 763049753} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!23 &763049755 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 763049753} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &763049756 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 763049753} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!4 &763049757 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 763049753} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &963194225 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 963194228} + - component: {fileID: 963194227} + - component: {fileID: 963194226} + 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 &963194226 +AudioListener: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 963194225} + m_Enabled: 1 +--- !u!20 &963194227 +Camera: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 963194225} + m_Enabled: 1 + serializedVersion: 2 + m_ClearFlags: 1 + m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, 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.3 + 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: 0 + m_OcclusionCulling: 1 + m_StereoConvergence: 10 + m_StereoSeparation: 0.022 +--- !u!4 &963194228 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 963194225} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 1, z: -10} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} diff --git a/Assets/ETSI.ARF/ARF World Storage API/Scenes/WorldStorageSample.unity.meta b/Assets/ETSI.ARF/ARF World Storage API/Scenes/WorldStorageSample.unity.meta new file mode 100644 index 0000000..b6fb1ad --- /dev/null +++ b/Assets/ETSI.ARF/ARF World Storage API/Scenes/WorldStorageSample.unity.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: dbbcc65439ff48d408afb63972fb59e3 +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/ETSI.ARF/ARF World Storage API/Scenes/WorldStorageSettings_HHI_Detlef.asset b/Assets/ETSI.ARF/ARF World Storage API/Scenes/WorldStorageSettings_HHI_Detlef.asset new file mode 100644 index 0000000..a50e697 --- /dev/null +++ b/Assets/ETSI.ARF/ARF World Storage API/Scenes/WorldStorageSettings_HHI_Detlef.asset @@ -0,0 +1,18 @@ +%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: e4b7be4c33f68d0418c3b4e1a7053d91, type: 3} + m_Name: WorldStorageSettings_HHI_Detlef + m_EditorClassIdentifier: + serverName: Detlef's PC + creatorUID: 00000000-0000-0000-0000-000000000000 + basePath: http://172.17.132.19 + port: 8080 diff --git a/Assets/ETSI.ARF/ARF World Storage API/Scenes/WorldStorageSettings_HHI_Detlef.asset.meta b/Assets/ETSI.ARF/ARF World Storage API/Scenes/WorldStorageSettings_HHI_Detlef.asset.meta new file mode 100644 index 0000000..6e4830d --- /dev/null +++ b/Assets/ETSI.ARF/ARF World Storage API/Scenes/WorldStorageSettings_HHI_Detlef.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: b656b4f6c38b83148a06d0ccd523227c +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/ETSI.ARF/ARF World Storage API/Scriptables.meta b/Assets/ETSI.ARF/ARF World Storage API/Scriptables.meta new file mode 100644 index 0000000..64ab464 --- /dev/null +++ b/Assets/ETSI.ARF/ARF World Storage API/Scriptables.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: efec94a96917ef946ab027baa62bc0bc +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/ETSI.ARF/ARF World Storage API/Scriptables/myWorldStorageSettings.asset b/Assets/ETSI.ARF/ARF World Storage API/Scriptables/myWorldStorageSettings.asset new file mode 100644 index 0000000..58c245c --- /dev/null +++ b/Assets/ETSI.ARF/ARF World Storage API/Scriptables/myWorldStorageSettings.asset @@ -0,0 +1,17 @@ +%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: e4b7be4c33f68d0418c3b4e1a7053d91, type: 3} + m_Name: myWorldStorageSettings + m_EditorClassIdentifier: + serverName: HHI Servers + basePath: https://localhosts + port: 40311 diff --git a/Assets/ETSI.ARF/ARF World Storage API/Scriptables/myWorldStorageSettings.asset.meta b/Assets/ETSI.ARF/ARF World Storage API/Scriptables/myWorldStorageSettings.asset.meta new file mode 100644 index 0000000..60f3073 --- /dev/null +++ b/Assets/ETSI.ARF/ARF World Storage API/Scriptables/myWorldStorageSettings.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 1d9997341aa0c1c45810f4b291addf39 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/ETSI.ARF/ARF World Storage API/Scripts.meta b/Assets/ETSI.ARF/ARF World Storage API/Scripts.meta new file mode 100644 index 0000000..f83558e --- /dev/null +++ b/Assets/ETSI.ARF/ARF World Storage API/Scripts.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: be2764d34364d6e4e8b4811c9fe72a5b +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scenes.meta b/Assets/Scenes.meta new file mode 100644 index 0000000..7bf301b --- /dev/null +++ b/Assets/Scenes.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: da130fac0511daa458eef83025af651e +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scenes/SampleScene.unity b/Assets/Scenes/SampleScene.unity new file mode 100644 index 0000000..9c5c0d0 --- /dev/null +++ b/Assets/Scenes/SampleScene.unity @@ -0,0 +1,301 @@ +%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.212, g: 0.227, b: 0.259, 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: 1 + m_AmbientMode: 0 + m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} + m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0} + 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: 705507994} + m_IndirectSpecularColor: {r: 0.44657898, g: 0.4964133, b: 0.5748178, a: 1} + m_UseRadianceAmbientProbe: 0 +--- !u!157 &3 +LightmapSettings: + m_ObjectHideFlags: 0 + serializedVersion: 12 + m_GIWorkflowMode: 1 + m_GISettings: + serializedVersion: 2 + m_BounceScale: 1 + m_IndirectOutputScale: 1 + m_AlbedoBoost: 1 + m_EnvironmentLightingMode: 0 + m_EnableBakedLightmaps: 1 + 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: 0} + m_LightingSettings: {fileID: 0} +--- !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 + maxJobWorkers: 0 + preserveTilesOutsideBounds: 0 + debug: + m_Flags: 0 + m_NavMeshData: {fileID: 0} +--- !u!1 &705507993 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 705507995} + - component: {fileID: 705507994} + m_Layer: 0 + m_Name: Directional Light + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!108 &705507994 +Light: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 705507993} + m_Enabled: 1 + serializedVersion: 10 + m_Type: 1 + m_Shape: 0 + m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1} + m_Intensity: 1 + m_Range: 10 + m_SpotAngle: 30 + m_InnerSpotAngle: 21.80208 + m_CookieSize: 10 + m_Shadows: + m_Type: 2 + m_Resolution: -1 + m_CustomResolution: -1 + m_Strength: 1 + m_Bias: 0.05 + m_NormalBias: 0.4 + m_NearPlane: 0.2 + m_CullingMatrixOverride: + e00: 1 + e01: 0 + e02: 0 + e03: 0 + e10: 0 + e11: 1 + e12: 0 + e13: 0 + e20: 0 + e21: 0 + e22: 1 + e23: 0 + e30: 0 + e31: 0 + e32: 0 + e33: 1 + m_UseCullingMatrixOverride: 0 + m_Cookie: {fileID: 0} + m_DrawHalo: 0 + m_Flare: {fileID: 0} + m_RenderMode: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingLayerMask: 1 + m_Lightmapping: 1 + m_LightShadowCasterMode: 0 + m_AreaSize: {x: 1, y: 1} + m_BounceIntensity: 1 + m_ColorTemperature: 6570 + m_UseColorTemperature: 0 + m_BoundingSphereOverride: {x: 0, y: 0, z: 0, w: 0} + m_UseBoundingSphereOverride: 0 + m_UseViewFrustumForShadowCasterCull: 1 + m_ShadowRadius: 0 + m_ShadowAngle: 0 +--- !u!4 &705507995 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 705507993} + m_LocalRotation: {x: 0.40821788, y: -0.23456968, z: 0.10938163, w: 0.8754261} + m_LocalPosition: {x: 0, y: 3, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0} +--- !u!1 &963194225 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 963194228} + - component: {fileID: 963194227} + - component: {fileID: 963194226} + 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 &963194226 +AudioListener: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 963194225} + m_Enabled: 1 +--- !u!20 &963194227 +Camera: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 963194225} + m_Enabled: 1 + serializedVersion: 2 + m_ClearFlags: 1 + m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, 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.3 + 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: 0 + m_OcclusionCulling: 1 + m_StereoConvergence: 10 + m_StereoSeparation: 0.022 +--- !u!4 &963194228 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 963194225} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 1, z: -10} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} diff --git a/Assets/Scenes/SampleScene.unity.meta b/Assets/Scenes/SampleScene.unity.meta new file mode 100644 index 0000000..952bd1e --- /dev/null +++ b/Assets/Scenes/SampleScene.unity.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 9fc0d4010bbf28b4594072e72b8655ab +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/manifest.json b/Packages/manifest.json new file mode 100644 index 0000000..7d93fb8 --- /dev/null +++ b/Packages/manifest.json @@ -0,0 +1,44 @@ +{ + "dependencies": { + "com.unity.collab-proxy": "1.3.9", + "com.unity.ide.rider": "2.0.7", + "com.unity.ide.visualstudio": "2.0.7", + "com.unity.ide.vscode": "1.2.3", + "com.unity.test-framework": "1.1.24", + "com.unity.textmeshpro": "3.0.4", + "com.unity.timeline": "1.4.7", + "com.unity.ugui": "1.0.0", + "etsi.isg.arf.worldstorage": "file:D:/Fraunhofer/Projects/ETSI/ETSI Labs-STF/unity-world-storage-package", + "com.unity.modules.ai": "1.0.0", + "com.unity.modules.androidjni": "1.0.0", + "com.unity.modules.animation": "1.0.0", + "com.unity.modules.assetbundle": "1.0.0", + "com.unity.modules.audio": "1.0.0", + "com.unity.modules.cloth": "1.0.0", + "com.unity.modules.director": "1.0.0", + "com.unity.modules.imageconversion": "1.0.0", + "com.unity.modules.imgui": "1.0.0", + "com.unity.modules.jsonserialize": "1.0.0", + "com.unity.modules.particlesystem": "1.0.0", + "com.unity.modules.physics": "1.0.0", + "com.unity.modules.physics2d": "1.0.0", + "com.unity.modules.screencapture": "1.0.0", + "com.unity.modules.terrain": "1.0.0", + "com.unity.modules.terrainphysics": "1.0.0", + "com.unity.modules.tilemap": "1.0.0", + "com.unity.modules.ui": "1.0.0", + "com.unity.modules.uielements": "1.0.0", + "com.unity.modules.umbra": "1.0.0", + "com.unity.modules.unityanalytics": "1.0.0", + "com.unity.modules.unitywebrequest": "1.0.0", + "com.unity.modules.unitywebrequestassetbundle": "1.0.0", + "com.unity.modules.unitywebrequestaudio": "1.0.0", + "com.unity.modules.unitywebrequesttexture": "1.0.0", + "com.unity.modules.unitywebrequestwww": "1.0.0", + "com.unity.modules.vehicles": "1.0.0", + "com.unity.modules.video": "1.0.0", + "com.unity.modules.vr": "1.0.0", + "com.unity.modules.wind": "1.0.0", + "com.unity.modules.xr": "1.0.0" + } +} diff --git a/Packages/packages-lock.json b/Packages/packages-lock.json new file mode 100644 index 0000000..598afa1 --- /dev/null +++ b/Packages/packages-lock.json @@ -0,0 +1,344 @@ +{ + "dependencies": { + "com.unity.collab-proxy": { + "version": "1.3.9", + "depth": 0, + "source": "registry", + "dependencies": {}, + "url": "https://packages.unity.com" + }, + "com.unity.ext.nunit": { + "version": "1.0.6", + "depth": 1, + "source": "registry", + "dependencies": {}, + "url": "https://packages.unity.com" + }, + "com.unity.ide.rider": { + "version": "2.0.7", + "depth": 0, + "source": "registry", + "dependencies": { + "com.unity.test-framework": "1.1.1" + }, + "url": "https://packages.unity.com" + }, + "com.unity.ide.visualstudio": { + "version": "2.0.7", + "depth": 0, + "source": "registry", + "dependencies": { + "com.unity.test-framework": "1.1.9" + }, + "url": "https://packages.unity.com" + }, + "com.unity.ide.vscode": { + "version": "1.2.3", + "depth": 0, + "source": "registry", + "dependencies": {}, + "url": "https://packages.unity.com" + }, + "com.unity.test-framework": { + "version": "1.1.24", + "depth": 0, + "source": "registry", + "dependencies": { + "com.unity.ext.nunit": "1.0.6", + "com.unity.modules.imgui": "1.0.0", + "com.unity.modules.jsonserialize": "1.0.0" + }, + "url": "https://packages.unity.com" + }, + "com.unity.textmeshpro": { + "version": "3.0.4", + "depth": 0, + "source": "registry", + "dependencies": { + "com.unity.ugui": "1.0.0" + }, + "url": "https://packages.unity.com" + }, + "com.unity.timeline": { + "version": "1.4.7", + "depth": 0, + "source": "registry", + "dependencies": { + "com.unity.modules.director": "1.0.0", + "com.unity.modules.animation": "1.0.0", + "com.unity.modules.audio": "1.0.0", + "com.unity.modules.particlesystem": "1.0.0" + }, + "url": "https://packages.unity.com" + }, + "com.unity.ugui": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": { + "com.unity.modules.ui": "1.0.0", + "com.unity.modules.imgui": "1.0.0" + } + }, + "etsi.isg.arf.worldstorage": { + "version": "file:D:/Fraunhofer/Projects/ETSI/ETSI Labs-STF/unity-world-storage-package", + "depth": 0, + "source": "local", + "dependencies": {} + }, + "com.unity.modules.ai": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": {} + }, + "com.unity.modules.androidjni": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": {} + }, + "com.unity.modules.animation": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": {} + }, + "com.unity.modules.assetbundle": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": {} + }, + "com.unity.modules.audio": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": {} + }, + "com.unity.modules.cloth": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": { + "com.unity.modules.physics": "1.0.0" + } + }, + "com.unity.modules.director": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": { + "com.unity.modules.audio": "1.0.0", + "com.unity.modules.animation": "1.0.0" + } + }, + "com.unity.modules.imageconversion": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": {} + }, + "com.unity.modules.imgui": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": {} + }, + "com.unity.modules.jsonserialize": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": {} + }, + "com.unity.modules.particlesystem": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": {} + }, + "com.unity.modules.physics": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": {} + }, + "com.unity.modules.physics2d": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": {} + }, + "com.unity.modules.screencapture": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": { + "com.unity.modules.imageconversion": "1.0.0" + } + }, + "com.unity.modules.subsystems": { + "version": "1.0.0", + "depth": 1, + "source": "builtin", + "dependencies": { + "com.unity.modules.jsonserialize": "1.0.0" + } + }, + "com.unity.modules.terrain": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": {} + }, + "com.unity.modules.terrainphysics": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": { + "com.unity.modules.physics": "1.0.0", + "com.unity.modules.terrain": "1.0.0" + } + }, + "com.unity.modules.tilemap": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": { + "com.unity.modules.physics2d": "1.0.0" + } + }, + "com.unity.modules.ui": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": {} + }, + "com.unity.modules.uielements": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": { + "com.unity.modules.ui": "1.0.0", + "com.unity.modules.imgui": "1.0.0", + "com.unity.modules.jsonserialize": "1.0.0", + "com.unity.modules.uielementsnative": "1.0.0" + } + }, + "com.unity.modules.uielementsnative": { + "version": "1.0.0", + "depth": 1, + "source": "builtin", + "dependencies": { + "com.unity.modules.ui": "1.0.0", + "com.unity.modules.imgui": "1.0.0", + "com.unity.modules.jsonserialize": "1.0.0" + } + }, + "com.unity.modules.umbra": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": {} + }, + "com.unity.modules.unityanalytics": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": { + "com.unity.modules.unitywebrequest": "1.0.0", + "com.unity.modules.jsonserialize": "1.0.0" + } + }, + "com.unity.modules.unitywebrequest": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": {} + }, + "com.unity.modules.unitywebrequestassetbundle": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": { + "com.unity.modules.assetbundle": "1.0.0", + "com.unity.modules.unitywebrequest": "1.0.0" + } + }, + "com.unity.modules.unitywebrequestaudio": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": { + "com.unity.modules.unitywebrequest": "1.0.0", + "com.unity.modules.audio": "1.0.0" + } + }, + "com.unity.modules.unitywebrequesttexture": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": { + "com.unity.modules.unitywebrequest": "1.0.0", + "com.unity.modules.imageconversion": "1.0.0" + } + }, + "com.unity.modules.unitywebrequestwww": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": { + "com.unity.modules.unitywebrequest": "1.0.0", + "com.unity.modules.unitywebrequestassetbundle": "1.0.0", + "com.unity.modules.unitywebrequestaudio": "1.0.0", + "com.unity.modules.audio": "1.0.0", + "com.unity.modules.assetbundle": "1.0.0", + "com.unity.modules.imageconversion": "1.0.0" + } + }, + "com.unity.modules.vehicles": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": { + "com.unity.modules.physics": "1.0.0" + } + }, + "com.unity.modules.video": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": { + "com.unity.modules.audio": "1.0.0", + "com.unity.modules.ui": "1.0.0", + "com.unity.modules.unitywebrequest": "1.0.0" + } + }, + "com.unity.modules.vr": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": { + "com.unity.modules.jsonserialize": "1.0.0", + "com.unity.modules.physics": "1.0.0", + "com.unity.modules.xr": "1.0.0" + } + }, + "com.unity.modules.wind": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": {} + }, + "com.unity.modules.xr": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": { + "com.unity.modules.physics": "1.0.0", + "com.unity.modules.jsonserialize": "1.0.0", + "com.unity.modules.subsystems": "1.0.0" + } + } + } +} diff --git a/ProjectSettings/AudioManager.asset b/ProjectSettings/AudioManager.asset new file mode 100644 index 0000000..07ebfb0 --- /dev/null +++ b/ProjectSettings/AudioManager.asset @@ -0,0 +1,19 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!11 &1 +AudioManager: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Volume: 1 + Rolloff Scale: 1 + Doppler Factor: 1 + Default Speaker Mode: 2 + m_SampleRate: 0 + m_DSPBufferSize: 1024 + m_VirtualVoiceCount: 512 + m_RealVoiceCount: 32 + m_SpatializerPlugin: + m_AmbisonicDecoderPlugin: + m_DisableAudio: 0 + m_VirtualizeEffects: 1 + m_RequestedDSPBufferSize: 1024 diff --git a/ProjectSettings/ClusterInputManager.asset b/ProjectSettings/ClusterInputManager.asset new file mode 100644 index 0000000..e7886b2 --- /dev/null +++ b/ProjectSettings/ClusterInputManager.asset @@ -0,0 +1,6 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!236 &1 +ClusterInputManager: + m_ObjectHideFlags: 0 + m_Inputs: [] diff --git a/ProjectSettings/DynamicsManager.asset b/ProjectSettings/DynamicsManager.asset new file mode 100644 index 0000000..cdc1f3e --- /dev/null +++ b/ProjectSettings/DynamicsManager.asset @@ -0,0 +1,34 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!55 &1 +PhysicsManager: + m_ObjectHideFlags: 0 + serializedVersion: 11 + m_Gravity: {x: 0, y: -9.81, z: 0} + m_DefaultMaterial: {fileID: 0} + m_BounceThreshold: 2 + m_SleepThreshold: 0.005 + m_DefaultContactOffset: 0.01 + m_DefaultSolverIterations: 6 + m_DefaultSolverVelocityIterations: 1 + m_QueriesHitBackfaces: 0 + m_QueriesHitTriggers: 1 + m_EnableAdaptiveForce: 0 + m_ClothInterCollisionDistance: 0 + m_ClothInterCollisionStiffness: 0 + m_ContactsGeneration: 1 + m_LayerCollisionMatrix: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + m_AutoSimulation: 1 + m_AutoSyncTransforms: 0 + m_ReuseCollisionCallbacks: 1 + m_ClothInterCollisionSettingsToggle: 0 + m_ContactPairsMode: 0 + m_BroadphaseType: 0 + m_WorldBounds: + m_Center: {x: 0, y: 0, z: 0} + m_Extent: {x: 250, y: 250, z: 250} + m_WorldSubdivisions: 8 + m_FrictionType: 0 + m_EnableEnhancedDeterminism: 0 + m_EnableUnifiedHeightmaps: 1 + m_DefaultMaxAngluarSpeed: 7 diff --git a/ProjectSettings/EditorBuildSettings.asset b/ProjectSettings/EditorBuildSettings.asset new file mode 100644 index 0000000..0147887 --- /dev/null +++ b/ProjectSettings/EditorBuildSettings.asset @@ -0,0 +1,8 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1045 &1 +EditorBuildSettings: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Scenes: [] + m_configObjects: {} diff --git a/ProjectSettings/EditorSettings.asset b/ProjectSettings/EditorSettings.asset new file mode 100644 index 0000000..de5d0b2 --- /dev/null +++ b/ProjectSettings/EditorSettings.asset @@ -0,0 +1,30 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!159 &1 +EditorSettings: + m_ObjectHideFlags: 0 + serializedVersion: 11 + m_ExternalVersionControlSupport: Visible Meta Files + m_SerializationMode: 2 + m_LineEndingsForNewScripts: 0 + m_DefaultBehaviorMode: 0 + m_PrefabRegularEnvironment: {fileID: 0} + m_PrefabUIEnvironment: {fileID: 0} + m_SpritePackerMode: 0 + m_SpritePackerPaddingPower: 1 + m_EtcTextureCompressorBehavior: 1 + m_EtcTextureFastCompressor: 1 + m_EtcTextureNormalCompressor: 2 + m_EtcTextureBestCompressor: 4 + m_ProjectGenerationIncludedExtensions: txt;xml;fnt;cd;asmdef;rsp;asmref + m_ProjectGenerationRootNamespace: + m_CollabEditorSettings: + inProgressEnabled: 1 + m_EnableTextureStreamingInEditMode: 1 + m_EnableTextureStreamingInPlayMode: 1 + m_AsyncShaderCompilation: 1 + m_EnterPlayModeOptionsEnabled: 0 + m_EnterPlayModeOptions: 3 + m_ShowLightmapResolutionOverlay: 1 + m_UseLegacyProbeSampleCount: 0 + m_SerializeInlineMappingsOnOneLine: 1 \ No newline at end of file diff --git a/ProjectSettings/GraphicsSettings.asset b/ProjectSettings/GraphicsSettings.asset new file mode 100644 index 0000000..43369e3 --- /dev/null +++ b/ProjectSettings/GraphicsSettings.asset @@ -0,0 +1,63 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!30 &1 +GraphicsSettings: + m_ObjectHideFlags: 0 + serializedVersion: 13 + m_Deferred: + m_Mode: 1 + m_Shader: {fileID: 69, guid: 0000000000000000f000000000000000, type: 0} + m_DeferredReflections: + m_Mode: 1 + m_Shader: {fileID: 74, guid: 0000000000000000f000000000000000, type: 0} + m_ScreenSpaceShadows: + m_Mode: 1 + m_Shader: {fileID: 64, guid: 0000000000000000f000000000000000, type: 0} + m_LegacyDeferred: + m_Mode: 1 + m_Shader: {fileID: 63, guid: 0000000000000000f000000000000000, type: 0} + m_DepthNormals: + m_Mode: 1 + m_Shader: {fileID: 62, guid: 0000000000000000f000000000000000, type: 0} + m_MotionVectors: + m_Mode: 1 + m_Shader: {fileID: 75, guid: 0000000000000000f000000000000000, type: 0} + m_LightHalo: + m_Mode: 1 + m_Shader: {fileID: 105, guid: 0000000000000000f000000000000000, type: 0} + m_LensFlare: + m_Mode: 1 + m_Shader: {fileID: 102, guid: 0000000000000000f000000000000000, type: 0} + m_AlwaysIncludedShaders: + - {fileID: 7, guid: 0000000000000000f000000000000000, type: 0} + - {fileID: 15104, guid: 0000000000000000f000000000000000, type: 0} + - {fileID: 15105, guid: 0000000000000000f000000000000000, type: 0} + - {fileID: 15106, guid: 0000000000000000f000000000000000, type: 0} + - {fileID: 10753, guid: 0000000000000000f000000000000000, type: 0} + - {fileID: 10770, guid: 0000000000000000f000000000000000, type: 0} + m_PreloadedShaders: [] + m_SpritesDefaultMaterial: {fileID: 10754, guid: 0000000000000000f000000000000000, + type: 0} + m_CustomRenderPipeline: {fileID: 0} + m_TransparencySortMode: 0 + m_TransparencySortAxis: {x: 0, y: 0, z: 1} + m_DefaultRenderingPath: 1 + m_DefaultMobileRenderingPath: 1 + m_TierSettings: [] + m_LightmapStripping: 0 + m_FogStripping: 0 + m_InstancingStripping: 0 + m_LightmapKeepPlain: 1 + m_LightmapKeepDirCombined: 1 + m_LightmapKeepDynamicPlain: 1 + m_LightmapKeepDynamicDirCombined: 1 + m_LightmapKeepShadowMask: 1 + m_LightmapKeepSubtractive: 1 + m_FogKeepLinear: 1 + m_FogKeepExp: 1 + m_FogKeepExp2: 1 + m_AlbedoSwatchInfos: [] + m_LightsUseLinearIntensity: 0 + m_LightsUseColorTemperature: 0 + m_LogWhenShaderIsCompiled: 0 + m_AllowEnlightenSupportForUpgradedProject: 0 diff --git a/ProjectSettings/InputManager.asset b/ProjectSettings/InputManager.asset new file mode 100644 index 0000000..17c8f53 --- /dev/null +++ b/ProjectSettings/InputManager.asset @@ -0,0 +1,295 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!13 &1 +InputManager: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Axes: + - serializedVersion: 3 + m_Name: Horizontal + descriptiveName: + descriptiveNegativeName: + negativeButton: left + positiveButton: right + altNegativeButton: a + altPositiveButton: d + gravity: 3 + dead: 0.001 + sensitivity: 3 + snap: 1 + invert: 0 + type: 0 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Vertical + descriptiveName: + descriptiveNegativeName: + negativeButton: down + positiveButton: up + altNegativeButton: s + altPositiveButton: w + gravity: 3 + dead: 0.001 + sensitivity: 3 + snap: 1 + invert: 0 + type: 0 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Fire1 + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: left ctrl + altNegativeButton: + altPositiveButton: mouse 0 + gravity: 1000 + dead: 0.001 + sensitivity: 1000 + snap: 0 + invert: 0 + type: 0 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Fire2 + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: left alt + altNegativeButton: + altPositiveButton: mouse 1 + gravity: 1000 + dead: 0.001 + sensitivity: 1000 + snap: 0 + invert: 0 + type: 0 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Fire3 + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: left shift + altNegativeButton: + altPositiveButton: mouse 2 + gravity: 1000 + dead: 0.001 + sensitivity: 1000 + snap: 0 + invert: 0 + type: 0 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Jump + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: space + altNegativeButton: + altPositiveButton: + gravity: 1000 + dead: 0.001 + sensitivity: 1000 + snap: 0 + invert: 0 + type: 0 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Mouse X + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: + altNegativeButton: + altPositiveButton: + gravity: 0 + dead: 0 + sensitivity: 0.1 + snap: 0 + invert: 0 + type: 1 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Mouse Y + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: + altNegativeButton: + altPositiveButton: + gravity: 0 + dead: 0 + sensitivity: 0.1 + snap: 0 + invert: 0 + type: 1 + axis: 1 + joyNum: 0 + - serializedVersion: 3 + m_Name: Mouse ScrollWheel + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: + altNegativeButton: + altPositiveButton: + gravity: 0 + dead: 0 + sensitivity: 0.1 + snap: 0 + invert: 0 + type: 1 + axis: 2 + joyNum: 0 + - serializedVersion: 3 + m_Name: Horizontal + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: + altNegativeButton: + altPositiveButton: + gravity: 0 + dead: 0.19 + sensitivity: 1 + snap: 0 + invert: 0 + type: 2 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Vertical + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: + altNegativeButton: + altPositiveButton: + gravity: 0 + dead: 0.19 + sensitivity: 1 + snap: 0 + invert: 1 + type: 2 + axis: 1 + joyNum: 0 + - serializedVersion: 3 + m_Name: Fire1 + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: joystick button 0 + altNegativeButton: + altPositiveButton: + gravity: 1000 + dead: 0.001 + sensitivity: 1000 + snap: 0 + invert: 0 + type: 0 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Fire2 + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: joystick button 1 + altNegativeButton: + altPositiveButton: + gravity: 1000 + dead: 0.001 + sensitivity: 1000 + snap: 0 + invert: 0 + type: 0 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Fire3 + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: joystick button 2 + altNegativeButton: + altPositiveButton: + gravity: 1000 + dead: 0.001 + sensitivity: 1000 + snap: 0 + invert: 0 + type: 0 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Jump + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: joystick button 3 + altNegativeButton: + altPositiveButton: + gravity: 1000 + dead: 0.001 + sensitivity: 1000 + snap: 0 + invert: 0 + type: 0 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Submit + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: return + altNegativeButton: + altPositiveButton: joystick button 0 + gravity: 1000 + dead: 0.001 + sensitivity: 1000 + snap: 0 + invert: 0 + type: 0 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Submit + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: enter + altNegativeButton: + altPositiveButton: space + gravity: 1000 + dead: 0.001 + sensitivity: 1000 + snap: 0 + invert: 0 + type: 0 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Cancel + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: escape + altNegativeButton: + altPositiveButton: joystick button 1 + gravity: 1000 + dead: 0.001 + sensitivity: 1000 + snap: 0 + invert: 0 + type: 0 + axis: 0 + joyNum: 0 diff --git a/ProjectSettings/NavMeshAreas.asset b/ProjectSettings/NavMeshAreas.asset new file mode 100644 index 0000000..3b0b7c3 --- /dev/null +++ b/ProjectSettings/NavMeshAreas.asset @@ -0,0 +1,91 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!126 &1 +NavMeshProjectSettings: + m_ObjectHideFlags: 0 + serializedVersion: 2 + areas: + - name: Walkable + cost: 1 + - name: Not Walkable + cost: 1 + - name: Jump + cost: 2 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + m_LastAgentTypeID: -887442657 + m_Settings: + - serializedVersion: 2 + agentTypeID: 0 + agentRadius: 0.5 + agentHeight: 2 + agentSlope: 45 + agentClimb: 0.75 + ledgeDropHeight: 0 + maxJumpAcrossDistance: 0 + minRegionArea: 2 + manualCellSize: 0 + cellSize: 0.16666667 + manualTileSize: 0 + tileSize: 256 + accuratePlacement: 0 + debug: + m_Flags: 0 + m_SettingNames: + - Humanoid diff --git a/ProjectSettings/PackageManagerSettings.asset b/ProjectSettings/PackageManagerSettings.asset new file mode 100644 index 0000000..be4a797 --- /dev/null +++ b/ProjectSettings/PackageManagerSettings.asset @@ -0,0 +1,43 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &1 +MonoBehaviour: + m_ObjectHideFlags: 61 + 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: 13964, guid: 0000000000000000e000000000000000, type: 0} + m_Name: + m_EditorClassIdentifier: + m_EnablePreviewPackages: 0 + m_EnablePackageDependencies: 0 + m_AdvancedSettingsExpanded: 1 + m_ScopedRegistriesSettingsExpanded: 1 + oneTimeWarningShown: 0 + m_Registries: + - m_Id: main + m_Name: + m_Url: https://packages.unity.com + m_Scopes: [] + m_IsDefault: 1 + m_Capabilities: 7 + m_UserSelectedRegistryName: + m_UserAddingNewScopedRegistry: 0 + m_RegistryInfoDraft: + m_ErrorMessage: + m_Original: + m_Id: + m_Name: + m_Url: + m_Scopes: [] + m_IsDefault: 0 + m_Capabilities: 0 + m_Modified: 0 + m_Name: + m_Url: + m_Scopes: + - + m_SelectedScopeIndex: 0 diff --git a/ProjectSettings/Physics2DSettings.asset b/ProjectSettings/Physics2DSettings.asset new file mode 100644 index 0000000..47880b1 --- /dev/null +++ b/ProjectSettings/Physics2DSettings.asset @@ -0,0 +1,56 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!19 &1 +Physics2DSettings: + m_ObjectHideFlags: 0 + serializedVersion: 4 + m_Gravity: {x: 0, y: -9.81} + m_DefaultMaterial: {fileID: 0} + m_VelocityIterations: 8 + m_PositionIterations: 3 + m_VelocityThreshold: 1 + m_MaxLinearCorrection: 0.2 + m_MaxAngularCorrection: 8 + m_MaxTranslationSpeed: 100 + m_MaxRotationSpeed: 360 + m_BaumgarteScale: 0.2 + m_BaumgarteTimeOfImpactScale: 0.75 + m_TimeToSleep: 0.5 + m_LinearSleepTolerance: 0.01 + m_AngularSleepTolerance: 2 + m_DefaultContactOffset: 0.01 + m_JobOptions: + serializedVersion: 2 + useMultithreading: 0 + useConsistencySorting: 0 + m_InterpolationPosesPerJob: 100 + m_NewContactsPerJob: 30 + m_CollideContactsPerJob: 100 + m_ClearFlagsPerJob: 200 + m_ClearBodyForcesPerJob: 200 + m_SyncDiscreteFixturesPerJob: 50 + m_SyncContinuousFixturesPerJob: 50 + m_FindNearestContactsPerJob: 100 + m_UpdateTriggerContactsPerJob: 100 + m_IslandSolverCostThreshold: 100 + m_IslandSolverBodyCostScale: 1 + m_IslandSolverContactCostScale: 10 + m_IslandSolverJointCostScale: 10 + m_IslandSolverBodiesPerJob: 50 + m_IslandSolverContactsPerJob: 50 + m_AutoSimulation: 1 + m_QueriesHitTriggers: 1 + m_QueriesStartInColliders: 1 + m_CallbacksOnDisable: 1 + m_ReuseCollisionCallbacks: 1 + m_AutoSyncTransforms: 0 + m_AlwaysShowColliders: 0 + m_ShowColliderSleep: 1 + m_ShowColliderContacts: 0 + m_ShowColliderAABB: 0 + m_ContactArrowScale: 0.2 + m_ColliderAwakeColor: {r: 0.5686275, g: 0.95686275, b: 0.54509807, a: 0.7529412} + m_ColliderAsleepColor: {r: 0.5686275, g: 0.95686275, b: 0.54509807, a: 0.36078432} + m_ColliderContactColor: {r: 1, g: 0, b: 1, a: 0.6862745} + m_ColliderAABBColor: {r: 1, g: 1, b: 0, a: 0.2509804} + m_LayerCollisionMatrix: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff diff --git a/ProjectSettings/PresetManager.asset b/ProjectSettings/PresetManager.asset new file mode 100644 index 0000000..67a94da --- /dev/null +++ b/ProjectSettings/PresetManager.asset @@ -0,0 +1,7 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1386491679 &1 +PresetManager: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_DefaultPresets: {} diff --git a/ProjectSettings/ProjectSettings.asset b/ProjectSettings/ProjectSettings.asset new file mode 100644 index 0000000..1a6cdc7 --- /dev/null +++ b/ProjectSettings/ProjectSettings.asset @@ -0,0 +1,677 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!129 &1 +PlayerSettings: + m_ObjectHideFlags: 0 + serializedVersion: 22 + productGUID: 50a00edc2356b084d9323d73731eb9e1 + AndroidProfiler: 0 + AndroidFilterTouchesWhenObscured: 0 + AndroidEnableSustainedPerformanceMode: 0 + defaultScreenOrientation: 4 + targetDevice: 2 + useOnDemandResources: 0 + accelerometerFrequency: 60 + companyName: DefaultCompany + productName: My project + defaultCursor: {fileID: 0} + cursorHotspot: {x: 0, y: 0} + m_SplashScreenBackgroundColor: {r: 0.13725491, g: 0.12156863, b: 0.1254902, a: 1} + m_ShowUnitySplashScreen: 1 + m_ShowUnitySplashLogo: 1 + m_SplashScreenOverlayOpacity: 1 + m_SplashScreenAnimation: 1 + m_SplashScreenLogoStyle: 1 + m_SplashScreenDrawMode: 0 + m_SplashScreenBackgroundAnimationZoom: 1 + m_SplashScreenLogoAnimationZoom: 1 + m_SplashScreenBackgroundLandscapeAspect: 1 + m_SplashScreenBackgroundPortraitAspect: 1 + m_SplashScreenBackgroundLandscapeUvs: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + m_SplashScreenBackgroundPortraitUvs: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + m_SplashScreenLogos: [] + m_VirtualRealitySplashScreen: {fileID: 0} + m_HolographicTrackingLossScreen: {fileID: 0} + defaultScreenWidth: 1024 + defaultScreenHeight: 768 + defaultScreenWidthWeb: 960 + defaultScreenHeightWeb: 600 + m_StereoRenderingPath: 0 + m_ActiveColorSpace: 0 + m_MTRendering: 1 + mipStripping: 0 + numberOfMipsStripped: 0 + m_StackTraceTypes: 010000000100000001000000010000000100000001000000 + iosShowActivityIndicatorOnLoading: -1 + androidShowActivityIndicatorOnLoading: -1 + iosUseCustomAppBackgroundBehavior: 0 + iosAllowHTTPDownload: 1 + allowedAutorotateToPortrait: 1 + allowedAutorotateToPortraitUpsideDown: 1 + allowedAutorotateToLandscapeRight: 1 + allowedAutorotateToLandscapeLeft: 1 + useOSAutorotation: 1 + use32BitDisplayBuffer: 1 + preserveFramebufferAlpha: 0 + disableDepthAndStencilBuffers: 0 + androidStartInFullscreen: 1 + androidRenderOutsideSafeArea: 1 + androidUseSwappy: 1 + androidBlitType: 0 + defaultIsNativeResolution: 1 + macRetinaSupport: 1 + runInBackground: 1 + captureSingleScreen: 0 + muteOtherAudioSources: 0 + Prepare IOS For Recording: 0 + Force IOS Speakers When Recording: 0 + deferSystemGesturesMode: 0 + hideHomeButton: 0 + submitAnalytics: 1 + usePlayerLog: 1 + bakeCollisionMeshes: 0 + forceSingleInstance: 0 + useFlipModelSwapchain: 1 + resizableWindow: 0 + useMacAppStoreValidation: 0 + macAppStoreCategory: public.app-category.games + gpuSkinning: 1 + xboxPIXTextureCapture: 0 + xboxEnableAvatar: 0 + xboxEnableKinect: 0 + xboxEnableKinectAutoTracking: 0 + xboxEnableFitness: 0 + visibleInBackground: 1 + allowFullscreenSwitch: 1 + fullscreenMode: 1 + xboxSpeechDB: 0 + xboxEnableHeadOrientation: 0 + xboxEnableGuest: 0 + xboxEnablePIXSampling: 0 + metalFramebufferOnly: 0 + xboxOneResolution: 0 + xboxOneSResolution: 0 + xboxOneXResolution: 3 + xboxOneMonoLoggingLevel: 0 + xboxOneLoggingLevel: 1 + xboxOneDisableEsram: 0 + xboxOneEnableTypeOptimization: 0 + xboxOnePresentImmediateThreshold: 0 + switchQueueCommandMemory: 0 + switchQueueControlMemory: 16384 + switchQueueComputeMemory: 262144 + switchNVNShaderPoolsGranularity: 33554432 + switchNVNDefaultPoolsGranularity: 16777216 + switchNVNOtherPoolsGranularity: 16777216 + switchNVNMaxPublicTextureIDCount: 0 + switchNVNMaxPublicSamplerIDCount: 0 + stadiaPresentMode: 0 + stadiaTargetFramerate: 0 + vulkanNumSwapchainBuffers: 3 + vulkanEnableSetSRGBWrite: 0 + vulkanEnablePreTransform: 0 + vulkanEnableLateAcquireNextImage: 0 + m_SupportedAspectRatios: + 4:3: 1 + 5:4: 1 + 16:10: 1 + 16:9: 1 + Others: 1 + bundleVersion: 0.1 + preloadedAssets: [] + metroInputSource: 0 + wsaTransparentSwapchain: 0 + m_HolographicPauseOnTrackingLoss: 1 + xboxOneDisableKinectGpuReservation: 1 + xboxOneEnable7thCore: 1 + vrSettings: + enable360StereoCapture: 0 + isWsaHolographicRemotingEnabled: 0 + enableFrameTimingStats: 0 + useHDRDisplay: 0 + D3DHDRBitDepth: 0 + m_ColorGamuts: 00000000 + targetPixelDensity: 30 + resolutionScalingMode: 0 + androidSupportedAspectRatio: 1 + androidMaxAspectRatio: 2.1 + applicationIdentifier: {} + buildNumber: + Standalone: 0 + iPhone: 0 + tvOS: 0 + overrideDefaultApplicationIdentifier: 0 + AndroidBundleVersionCode: 1 + AndroidMinSdkVersion: 19 + AndroidTargetSdkVersion: 0 + AndroidPreferredInstallLocation: 1 + aotOptions: + stripEngineCode: 1 + iPhoneStrippingLevel: 0 + iPhoneScriptCallOptimization: 0 + ForceInternetPermission: 0 + ForceSDCardPermission: 0 + CreateWallpaper: 0 + APKExpansionFiles: 0 + keepLoadedShadersAlive: 0 + StripUnusedMeshComponents: 1 + VertexChannelCompressionMask: 4054 + iPhoneSdkVersion: 988 + iOSTargetOSVersionString: 11.0 + tvOSSdkVersion: 0 + tvOSRequireExtendedGameController: 0 + tvOSTargetOSVersionString: 11.0 + uIPrerenderedIcon: 0 + uIRequiresPersistentWiFi: 0 + uIRequiresFullScreen: 1 + uIStatusBarHidden: 1 + uIExitOnSuspend: 0 + uIStatusBarStyle: 0 + appleTVSplashScreen: {fileID: 0} + appleTVSplashScreen2x: {fileID: 0} + tvOSSmallIconLayers: [] + tvOSSmallIconLayers2x: [] + tvOSLargeIconLayers: [] + tvOSLargeIconLayers2x: [] + tvOSTopShelfImageLayers: [] + tvOSTopShelfImageLayers2x: [] + tvOSTopShelfImageWideLayers: [] + tvOSTopShelfImageWideLayers2x: [] + iOSLaunchScreenType: 0 + iOSLaunchScreenPortrait: {fileID: 0} + iOSLaunchScreenLandscape: {fileID: 0} + iOSLaunchScreenBackgroundColor: + serializedVersion: 2 + rgba: 0 + iOSLaunchScreenFillPct: 100 + iOSLaunchScreenSize: 100 + iOSLaunchScreenCustomXibPath: + iOSLaunchScreeniPadType: 0 + iOSLaunchScreeniPadImage: {fileID: 0} + iOSLaunchScreeniPadBackgroundColor: + serializedVersion: 2 + rgba: 0 + iOSLaunchScreeniPadFillPct: 100 + iOSLaunchScreeniPadSize: 100 + iOSLaunchScreeniPadCustomXibPath: + iOSLaunchScreenCustomStoryboardPath: + iOSLaunchScreeniPadCustomStoryboardPath: + iOSDeviceRequirements: [] + iOSURLSchemes: [] + iOSBackgroundModes: 0 + iOSMetalForceHardShadows: 0 + metalEditorSupport: 1 + metalAPIValidation: 1 + iOSRenderExtraFrameOnPause: 0 + iosCopyPluginsCodeInsteadOfSymlink: 0 + appleDeveloperTeamID: + iOSManualSigningProvisioningProfileID: + tvOSManualSigningProvisioningProfileID: + iOSManualSigningProvisioningProfileType: 0 + tvOSManualSigningProvisioningProfileType: 0 + appleEnableAutomaticSigning: 0 + iOSRequireARKit: 0 + iOSAutomaticallyDetectAndAddCapabilities: 1 + appleEnableProMotion: 0 + shaderPrecisionModel: 0 + clonedFromGUID: c0afd0d1d80e3634a9dac47e8a0426ea + templatePackageId: com.unity.template.3d@5.0.4 + templateDefaultScene: Assets/Scenes/SampleScene.unity + useCustomMainManifest: 0 + useCustomLauncherManifest: 0 + useCustomMainGradleTemplate: 0 + useCustomLauncherGradleManifest: 0 + useCustomBaseGradleTemplate: 0 + useCustomGradlePropertiesTemplate: 0 + useCustomProguardFile: 0 + AndroidTargetArchitectures: 1 + AndroidSplashScreenScale: 0 + androidSplashScreen: {fileID: 0} + AndroidKeystoreName: + AndroidKeyaliasName: + AndroidBuildApkPerCpuArchitecture: 0 + AndroidTVCompatibility: 0 + AndroidIsGame: 1 + AndroidEnableTango: 0 + androidEnableBanner: 1 + androidUseLowAccuracyLocation: 0 + androidUseCustomKeystore: 0 + m_AndroidBanners: + - width: 320 + height: 180 + banner: {fileID: 0} + androidGamepadSupportLevel: 0 + AndroidMinifyWithR8: 0 + AndroidMinifyRelease: 0 + AndroidMinifyDebug: 0 + AndroidValidateAppBundleSize: 1 + AndroidAppBundleSizeToValidate: 150 + m_BuildTargetIcons: [] + m_BuildTargetPlatformIcons: [] + m_BuildTargetBatching: + - m_BuildTarget: Standalone + m_StaticBatching: 1 + m_DynamicBatching: 0 + - m_BuildTarget: tvOS + m_StaticBatching: 1 + m_DynamicBatching: 0 + - m_BuildTarget: Android + m_StaticBatching: 1 + m_DynamicBatching: 0 + - m_BuildTarget: iPhone + m_StaticBatching: 1 + m_DynamicBatching: 0 + - m_BuildTarget: WebGL + m_StaticBatching: 0 + m_DynamicBatching: 0 + m_BuildTargetGraphicsJobs: + - m_BuildTarget: MacStandaloneSupport + m_GraphicsJobs: 0 + - m_BuildTarget: Switch + m_GraphicsJobs: 1 + - m_BuildTarget: MetroSupport + m_GraphicsJobs: 1 + - m_BuildTarget: AppleTVSupport + m_GraphicsJobs: 0 + - m_BuildTarget: BJMSupport + m_GraphicsJobs: 1 + - m_BuildTarget: LinuxStandaloneSupport + m_GraphicsJobs: 1 + - m_BuildTarget: PS4Player + m_GraphicsJobs: 1 + - m_BuildTarget: iOSSupport + m_GraphicsJobs: 0 + - m_BuildTarget: WindowsStandaloneSupport + m_GraphicsJobs: 1 + - m_BuildTarget: XboxOnePlayer + m_GraphicsJobs: 1 + - m_BuildTarget: LuminSupport + m_GraphicsJobs: 0 + - m_BuildTarget: AndroidPlayer + m_GraphicsJobs: 0 + - m_BuildTarget: WebGLSupport + m_GraphicsJobs: 0 + m_BuildTargetGraphicsJobMode: + - m_BuildTarget: PS4Player + m_GraphicsJobMode: 0 + - m_BuildTarget: XboxOnePlayer + m_GraphicsJobMode: 0 + m_BuildTargetGraphicsAPIs: + - m_BuildTarget: AndroidPlayer + m_APIs: 150000000b000000 + m_Automatic: 0 + - m_BuildTarget: iOSSupport + m_APIs: 10000000 + m_Automatic: 1 + - m_BuildTarget: AppleTVSupport + m_APIs: 10000000 + m_Automatic: 1 + - m_BuildTarget: WebGLSupport + m_APIs: 0b000000 + m_Automatic: 1 + m_BuildTargetVRSettings: + - m_BuildTarget: Standalone + m_Enabled: 0 + m_Devices: + - Oculus + - OpenVR + openGLRequireES31: 0 + openGLRequireES31AEP: 0 + openGLRequireES32: 0 + m_TemplateCustomTags: {} + mobileMTRendering: + Android: 1 + iPhone: 1 + tvOS: 1 + m_BuildTargetGroupLightmapEncodingQuality: [] + m_BuildTargetGroupLightmapSettings: [] + m_BuildTargetNormalMapEncoding: [] + playModeTestRunnerEnabled: 0 + runPlayModeTestAsEditModeTest: 0 + actionOnDotNetUnhandledException: 1 + enableInternalProfiler: 0 + logObjCUncaughtExceptions: 1 + enableCrashReportAPI: 0 + cameraUsageDescription: + locationUsageDescription: + microphoneUsageDescription: + switchNMETAOverride: + switchNetLibKey: + switchSocketMemoryPoolSize: 6144 + switchSocketAllocatorPoolSize: 128 + switchSocketConcurrencyLimit: 14 + switchScreenResolutionBehavior: 2 + switchUseCPUProfiler: 0 + switchUseGOLDLinker: 0 + switchApplicationID: 0x01004b9000490000 + switchNSODependencies: + switchTitleNames_0: + switchTitleNames_1: + switchTitleNames_2: + switchTitleNames_3: + switchTitleNames_4: + switchTitleNames_5: + switchTitleNames_6: + switchTitleNames_7: + switchTitleNames_8: + switchTitleNames_9: + switchTitleNames_10: + switchTitleNames_11: + switchTitleNames_12: + switchTitleNames_13: + switchTitleNames_14: + switchTitleNames_15: + switchPublisherNames_0: + switchPublisherNames_1: + switchPublisherNames_2: + switchPublisherNames_3: + switchPublisherNames_4: + switchPublisherNames_5: + switchPublisherNames_6: + switchPublisherNames_7: + switchPublisherNames_8: + switchPublisherNames_9: + switchPublisherNames_10: + switchPublisherNames_11: + switchPublisherNames_12: + switchPublisherNames_13: + switchPublisherNames_14: + switchPublisherNames_15: + switchIcons_0: {fileID: 0} + switchIcons_1: {fileID: 0} + switchIcons_2: {fileID: 0} + switchIcons_3: {fileID: 0} + switchIcons_4: {fileID: 0} + switchIcons_5: {fileID: 0} + switchIcons_6: {fileID: 0} + switchIcons_7: {fileID: 0} + switchIcons_8: {fileID: 0} + switchIcons_9: {fileID: 0} + switchIcons_10: {fileID: 0} + switchIcons_11: {fileID: 0} + switchIcons_12: {fileID: 0} + switchIcons_13: {fileID: 0} + switchIcons_14: {fileID: 0} + switchIcons_15: {fileID: 0} + switchSmallIcons_0: {fileID: 0} + switchSmallIcons_1: {fileID: 0} + switchSmallIcons_2: {fileID: 0} + switchSmallIcons_3: {fileID: 0} + switchSmallIcons_4: {fileID: 0} + switchSmallIcons_5: {fileID: 0} + switchSmallIcons_6: {fileID: 0} + switchSmallIcons_7: {fileID: 0} + switchSmallIcons_8: {fileID: 0} + switchSmallIcons_9: {fileID: 0} + switchSmallIcons_10: {fileID: 0} + switchSmallIcons_11: {fileID: 0} + switchSmallIcons_12: {fileID: 0} + switchSmallIcons_13: {fileID: 0} + switchSmallIcons_14: {fileID: 0} + switchSmallIcons_15: {fileID: 0} + switchManualHTML: + switchAccessibleURLs: + switchLegalInformation: + switchMainThreadStackSize: 1048576 + switchPresenceGroupId: + switchLogoHandling: 0 + switchReleaseVersion: 0 + switchDisplayVersion: 1.0.0 + switchStartupUserAccount: 0 + switchTouchScreenUsage: 0 + switchSupportedLanguagesMask: 0 + switchLogoType: 0 + switchApplicationErrorCodeCategory: + switchUserAccountSaveDataSize: 0 + switchUserAccountSaveDataJournalSize: 0 + switchApplicationAttribute: 0 + switchCardSpecSize: -1 + switchCardSpecClock: -1 + switchRatingsMask: 0 + switchRatingsInt_0: 0 + switchRatingsInt_1: 0 + switchRatingsInt_2: 0 + switchRatingsInt_3: 0 + switchRatingsInt_4: 0 + switchRatingsInt_5: 0 + switchRatingsInt_6: 0 + switchRatingsInt_7: 0 + switchRatingsInt_8: 0 + switchRatingsInt_9: 0 + switchRatingsInt_10: 0 + switchRatingsInt_11: 0 + switchRatingsInt_12: 0 + switchLocalCommunicationIds_0: + switchLocalCommunicationIds_1: + switchLocalCommunicationIds_2: + switchLocalCommunicationIds_3: + switchLocalCommunicationIds_4: + switchLocalCommunicationIds_5: + switchLocalCommunicationIds_6: + switchLocalCommunicationIds_7: + switchParentalControl: 0 + switchAllowsScreenshot: 1 + switchAllowsVideoCapturing: 1 + switchAllowsRuntimeAddOnContentInstall: 0 + switchDataLossConfirmation: 0 + switchUserAccountLockEnabled: 0 + switchSystemResourceMemory: 16777216 + switchSupportedNpadStyles: 22 + switchNativeFsCacheSize: 32 + switchIsHoldTypeHorizontal: 0 + switchSupportedNpadCount: 8 + switchSocketConfigEnabled: 0 + switchTcpInitialSendBufferSize: 32 + switchTcpInitialReceiveBufferSize: 64 + switchTcpAutoSendBufferSizeMax: 256 + switchTcpAutoReceiveBufferSizeMax: 256 + switchUdpSendBufferSize: 9 + switchUdpReceiveBufferSize: 42 + switchSocketBufferEfficiency: 4 + switchSocketInitializeEnabled: 1 + switchNetworkInterfaceManagerInitializeEnabled: 1 + switchPlayerConnectionEnabled: 1 + switchUseNewStyleFilepaths: 0 + switchUseMicroSleepForYield: 1 + switchMicroSleepForYieldTime: 25 + ps4NPAgeRating: 12 + ps4NPTitleSecret: + ps4NPTrophyPackPath: + ps4ParentalLevel: 11 + ps4ContentID: ED1633-NPXX51362_00-0000000000000000 + ps4Category: 0 + ps4MasterVersion: 01.00 + ps4AppVersion: 01.00 + ps4AppType: 0 + ps4ParamSfxPath: + ps4VideoOutPixelFormat: 0 + ps4VideoOutInitialWidth: 1920 + ps4VideoOutBaseModeInitialWidth: 1920 + ps4VideoOutReprojectionRate: 60 + ps4PronunciationXMLPath: + ps4PronunciationSIGPath: + ps4BackgroundImagePath: + ps4StartupImagePath: + ps4StartupImagesFolder: + ps4IconImagesFolder: + ps4SaveDataImagePath: + ps4SdkOverride: + ps4BGMPath: + ps4ShareFilePath: + ps4ShareOverlayImagePath: + ps4PrivacyGuardImagePath: + ps4ExtraSceSysFile: + ps4NPtitleDatPath: + ps4RemotePlayKeyAssignment: -1 + ps4RemotePlayKeyMappingDir: + ps4PlayTogetherPlayerCount: 0 + ps4EnterButtonAssignment: 1 + ps4ApplicationParam1: 0 + ps4ApplicationParam2: 0 + ps4ApplicationParam3: 0 + ps4ApplicationParam4: 0 + ps4DownloadDataSize: 0 + ps4GarlicHeapSize: 2048 + ps4ProGarlicHeapSize: 2560 + playerPrefsMaxSize: 32768 + ps4Passcode: frAQBc8Wsa1xVPfvJcrgRYwTiizs2trQ + ps4pnSessions: 1 + ps4pnPresence: 1 + ps4pnFriends: 1 + ps4pnGameCustomData: 1 + playerPrefsSupport: 0 + enableApplicationExit: 0 + resetTempFolder: 1 + restrictedAudioUsageRights: 0 + ps4UseResolutionFallback: 0 + ps4ReprojectionSupport: 0 + ps4UseAudio3dBackend: 0 + ps4UseLowGarlicFragmentationMode: 1 + ps4SocialScreenEnabled: 0 + ps4ScriptOptimizationLevel: 0 + ps4Audio3dVirtualSpeakerCount: 14 + ps4attribCpuUsage: 0 + ps4PatchPkgPath: + ps4PatchLatestPkgPath: + ps4PatchChangeinfoPath: + ps4PatchDayOne: 0 + ps4attribUserManagement: 0 + ps4attribMoveSupport: 0 + ps4attrib3DSupport: 0 + ps4attribShareSupport: 0 + ps4attribExclusiveVR: 0 + ps4disableAutoHideSplash: 0 + ps4videoRecordingFeaturesUsed: 0 + ps4contentSearchFeaturesUsed: 0 + ps4CompatibilityPS5: 0 + ps4GPU800MHz: 1 + ps4attribEyeToEyeDistanceSettingVR: 0 + ps4IncludedModules: [] + ps4attribVROutputEnabled: 0 + monoEnv: + splashScreenBackgroundSourceLandscape: {fileID: 0} + splashScreenBackgroundSourcePortrait: {fileID: 0} + blurSplashScreenBackground: 1 + spritePackerPolicy: + webGLMemorySize: 16 + webGLExceptionSupport: 1 + webGLNameFilesAsHashes: 0 + webGLDataCaching: 1 + webGLDebugSymbols: 0 + webGLEmscriptenArgs: + webGLModulesDirectory: + webGLTemplate: APPLICATION:Default + webGLAnalyzeBuildSize: 0 + webGLUseEmbeddedResources: 0 + webGLCompressionFormat: 1 + webGLWasmArithmeticExceptions: 0 + webGLLinkerTarget: 1 + webGLThreadsSupport: 0 + webGLDecompressionFallback: 0 + scriptingDefineSymbols: {} + additionalCompilerArguments: {} + platformArchitecture: {} + scriptingBackend: {} + il2cppCompilerConfiguration: {} + managedStrippingLevel: {} + incrementalIl2cppBuild: {} + suppressCommonWarnings: 1 + allowUnsafeCode: 0 + useDeterministicCompilation: 1 + useReferenceAssemblies: 1 + enableRoslynAnalyzers: 1 + additionalIl2CppArgs: + scriptingRuntimeVersion: 1 + gcIncremental: 1 + assemblyVersionValidation: 1 + gcWBarrierValidation: 0 + apiCompatibilityLevelPerPlatform: {} + m_RenderingPath: 1 + m_MobileRenderingPath: 1 + metroPackageName: Template_3D + metroPackageVersion: + metroCertificatePath: + metroCertificatePassword: + metroCertificateSubject: + metroCertificateIssuer: + metroCertificateNotAfter: 0000000000000000 + metroApplicationDescription: Template_3D + wsaImages: {} + metroTileShortName: + metroTileShowName: 0 + metroMediumTileShowName: 0 + metroLargeTileShowName: 0 + metroWideTileShowName: 0 + metroSupportStreamingInstall: 0 + metroLastRequiredScene: 0 + metroDefaultTileSize: 1 + metroTileForegroundText: 2 + metroTileBackgroundColor: {r: 0.13333334, g: 0.17254902, b: 0.21568628, a: 0} + metroSplashScreenBackgroundColor: {r: 0.12941177, g: 0.17254902, b: 0.21568628, a: 1} + metroSplashScreenUseBackgroundColor: 0 + platformCapabilities: {} + metroTargetDeviceFamilies: {} + metroFTAName: + metroFTAFileTypes: [] + metroProtocolName: + XboxOneProductId: + XboxOneUpdateKey: + XboxOneSandboxId: + XboxOneContentId: + XboxOneTitleId: + XboxOneSCId: + XboxOneGameOsOverridePath: + XboxOnePackagingOverridePath: + XboxOneAppManifestOverridePath: + XboxOneVersion: 1.0.0.0 + XboxOnePackageEncryption: 0 + XboxOnePackageUpdateGranularity: 2 + XboxOneDescription: + XboxOneLanguage: + - enus + XboxOneCapability: [] + XboxOneGameRating: {} + XboxOneIsContentPackage: 0 + XboxOneEnhancedXboxCompatibilityMode: 0 + XboxOneEnableGPUVariability: 1 + XboxOneSockets: {} + XboxOneSplashScreen: {fileID: 0} + XboxOneAllowedProductIds: [] + XboxOnePersistentLocalStorageSize: 0 + XboxOneXTitleMemory: 8 + XboxOneOverrideIdentityName: + XboxOneOverrideIdentityPublisher: + vrEditorSettings: {} + cloudServicesEnabled: + UNet: 1 + luminIcon: + m_Name: + m_ModelFolderPath: + m_PortalFolderPath: + luminCert: + m_CertPath: + m_SignPackage: 1 + luminIsChannelApp: 0 + luminVersion: + m_VersionCode: 1 + m_VersionName: + apiCompatibilityLevel: 6 + activeInputHandler: 0 + cloudProjectId: + framebufferDepthMemorylessMode: 0 + qualitySettingsNames: [] + projectName: + organizationId: + cloudEnabled: 0 + legacyClampBlendShapeWeights: 0 + virtualTexturingSupportEnabled: 0 diff --git a/ProjectSettings/ProjectVersion.txt b/ProjectSettings/ProjectVersion.txt new file mode 100644 index 0000000..8c1bcbd --- /dev/null +++ b/ProjectSettings/ProjectVersion.txt @@ -0,0 +1,2 @@ +m_EditorVersion: 2020.3.7f1 +m_EditorVersionWithRevision: 2020.3.7f1 (dd97f2c94397) diff --git a/ProjectSettings/QualitySettings.asset b/ProjectSettings/QualitySettings.asset new file mode 100644 index 0000000..7b7658d --- /dev/null +++ b/ProjectSettings/QualitySettings.asset @@ -0,0 +1,232 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!47 &1 +QualitySettings: + m_ObjectHideFlags: 0 + serializedVersion: 5 + m_CurrentQuality: 5 + m_QualitySettings: + - serializedVersion: 2 + name: Very Low + pixelLightCount: 0 + shadows: 0 + shadowResolution: 0 + shadowProjection: 1 + shadowCascades: 1 + shadowDistance: 15 + shadowNearPlaneOffset: 3 + shadowCascade2Split: 0.33333334 + shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667} + shadowmaskMode: 0 + blendWeights: 1 + textureQuality: 1 + anisotropicTextures: 0 + antiAliasing: 0 + softParticles: 0 + softVegetation: 0 + realtimeReflectionProbes: 0 + billboardsFaceCameraPosition: 0 + vSyncCount: 0 + lodBias: 0.3 + maximumLODLevel: 0 + streamingMipmapsActive: 0 + streamingMipmapsAddAllCameras: 1 + streamingMipmapsMemoryBudget: 512 + streamingMipmapsRenderersPerFrame: 512 + streamingMipmapsMaxLevelReduction: 2 + streamingMipmapsMaxFileIORequests: 1024 + particleRaycastBudget: 4 + asyncUploadTimeSlice: 2 + asyncUploadBufferSize: 16 + asyncUploadPersistentBuffer: 1 + resolutionScalingFixedDPIFactor: 1 + excludedTargetPlatforms: [] + - serializedVersion: 2 + name: Low + pixelLightCount: 0 + shadows: 0 + shadowResolution: 0 + shadowProjection: 1 + shadowCascades: 1 + shadowDistance: 20 + shadowNearPlaneOffset: 3 + shadowCascade2Split: 0.33333334 + shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667} + shadowmaskMode: 0 + blendWeights: 2 + textureQuality: 0 + anisotropicTextures: 0 + antiAliasing: 0 + softParticles: 0 + softVegetation: 0 + realtimeReflectionProbes: 0 + billboardsFaceCameraPosition: 0 + vSyncCount: 0 + lodBias: 0.4 + maximumLODLevel: 0 + streamingMipmapsActive: 0 + streamingMipmapsAddAllCameras: 1 + streamingMipmapsMemoryBudget: 512 + streamingMipmapsRenderersPerFrame: 512 + streamingMipmapsMaxLevelReduction: 2 + streamingMipmapsMaxFileIORequests: 1024 + particleRaycastBudget: 16 + asyncUploadTimeSlice: 2 + asyncUploadBufferSize: 16 + asyncUploadPersistentBuffer: 1 + resolutionScalingFixedDPIFactor: 1 + excludedTargetPlatforms: [] + - serializedVersion: 2 + name: Medium + pixelLightCount: 1 + shadows: 1 + shadowResolution: 0 + shadowProjection: 1 + shadowCascades: 1 + shadowDistance: 20 + shadowNearPlaneOffset: 3 + shadowCascade2Split: 0.33333334 + shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667} + shadowmaskMode: 0 + blendWeights: 2 + textureQuality: 0 + anisotropicTextures: 1 + antiAliasing: 0 + softParticles: 0 + softVegetation: 0 + realtimeReflectionProbes: 0 + billboardsFaceCameraPosition: 0 + vSyncCount: 1 + lodBias: 0.7 + maximumLODLevel: 0 + streamingMipmapsActive: 0 + streamingMipmapsAddAllCameras: 1 + streamingMipmapsMemoryBudget: 512 + streamingMipmapsRenderersPerFrame: 512 + streamingMipmapsMaxLevelReduction: 2 + streamingMipmapsMaxFileIORequests: 1024 + particleRaycastBudget: 64 + asyncUploadTimeSlice: 2 + asyncUploadBufferSize: 16 + asyncUploadPersistentBuffer: 1 + resolutionScalingFixedDPIFactor: 1 + excludedTargetPlatforms: [] + - serializedVersion: 2 + name: High + pixelLightCount: 2 + shadows: 2 + shadowResolution: 1 + shadowProjection: 1 + shadowCascades: 2 + shadowDistance: 40 + shadowNearPlaneOffset: 3 + shadowCascade2Split: 0.33333334 + shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667} + shadowmaskMode: 1 + blendWeights: 2 + textureQuality: 0 + anisotropicTextures: 1 + antiAliasing: 0 + softParticles: 0 + softVegetation: 1 + realtimeReflectionProbes: 1 + billboardsFaceCameraPosition: 1 + vSyncCount: 1 + lodBias: 1 + maximumLODLevel: 0 + streamingMipmapsActive: 0 + streamingMipmapsAddAllCameras: 1 + streamingMipmapsMemoryBudget: 512 + streamingMipmapsRenderersPerFrame: 512 + streamingMipmapsMaxLevelReduction: 2 + streamingMipmapsMaxFileIORequests: 1024 + particleRaycastBudget: 256 + asyncUploadTimeSlice: 2 + asyncUploadBufferSize: 16 + asyncUploadPersistentBuffer: 1 + resolutionScalingFixedDPIFactor: 1 + excludedTargetPlatforms: [] + - serializedVersion: 2 + name: Very High + pixelLightCount: 3 + shadows: 2 + shadowResolution: 2 + shadowProjection: 1 + shadowCascades: 2 + shadowDistance: 70 + shadowNearPlaneOffset: 3 + shadowCascade2Split: 0.33333334 + shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667} + shadowmaskMode: 1 + blendWeights: 4 + textureQuality: 0 + anisotropicTextures: 2 + antiAliasing: 2 + softParticles: 1 + softVegetation: 1 + realtimeReflectionProbes: 1 + billboardsFaceCameraPosition: 1 + vSyncCount: 1 + lodBias: 1.5 + maximumLODLevel: 0 + streamingMipmapsActive: 0 + streamingMipmapsAddAllCameras: 1 + streamingMipmapsMemoryBudget: 512 + streamingMipmapsRenderersPerFrame: 512 + streamingMipmapsMaxLevelReduction: 2 + streamingMipmapsMaxFileIORequests: 1024 + particleRaycastBudget: 1024 + asyncUploadTimeSlice: 2 + asyncUploadBufferSize: 16 + asyncUploadPersistentBuffer: 1 + resolutionScalingFixedDPIFactor: 1 + excludedTargetPlatforms: [] + - serializedVersion: 2 + name: Ultra + pixelLightCount: 4 + shadows: 2 + shadowResolution: 2 + shadowProjection: 1 + shadowCascades: 4 + shadowDistance: 150 + shadowNearPlaneOffset: 3 + shadowCascade2Split: 0.33333334 + shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667} + shadowmaskMode: 1 + blendWeights: 4 + textureQuality: 0 + anisotropicTextures: 2 + antiAliasing: 2 + softParticles: 1 + softVegetation: 1 + realtimeReflectionProbes: 1 + billboardsFaceCameraPosition: 1 + vSyncCount: 1 + lodBias: 2 + maximumLODLevel: 0 + streamingMipmapsActive: 0 + streamingMipmapsAddAllCameras: 1 + streamingMipmapsMemoryBudget: 512 + streamingMipmapsRenderersPerFrame: 512 + streamingMipmapsMaxLevelReduction: 2 + streamingMipmapsMaxFileIORequests: 1024 + particleRaycastBudget: 4096 + asyncUploadTimeSlice: 2 + asyncUploadBufferSize: 16 + asyncUploadPersistentBuffer: 1 + resolutionScalingFixedDPIFactor: 1 + excludedTargetPlatforms: [] + m_PerPlatformDefaultQuality: + Android: 2 + Lumin: 5 + Nintendo 3DS: 5 + Nintendo Switch: 5 + PS4: 5 + PSP2: 2 + Stadia: 5 + Standalone: 5 + WebGL: 3 + Windows Store Apps: 5 + XboxOne: 5 + iPhone: 2 + tvOS: 2 diff --git a/ProjectSettings/TagManager.asset b/ProjectSettings/TagManager.asset new file mode 100644 index 0000000..1c92a78 --- /dev/null +++ b/ProjectSettings/TagManager.asset @@ -0,0 +1,43 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!78 &1 +TagManager: + serializedVersion: 2 + tags: [] + layers: + - Default + - TransparentFX + - Ignore Raycast + - + - Water + - UI + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + m_SortingLayers: + - name: Default + uniqueID: 0 + locked: 0 diff --git a/ProjectSettings/TimeManager.asset b/ProjectSettings/TimeManager.asset new file mode 100644 index 0000000..558a017 --- /dev/null +++ b/ProjectSettings/TimeManager.asset @@ -0,0 +1,9 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!5 &1 +TimeManager: + m_ObjectHideFlags: 0 + Fixed Timestep: 0.02 + Maximum Allowed Timestep: 0.33333334 + m_TimeScale: 1 + Maximum Particle Timestep: 0.03 diff --git a/ProjectSettings/UnityConnectSettings.asset b/ProjectSettings/UnityConnectSettings.asset new file mode 100644 index 0000000..6125b30 --- /dev/null +++ b/ProjectSettings/UnityConnectSettings.asset @@ -0,0 +1,35 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!310 &1 +UnityConnectSettings: + m_ObjectHideFlags: 0 + serializedVersion: 1 + m_Enabled: 0 + m_TestMode: 0 + m_EventOldUrl: https://api.uca.cloud.unity3d.com/v1/events + m_EventUrl: https://cdp.cloud.unity3d.com/v1/events + m_ConfigUrl: https://config.uca.cloud.unity3d.com + m_DashboardUrl: https://dashboard.unity3d.com + m_TestInitMode: 0 + CrashReportingSettings: + m_EventUrl: https://perf-events.cloud.unity3d.com + m_Enabled: 0 + m_LogBufferSize: 10 + m_CaptureEditorExceptions: 1 + UnityPurchasingSettings: + m_Enabled: 0 + m_TestMode: 0 + UnityAnalyticsSettings: + m_Enabled: 0 + m_TestMode: 0 + m_InitializeOnStartup: 1 + UnityAdsSettings: + m_Enabled: 0 + m_InitializeOnStartup: 1 + m_TestMode: 0 + m_IosGameId: + m_AndroidGameId: + m_GameIds: {} + m_GameId: + PerformanceReportingSettings: + m_Enabled: 0 diff --git a/ProjectSettings/VFXManager.asset b/ProjectSettings/VFXManager.asset new file mode 100644 index 0000000..3a95c98 --- /dev/null +++ b/ProjectSettings/VFXManager.asset @@ -0,0 +1,12 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!937362698 &1 +VFXManager: + m_ObjectHideFlags: 0 + m_IndirectShader: {fileID: 0} + m_CopyBufferShader: {fileID: 0} + m_SortShader: {fileID: 0} + m_StripUpdateShader: {fileID: 0} + m_RenderPipeSettingsPath: + m_FixedTimeStep: 0.016666668 + m_MaxDeltaTime: 0.05 diff --git a/ProjectSettings/VersionControlSettings.asset b/ProjectSettings/VersionControlSettings.asset new file mode 100644 index 0000000..dca2881 --- /dev/null +++ b/ProjectSettings/VersionControlSettings.asset @@ -0,0 +1,8 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!890905787 &1 +VersionControlSettings: + m_ObjectHideFlags: 0 + m_Mode: Visible Meta Files + m_CollabEditorSettings: + inProgressEnabled: 1 diff --git a/ProjectSettings/XRSettings.asset b/ProjectSettings/XRSettings.asset new file mode 100644 index 0000000..482590c --- /dev/null +++ b/ProjectSettings/XRSettings.asset @@ -0,0 +1,10 @@ +{ + "m_SettingKeys": [ + "VR Device Disabled", + "VR Device User Alert" + ], + "m_SettingValues": [ + "False", + "False" + ] +} \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 0000000..2a260d0 --- /dev/null +++ b/README.md @@ -0,0 +1,10 @@ +# Setting RESTful package + +Please set up first the path for the 'Unity World Storage Package' correcly + +--- + +# Description of UI / editor functions + +xxx + diff --git a/UserSettings/EditorUserSettings.asset b/UserSettings/EditorUserSettings.asset new file mode 100644 index 0000000..a27413b --- /dev/null +++ b/UserSettings/EditorUserSettings.asset @@ -0,0 +1,27 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!162 &1 +EditorUserSettings: + m_ObjectHideFlags: 0 + serializedVersion: 4 + m_ConfigSettings: + RecentlyUsedScenePath-0: + value: 22424703114646680e0b0227036c6c111b07142f1f2b233e2867083debf42d + flags: 0 + RecentlyUsedScenePath-1: + value: 224247031146467e393d256c3111795f37253e6a1b27343c29692e27edf2353fe7a717d9ce750c3f3c0cea2f4b0d0032e2060c38f50e040e515fb31b1ff6040a + flags: 0 + vcSharedLogLevel: + value: 0d5e400f0650 + flags: 0 + m_VCAutomaticAdd: 1 + m_VCDebugCom: 0 + m_VCDebugCmd: 0 + m_VCDebugOut: 0 + m_SemanticMergeMode: 2 + m_VCShowFailedCheckout: 1 + m_VCOverwriteFailedCheckoutAssets: 1 + m_VCProjectOverlayIcons: 1 + m_VCHierarchyOverlayIcons: 1 + m_VCOtherOverlayIcons: 1 + m_VCAllowAsyncUpdate: 1 -- GitLab