diff --git a/GettingStartedGuides/HoloLens2_GettingStarted/HoloLens2GetStartedApp/.gitignore b/GettingStartedGuides/HoloLens2_GettingStarted/HoloLens2GetStartedApp/.gitignore new file mode 100644 index 00000000..b17c5fee --- /dev/null +++ b/GettingStartedGuides/HoloLens2_GettingStarted/HoloLens2GetStartedApp/.gitignore @@ -0,0 +1,88 @@ +# This .gitignore file should be placed at the root of your Unity project directory +# +# Get latest from https://github.com/github/gitignore/blob/main/Unity.gitignore +# +/[Ll]ibrary/ +/[Tt]emp/ +/[Oo]bj/ +/[Bb]uild/ +/[Bb]uilds/ +/[Ll]ogs/ +/[Uu]ser[Ss]ettings/ + + +# Ensure Packages folder included +!/[Pp]ackages/ + +# MemoryCaptures can get excessive in size. +# They also could contain extremely sensitive data +/[Mm]emoryCaptures/ + +# Asset meta data should only be ignored when the corresponding asset is also ignored +#!*/[Aa]ssets/**/*.meta + +# Recordings can get excessive in size +/[Rr]ecordings/ + +# Uncomment this line if you wish to ignore the asset store tools plugin +/[Aa]ssets/AssetStoreTools* + +# 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 +*.pfx +*.pfx.meta +*.pdb +*.mdb +*.opendb +*.VC.db +.vsconfig + +# Unity3D generated meta files +*.pidb.meta +*.pdb.meta +*.mdb.meta + +# Unity3D generated file on crash reports +sysinfo.txt + +# Builds +*.apk +*.aab +*.unitypackage +*.app + +# MRTK Packages +/[Pp]ackages/[Mm]ixed[Rr]eality/ + +# Crashlytics generated file +crashlytics-build.properties + +# Packed Addressables +/[Aa]ssets/[Aa]ddressable[Aa]ssets[Dd]ata/*/*.bin* + +# Temporary auto-generated Android Assets +/[Aa]ssets/[Ss]treamingAssets/aa.meta +/[Aa]ssets/[Ss]treamingAssets/aa/* + +/[Aa]ssets/MixedRealityToolkit.Generated* +/[Aa]ssets/TextMesh Pro* \ No newline at end of file diff --git a/GettingStartedGuides/HoloLens2_GettingStarted/HoloLens2GetStartedApp/Assets/MRTK.meta b/GettingStartedGuides/HoloLens2_GettingStarted/HoloLens2GetStartedApp/Assets/MRTK.meta new file mode 100644 index 00000000..665001d1 --- /dev/null +++ b/GettingStartedGuides/HoloLens2_GettingStarted/HoloLens2GetStartedApp/Assets/MRTK.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 059d557adcd91dd48ac4f807c04c402d +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/GettingStartedGuides/HoloLens2_GettingStarted/HoloLens2GetStartedApp/Assets/MRTK/Shaders.meta b/GettingStartedGuides/HoloLens2_GettingStarted/HoloLens2GetStartedApp/Assets/MRTK/Shaders.meta new file mode 100644 index 00000000..9f56c323 --- /dev/null +++ b/GettingStartedGuides/HoloLens2_GettingStarted/HoloLens2GetStartedApp/Assets/MRTK/Shaders.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 61af5bb5a08b82742bf9c74160c36df3 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/GettingStartedGuides/HoloLens2_GettingStarted/HoloLens2GetStartedApp/Assets/MRTK/Shaders/ChannelPacker.shader b/GettingStartedGuides/HoloLens2_GettingStarted/HoloLens2GetStartedApp/Assets/MRTK/Shaders/ChannelPacker.shader new file mode 100644 index 00000000..e14b3609 --- /dev/null +++ b/GettingStartedGuides/HoloLens2_GettingStarted/HoloLens2GetStartedApp/Assets/MRTK/Shaders/ChannelPacker.shader @@ -0,0 +1,104 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + +// NOTE: MRTK Shaders are versioned via the MRTK.Shaders.sentinel file. +// When making changes to any shader's source file, the value in the sentinel _must_ be incremented. + +Shader "Hidden/ChannelPacker" +{ + Properties + { + _MetallicMap("Metallic Map", 2D) = "black" {} + _MetallicMapChannel("Metallic Map Channel", Int) = 0 // Red. + _MetallicUniform("Metallic Uniform", Float) = -0.01 + _OcclusionMap("Occlusion Map", 2D) = "white" {} + _OcclusionMapChannel("Occlusion Map Channel", Int) = 1 // Green. + _OcclusionUniform("Occlusion Uniform", Float) = -0.01 + _EmissionMap("Emission Map", 2D) = "black" {} + _EmissionMapChannel("Emission Map Channel", Int) = 4 // RGBAverage. + _EmissionUniform("Emission Uniform", Float) = -0.01 + _SmoothnessMap("Smoothness Map", 2D) = "gray" {} + _SmoothnessMapChannel("Smoothness Map Channel", Int) = 3 // Alpha. + _SmoothnessUniform("Smoothness Uniform", Float) = -0.01 + } + SubShader + { + Pass + { + CGPROGRAM + + #pragma vertex vert + #pragma fragment frag + + #include "UnityCG.cginc" + + struct appdata + { + float4 vertex : POSITION; + float2 uv : TEXCOORD0; + }; + + struct v2f + { + float4 vertex : SV_POSITION; + float2 uv : TEXCOORD0; + }; + + sampler2D _MetallicMap; + int _MetallicMapChannel; + float _MetallicUniform; + sampler2D _OcclusionMap; + int _OcclusionMapChannel; + float _OcclusionUniform; + sampler2D _EmissionMap; + int _EmissionMapChannel; + float _EmissionUniform; + sampler2D _SmoothnessMap; + int _SmoothnessMapChannel; + float _SmoothnessUniform; + + v2f vert(appdata v) + { + v2f o; + o.vertex = UnityObjectToClipPos(v.vertex); + o.uv = v.uv; + + return o; + } + + fixed4 ToGrayScale(fixed4 color) + { + return color.r * 0.21 + color.g * 0.71 + color.b * 0.08; + } + + fixed Sample(fixed4 color, int channel, float uniformValue) + { + if (uniformValue >= 0.0) + { + return uniformValue; + } + + if (channel == 4) + { + return ToGrayScale(color); + } + + return color[channel]; + } + + fixed4 frag(v2f i) : SV_Target + { + fixed4 output; + + output.r = Sample(tex2D(_MetallicMap, i.uv), _MetallicMapChannel, _MetallicUniform); + output.g = Sample(tex2D(_OcclusionMap, i.uv), _OcclusionMapChannel, _OcclusionUniform); + output.b = Sample(tex2D(_EmissionMap, i.uv), _EmissionMapChannel, _EmissionUniform); + output.a = Sample(tex2D(_SmoothnessMap, i.uv), _SmoothnessMapChannel, _SmoothnessUniform); + + return output; + } + + ENDCG + } + } +} diff --git a/GettingStartedGuides/HoloLens2_GettingStarted/HoloLens2GetStartedApp/Assets/MRTK/Shaders/ChannelPacker.shader.meta b/GettingStartedGuides/HoloLens2_GettingStarted/HoloLens2GetStartedApp/Assets/MRTK/Shaders/ChannelPacker.shader.meta new file mode 100644 index 00000000..b9a13b7f --- /dev/null +++ b/GettingStartedGuides/HoloLens2_GettingStarted/HoloLens2GetStartedApp/Assets/MRTK/Shaders/ChannelPacker.shader.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 72ba6d7b37f51174bb3c7be2acc8fb0d +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/GettingStartedGuides/HoloLens2_GettingStarted/HoloLens2GetStartedApp/Assets/MRTK/Shaders/DepthBufferPostProcess.shader b/GettingStartedGuides/HoloLens2_GettingStarted/HoloLens2GetStartedApp/Assets/MRTK/Shaders/DepthBufferPostProcess.shader new file mode 100644 index 00000000..fa1278c1 --- /dev/null +++ b/GettingStartedGuides/HoloLens2_GettingStarted/HoloLens2GetStartedApp/Assets/MRTK/Shaders/DepthBufferPostProcess.shader @@ -0,0 +1,35 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + +// NOTE: MRTK Shaders are versioned via the MRTK.Shaders.sentinel file. +// When making changes to any shader's source file, the value in the sentinel _must_ be incremented. + +Shader "Mixed Reality Toolkit/Depth Buffer Viewer" +{ + Properties + { + _DepthTex("Texture", 2D) = "black" {} + _MainTex("Base (RGB)", 2D) = "green" {} + } + + SubShader + { + Pass + { + CGPROGRAM + #pragma vertex vert_img + #pragma fragment frag + + #include "UnityCG.cginc" + + uniform sampler2D _MainTex; + sampler2D _DepthTex; + + float4 frag(v2f_img i) : COLOR + { + return Linear01Depth(SAMPLE_DEPTH_TEXTURE(_DepthTex, i.uv)); + } + ENDCG + } + } +} \ No newline at end of file diff --git a/GettingStartedGuides/HoloLens2_GettingStarted/HoloLens2GetStartedApp/Assets/MRTK/Shaders/DepthBufferPostProcess.shader.meta b/GettingStartedGuides/HoloLens2_GettingStarted/HoloLens2GetStartedApp/Assets/MRTK/Shaders/DepthBufferPostProcess.shader.meta new file mode 100644 index 00000000..668c99de --- /dev/null +++ b/GettingStartedGuides/HoloLens2_GettingStarted/HoloLens2GetStartedApp/Assets/MRTK/Shaders/DepthBufferPostProcess.shader.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 8e3074f33703cbb4186e9b6c2c958fda +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/GettingStartedGuides/HoloLens2_GettingStarted/HoloLens2GetStartedApp/Assets/MRTK/Shaders/InstancedColored.shader b/GettingStartedGuides/HoloLens2_GettingStarted/HoloLens2GetStartedApp/Assets/MRTK/Shaders/InstancedColored.shader new file mode 100644 index 00000000..a2405b1d --- /dev/null +++ b/GettingStartedGuides/HoloLens2_GettingStarted/HoloLens2GetStartedApp/Assets/MRTK/Shaders/InstancedColored.shader @@ -0,0 +1,74 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + +// NOTE: MRTK Shaders are versioned via the MRTK.Shaders.sentinel file. +// When making changes to any shader's source file, the value in the sentinel _must_ be incremented. + +Shader "Hidden/Instanced-Colored" +{ + Properties + { + _Color("Color", Color) = (1.0, 1.0, 1.0, 1.0) + _ZWrite("ZWrite", Int) = 1.0 // On + [Enum(UnityEngine.Rendering.CompareFunction)] _ZTest("ZTest", Int) = 4.0 // LEqual + [Enum(UnityEngine.Rendering.CullMode)] _Cull("Cull", Int) = 0.0 // Off + } + + SubShader + { + Pass + { + Name "Main" + Tags{ "RenderType" = "Opaque" } + ZWrite[_ZWrite] + ZTest[_ZTest] + Cull[_Cull] + + CGPROGRAM + + #pragma vertex vert + #pragma fragment frag + + #pragma multi_compile_instancing + + #include "UnityCG.cginc" + + struct appdata_t + { + fixed4 vertex : POSITION; + UNITY_VERTEX_INPUT_INSTANCE_ID + }; + + struct v2f + { + fixed4 vertex : SV_POSITION; + fixed4 color : COLOR0; + UNITY_VERTEX_OUTPUT_STEREO + }; + + float4x4 _ParentLocalToWorldMatrix; + + UNITY_INSTANCING_BUFFER_START(Props) + UNITY_DEFINE_INSTANCED_PROP(float4, _Color) + UNITY_INSTANCING_BUFFER_END(Props) + + v2f vert(appdata_t v) + { + v2f o; + UNITY_SETUP_INSTANCE_ID(v); + UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o); + o.vertex = mul(UNITY_MATRIX_VP, mul(_ParentLocalToWorldMatrix, mul(unity_ObjectToWorld, float4(v.vertex.xyz, 1.0)))); + o.color = UNITY_ACCESS_INSTANCED_PROP(Props, _Color); + + return o; + } + + fixed4 frag(v2f i) : SV_Target + { + return i.color; + } + + ENDCG + } + } +} diff --git a/GettingStartedGuides/HoloLens2_GettingStarted/HoloLens2GetStartedApp/Assets/MRTK/Shaders/InstancedColored.shader.meta b/GettingStartedGuides/HoloLens2_GettingStarted/HoloLens2GetStartedApp/Assets/MRTK/Shaders/InstancedColored.shader.meta new file mode 100644 index 00000000..45560639 --- /dev/null +++ b/GettingStartedGuides/HoloLens2_GettingStarted/HoloLens2GetStartedApp/Assets/MRTK/Shaders/InstancedColored.shader.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: d199a2ca60343bb49ad9a41ddb45a083 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/GettingStartedGuides/HoloLens2_GettingStarted/HoloLens2GetStartedApp/Assets/MRTK/Shaders/InvisibleShader.shader b/GettingStartedGuides/HoloLens2_GettingStarted/HoloLens2GetStartedApp/Assets/MRTK/Shaders/InvisibleShader.shader new file mode 100644 index 00000000..57dc8dd6 --- /dev/null +++ b/GettingStartedGuides/HoloLens2_GettingStarted/HoloLens2GetStartedApp/Assets/MRTK/Shaders/InvisibleShader.shader @@ -0,0 +1,57 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + +// NOTE: MRTK Shaders are versioned via the MRTK.Shaders.sentinel file. +// When making changes to any shader's source file, the value in the sentinel _must_ be incremented. + +Shader "Mixed Reality Toolkit/InvisibleShader" { + + Subshader + { + Pass + { + GLSLPROGRAM + #ifdef VERTEX + void main() {} + #endif + + #ifdef FRAGMENT + void main() {} + #endif + ENDGLSL + } + } + + Subshader + { + Pass + { + CGPROGRAM + #pragma vertex vert + #pragma fragment frag + + #include "UnityCG.cginc" + + struct v2f + { + fixed4 position : SV_POSITION; + UNITY_VERTEX_OUTPUT_STEREO + }; + + v2f vert(appdata_base v) + { + v2f o; + UNITY_SETUP_INSTANCE_ID(v); + UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o); + o.position = fixed4(0,0,0,0); + return o; + } + + fixed4 frag() : COLOR + { + return fixed4(0,0,0,0); + } + ENDCG + } + } +} \ No newline at end of file diff --git a/GettingStartedGuides/HoloLens2_GettingStarted/HoloLens2GetStartedApp/Assets/MRTK/Shaders/InvisibleShader.shader.meta b/GettingStartedGuides/HoloLens2_GettingStarted/HoloLens2GetStartedApp/Assets/MRTK/Shaders/InvisibleShader.shader.meta new file mode 100644 index 00000000..ab6aca5d --- /dev/null +++ b/GettingStartedGuides/HoloLens2_GettingStarted/HoloLens2GetStartedApp/Assets/MRTK/Shaders/InvisibleShader.shader.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 54ea9f30be414d86a7260eceb330c449 +timeCreated: 1510009044 +licenseType: Free +ShaderImporter: + externalObjects: {} + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/GettingStartedGuides/HoloLens2_GettingStarted/HoloLens2GetStartedApp/Assets/MRTK/Shaders/MRTK.Shaders.sentinel b/GettingStartedGuides/HoloLens2_GettingStarted/HoloLens2GetStartedApp/Assets/MRTK/Shaders/MRTK.Shaders.sentinel new file mode 100644 index 00000000..c7d29ad3 --- /dev/null +++ b/GettingStartedGuides/HoloLens2_GettingStarted/HoloLens2GetStartedApp/Assets/MRTK/Shaders/MRTK.Shaders.sentinel @@ -0,0 +1 @@ +ver: 2 \ No newline at end of file diff --git a/GettingStartedGuides/HoloLens2_GettingStarted/HoloLens2GetStartedApp/Assets/MRTK/Shaders/MRTK.Shaders.sentinel.meta b/GettingStartedGuides/HoloLens2_GettingStarted/HoloLens2GetStartedApp/Assets/MRTK/Shaders/MRTK.Shaders.sentinel.meta new file mode 100644 index 00000000..eb06f007 --- /dev/null +++ b/GettingStartedGuides/HoloLens2_GettingStarted/HoloLens2GetStartedApp/Assets/MRTK/Shaders/MRTK.Shaders.sentinel.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 05852dd420bb9ec4cb7318bfa529d37c +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/GettingStartedGuides/HoloLens2_GettingStarted/HoloLens2GetStartedApp/Assets/MRTK/Shaders/MRTK_Wireframe.shader b/GettingStartedGuides/HoloLens2_GettingStarted/HoloLens2GetStartedApp/Assets/MRTK/Shaders/MRTK_Wireframe.shader new file mode 100644 index 00000000..1cdc6c21 --- /dev/null +++ b/GettingStartedGuides/HoloLens2_GettingStarted/HoloLens2GetStartedApp/Assets/MRTK/Shaders/MRTK_Wireframe.shader @@ -0,0 +1,145 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + +// NOTE: MRTK Shaders are versioned via the MRTK.Shaders.sentinel file. +// When making changes to any shader's source file, the value in the sentinel _must_ be incremented. + +/// +/// Basic wireframe shader that can be used for rendering spatial mapping meshes. +/// +Shader "Mixed Reality Toolkit/Wireframe" +{ + Properties + { + // Advanced options. + [Enum(RenderingMode)] _Mode("Rendering Mode", Float) = 0 // "Opaque" + [Enum(CustomRenderingMode)] _CustomMode("Mode", Float) = 0 // "Opaque" + [Enum(UnityEngine.Rendering.BlendMode)] _SrcBlend("Source Blend", Float) = 1 // "One" + [Enum(UnityEngine.Rendering.BlendMode)] _DstBlend("Destination Blend", Float) = 0 // "Zero" + [Enum(UnityEngine.Rendering.BlendOp)] _BlendOp("Blend Operation", Float) = 0 // "Add" + [Enum(UnityEngine.Rendering.CompareFunction)] _ZTest("Depth Test", Float) = 4 // "LessEqual" + [Enum(DepthWrite)] _ZWrite("Depth Write", Float) = 1 // "On" + _ZOffsetFactor("Depth Offset Factor", Float) = 0 // "Zero" + _ZOffsetUnits("Depth Offset Units", Float) = 0 // "Zero" + [Enum(UnityEngine.Rendering.ColorWriteMask)] _ColorWriteMask("Color Write Mask", Float) = 15 // "All" + [Enum(UnityEngine.Rendering.CullMode)] _CullMode("Cull Mode", Float) = 2 // "Back" + _RenderQueueOverride("Render Queue Override", Range(-1.0, 5000)) = -1 + + _BaseColor("Base color", Color) = (0.0, 0.0, 0.0, 1.0) + _WireColor("Wire color", Color) = (1.0, 1.0, 1.0, 1.0) + _WireThickness("Wire thickness", Range(0, 800)) = 100 + } + SubShader + { + Tags { "RenderType" = "Opaque" } + Blend[_SrcBlend][_DstBlend] + BlendOp[_BlendOp] + ZTest[_ZTest] + ZWrite[_ZWrite] + Cull[_CullMode] + Offset[_ZOffsetFactor],[_ZOffsetUnits] + ColorMask[_ColorWriteMask] + + Pass + { + Offset 50, 100 + + CGPROGRAM + #pragma vertex vert + #pragma geometry geom + #pragma fragment frag + + #if defined(SHADER_API_D3D11) + #pragma target 5.0 + #endif + + #include "UnityCG.cginc" + + float4 _BaseColor; + float4 _WireColor; + float _WireThickness; + + // Based on approach described in Shader-Based Wireframe Drawing (2008) + // http://orbit.dtu.dk/en/publications/id(13e2122d-bec7-48de-beca-03ce6ea1c3f1).html + + struct v2g + { + float4 viewPos : SV_POSITION; + UNITY_VERTEX_OUTPUT_STEREO + }; + + v2g vert(appdata_base v) + { + UNITY_SETUP_INSTANCE_ID(v); + v2g o; + o.viewPos = UnityObjectToClipPos(v.vertex); + UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o); + return o; + } + + // inverseW is to counteract the effect of perspective-correct interpolation so that the lines + // look the same thickness regardless of their depth in the scene. + struct g2f + { + float4 viewPos : SV_POSITION; + float inverseW : TEXCOORD0; + float3 dist : TEXCOORD1; + UNITY_VERTEX_OUTPUT_STEREO + }; + + [maxvertexcount(3)] + void geom(triangle v2g i[3], inout TriangleStream triStream) + { + // Calculate the vectors that define the triangle from the input points. + float2 point0 = i[0].viewPos.xy / i[0].viewPos.w; + float2 point1 = i[1].viewPos.xy / i[1].viewPos.w; + float2 point2 = i[2].viewPos.xy / i[2].viewPos.w; + + // Calculate the area of the triangle. + float2 vector0 = point2 - point1; + float2 vector1 = point2 - point0; + float2 vector2 = point1 - point0; + float area = abs(vector1.x * vector2.y - vector1.y * vector2.x); + + float3 distScale[3]; + distScale[0] = float3(area / length(vector0), 0, 0); + distScale[1] = float3(0, area / length(vector1), 0); + distScale[2] = float3(0, 0, area / length(vector2)); + + float wireScale = 800 - _WireThickness; + + // Output each original vertex with its distance to the opposing line defined + // by the other two vertices. + g2f o; + UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o); + + [unroll] + for (uint idx = 0; idx < 3; ++idx) + { + o.viewPos = i[idx].viewPos; + o.inverseW = 1.0 / o.viewPos.w; + o.dist = distScale[idx] * o.viewPos.w * wireScale; + UNITY_TRANSFER_VERTEX_OUTPUT_STEREO(i[idx], o); + triStream.Append(o); + } + } + + float4 frag(g2f i) : COLOR + { + // Calculate minimum distance to one of the triangle lines, making sure to correct + // for perspective-correct interpolation. + float dist = min(i.dist[0], min(i.dist[1], i.dist[2])) * i.inverseW; + + // Make the intensity of the line very bright along the triangle edges but fall-off very + // quickly. + float I = exp2(-2 * dist * dist); + + return I * _WireColor + (1 - I) * _BaseColor; + } + ENDCG + } + } + + FallBack "Mixed Reality Toolkit/Standard" + CustomEditor "Microsoft.MixedReality.Toolkit.Editor.MixedRealityWireframeShaderGUI" +} diff --git a/GettingStartedGuides/HoloLens2_GettingStarted/HoloLens2GetStartedApp/Assets/MRTK/Shaders/MRTK_Wireframe.shader.meta b/GettingStartedGuides/HoloLens2_GettingStarted/HoloLens2GetStartedApp/Assets/MRTK/Shaders/MRTK_Wireframe.shader.meta new file mode 100644 index 00000000..dd042e4a --- /dev/null +++ b/GettingStartedGuides/HoloLens2_GettingStarted/HoloLens2GetStartedApp/Assets/MRTK/Shaders/MRTK_Wireframe.shader.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 5c1653eb4e20b76499141de7bc57c063 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/GettingStartedGuides/HoloLens2_GettingStarted/HoloLens2GetStartedApp/Assets/MRTK/Shaders/MixedRealityShaderUtils.cginc b/GettingStartedGuides/HoloLens2_GettingStarted/HoloLens2GetStartedApp/Assets/MRTK/Shaders/MixedRealityShaderUtils.cginc new file mode 100644 index 00000000..37947abe --- /dev/null +++ b/GettingStartedGuides/HoloLens2_GettingStarted/HoloLens2GetStartedApp/Assets/MRTK/Shaders/MixedRealityShaderUtils.cginc @@ -0,0 +1,31 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + +#ifndef MRTK_SHADER_UTILS +#define MRTK_SHADER_UTILS + +#if defined(_CLIPPING_PLANE) +inline float PointVsPlane(float3 worldPosition, float4 plane) +{ + float3 planePosition = plane.xyz * plane.w; + return dot(worldPosition - planePosition, plane.xyz); +} +#endif + +#if defined(_CLIPPING_SPHERE) +inline float PointVsSphere(float3 worldPosition, float4x4 sphereInverseTransform) +{ + return length(mul(sphereInverseTransform, float4(worldPosition, 1.0)).xyz) - 0.5; +} +#endif + +#if defined(_CLIPPING_BOX) +inline float PointVsBox(float3 worldPosition, float4x4 boxInverseTransform) +{ + float3 distance = abs(mul(boxInverseTransform, float4(worldPosition, 1.0))) - 0.5; + return length(max(distance, 0.0)) + min(max(distance.x, max(distance.y, distance.z)), 0.0); +} +#endif + + +#endif \ No newline at end of file diff --git a/GettingStartedGuides/HoloLens2_GettingStarted/HoloLens2GetStartedApp/Assets/MRTK/Shaders/MixedRealityShaderUtils.cginc.meta b/GettingStartedGuides/HoloLens2_GettingStarted/HoloLens2GetStartedApp/Assets/MRTK/Shaders/MixedRealityShaderUtils.cginc.meta new file mode 100644 index 00000000..dd27300b --- /dev/null +++ b/GettingStartedGuides/HoloLens2_GettingStarted/HoloLens2GetStartedApp/Assets/MRTK/Shaders/MixedRealityShaderUtils.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: dfab24eea71ce3745be340d7a24fe8eb +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/GettingStartedGuides/HoloLens2_GettingStarted/HoloLens2GetStartedApp/Assets/MRTK/Shaders/MixedRealityStandard.shader b/GettingStartedGuides/HoloLens2_GettingStarted/HoloLens2GetStartedApp/Assets/MRTK/Shaders/MixedRealityStandard.shader new file mode 100644 index 00000000..7e3a5a34 --- /dev/null +++ b/GettingStartedGuides/HoloLens2_GettingStarted/HoloLens2GetStartedApp/Assets/MRTK/Shaders/MixedRealityStandard.shader @@ -0,0 +1,1259 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + +// NOTE: MRTK Shaders are versioned via the MRTK.Shaders.sentinel file. +// When making changes to any shader's source file, the value in the sentinel _must_ be incremented. + +Shader "Mixed Reality Toolkit/Standard" +{ + Properties + { + // Main maps. + _Color("Color", Color) = (1.0, 1.0, 1.0, 1.0) + _MainTex("Albedo", 2D) = "white" {} + [Enum(AlbedoAlphaMode)] _AlbedoAlphaMode("Albedo Alpha Mode", Float) = 0 // "Transparency" + [Toggle] _AlbedoAssignedAtRuntime("Albedo Assigned at Runtime", Float) = 0.0 + _Cutoff("Alpha Cutoff", Range(0.0, 1.0)) = 0.5 + _Metallic("Metallic", Range(0.0, 1.0)) = 0.0 + _Smoothness("Smoothness", Range(0.0, 1.0)) = 0.5 + [Toggle(_CHANNEL_MAP)] _EnableChannelMap("Enable Channel Map", Float) = 0.0 + [NoScaleOffset] _ChannelMap("Channel Map", 2D) = "white" {} + [Toggle(_NORMAL_MAP)] _EnableNormalMap("Enable Normal Map", Float) = 0.0 + [NoScaleOffset] _NormalMap("Normal Map", 2D) = "bump" {} + _NormalMapScale("Scale", Float) = 1.0 + [Toggle(_EMISSION)] _EnableEmission("Enable Emission", Float) = 0.0 + [HDR]_EmissiveColor("Emissive Color", Color) = (0.0, 0.0, 0.0, 1.0) + [Toggle(_TRIPLANAR_MAPPING)] _EnableTriplanarMapping("Triplanar Mapping", Float) = 0.0 + [Toggle(_USE_SSAA)] _EnableSSAA("Super Sample Anti Aliasing", Float) = 0.0 + _MipmapBias("Mipmap Bias", Range(-5.0, 0.0)) = -2.0 + [Toggle(_LOCAL_SPACE_TRIPLANAR_MAPPING)] _EnableLocalSpaceTriplanarMapping("Local Space", Float) = 0.0 + _TriplanarMappingBlendSharpness("Blend Sharpness", Range(1.0, 16.0)) = 4.0 + + // Rendering options. + [Toggle(_DIRECTIONAL_LIGHT)] _DirectionalLight("Directional Light", Float) = 1.0 + [Toggle(_SPECULAR_HIGHLIGHTS)] _SpecularHighlights("Specular Highlights", Float) = 1.0 + [Toggle(_SPHERICAL_HARMONICS)] _SphericalHarmonics("Spherical Harmonics", Float) = 0.0 + [Toggle(_REFLECTIONS)] _Reflections("Reflections", Float) = 0.0 + [Toggle(_REFRACTION)] _Refraction("Refraction", Float) = 0.0 + _RefractiveIndex("Refractive Index", Range(0.0, 3.0)) = 0.0 + [Toggle(_RIM_LIGHT)] _RimLight("Rim Light", Float) = 0.0 + _RimColor("Rim Color", Color) = (0.5, 0.5, 0.5, 1.0) + _RimPower("Rim Power", Range(0.0, 8.0)) = 0.25 + [Toggle(_VERTEX_COLORS)] _VertexColors("Vertex Colors", Float) = 0.0 + [Toggle(_VERTEX_EXTRUSION)] _VertexExtrusion("Vertex Extrusion", Float) = 0.0 + _VertexExtrusionValue("Vertex Extrusion Value", Float) = 0.0 + [Toggle(_VERTEX_EXTRUSION_SMOOTH_NORMALS)] _VertexExtrusionSmoothNormals("Vertex Extrusion Smooth Normals", Float) = 0.0 + _BlendedClippingWidth("Blended Clipping With", Range(0.0, 10.0)) = 1.0 + [Toggle(_CLIPPING_BORDER)] _ClippingBorder("Clipping Border", Float) = 0.0 + _ClippingBorderWidth("Clipping Border Width", Range(0.0, 1.0)) = 0.025 + _ClippingBorderColor("Clipping Border Color", Color) = (1.0, 0.2, 0.0, 1.0) + [Toggle(_NEAR_PLANE_FADE)] _NearPlaneFade("Near Plane Fade", Float) = 0.0 + [Toggle(_NEAR_LIGHT_FADE)] _NearLightFade("Near Light Fade", Float) = 0.0 + _FadeBeginDistance("Fade Begin Distance", Range(0.0, 10.0)) = 0.85 + _FadeCompleteDistance("Fade Complete Distance", Range(0.0, 10.0)) = 0.5 + _FadeMinValue("Fade Min Value", Range(0.0, 1.0)) = 0.0 + + // Fluent options. + [Toggle(_HOVER_LIGHT)] _HoverLight("Hover Light", Float) = 1.0 + [Toggle(_HOVER_COLOR_OVERRIDE)] _EnableHoverColorOverride("Hover Color Override", Float) = 0.0 + _HoverColorOverride("Hover Color Override", Color) = (1.0, 1.0, 1.0, 1.0) + [Toggle(_PROXIMITY_LIGHT)] _ProximityLight("Proximity Light", Float) = 0.0 + [Toggle(_PROXIMITY_LIGHT_COLOR_OVERRIDE)] _EnableProximityLightColorOverride("Proximity Light Color Override", Float) = 0.0 + [HDR]_ProximityLightCenterColorOverride("Proximity Light Center Color Override", Color) = (1.0, 0.0, 0.0, 0.0) + [HDR]_ProximityLightMiddleColorOverride("Proximity Light Middle Color Override", Color) = (0.0, 1.0, 0.0, 0.5) + [HDR]_ProximityLightOuterColorOverride("Proximity Light Outer Color Override", Color) = (0.0, 0.0, 1.0, 1.0) + [Toggle(_PROXIMITY_LIGHT_SUBTRACTIVE)] _ProximityLightSubtractive("Proximity Light Subtractive", Float) = 0.0 + [Toggle(_PROXIMITY_LIGHT_TWO_SIDED)] _ProximityLightTwoSided("Proximity Light Two Sided", Float) = 0.0 + _FluentLightIntensity("Fluent Light Intensity", Range(0.0, 1.0)) = 1.0 + [Toggle(_ROUND_CORNERS)] _RoundCorners("Round Corners", Float) = 0.0 + _RoundCornerRadius("Round Corner Radius", Range(0.0, 0.5)) = 0.25 + _RoundCornerMargin("Round Corner Margin", Range(0.0, 0.5)) = 0.01 + [Toggle(_INDEPENDENT_CORNERS)] _IndependentCorners("Independent Corners", Float) = 0.0 + _RoundCornersRadius("Round Corners Radius", Vector) = (0.5 ,0.5, 0.5, 0.5) + [Toggle(_BORDER_LIGHT)] _BorderLight("Border Light", Float) = 0.0 + [Toggle(_BORDER_LIGHT_USES_HOVER_COLOR)] _BorderLightUsesHoverColor("Border Light Uses Hover Color", Float) = 0.0 + [Toggle(_BORDER_LIGHT_REPLACES_ALBEDO)] _BorderLightReplacesAlbedo("Border Light Replaces Albedo", Float) = 0.0 + [Toggle(_BORDER_LIGHT_OPAQUE)] _BorderLightOpaque("Border Light Opaque", Float) = 0.0 + _BorderWidth("Border Width", Range(0.0, 1.0)) = 0.1 + _BorderMinValue("Border Min Value", Range(0.0, 1.0)) = 0.1 + _EdgeSmoothingValue("Edge Smoothing Value", Range(0.0, 0.2)) = 0.002 + _BorderLightOpaqueAlpha("Border Light Opaque Alpha", Range(0.0, 1.0)) = 1.0 + [Toggle(_INNER_GLOW)] _InnerGlow("Inner Glow", Float) = 0.0 + _InnerGlowColor("Inner Glow Color (RGB) and Intensity (A)", Color) = (1.0, 1.0, 1.0, 0.75) + _InnerGlowPower("Inner Glow Power", Range(2.0, 32.0)) = 4.0 + [Toggle(_IRIDESCENCE)] _Iridescence("Iridescence", Float) = 0.0 + [NoScaleOffset] _IridescentSpectrumMap("Iridescent Spectrum Map", 2D) = "white" {} + _IridescenceIntensity("Iridescence Intensity", Range(0.0, 1.0)) = 0.5 + _IridescenceThreshold("Iridescence Threshold", Range(0.0, 1.0)) = 0.05 + _IridescenceAngle("Iridescence Angle", Range(-0.78, 0.78)) = -0.78 + [Toggle(_ENVIRONMENT_COLORING)] _EnvironmentColoring("Environment Coloring", Float) = 0.0 + _EnvironmentColorThreshold("Environment Color Threshold", Range(0.0, 3.0)) = 1.5 + _EnvironmentColorIntensity("Environment Color Intensity", Range(0.0, 1.0)) = 0.5 + _EnvironmentColorX("Environment Color X (RGB)", Color) = (1.0, 0.0, 0.0, 1.0) + _EnvironmentColorY("Environment Color Y (RGB)", Color) = (0.0, 1.0, 0.0, 1.0) + _EnvironmentColorZ("Environment Color Z (RGB)", Color) = (0.0, 0.0, 1.0, 1.0) + + // Advanced options. + [Enum(RenderingMode)] _Mode("Rendering Mode", Float) = 0 // "Opaque" + [Enum(CustomRenderingMode)] _CustomMode("Mode", Float) = 0 // "Opaque" + [Enum(UnityEngine.Rendering.BlendMode)] _SrcBlend("Source Blend", Float) = 1 // "One" + [Enum(UnityEngine.Rendering.BlendMode)] _DstBlend("Destination Blend", Float) = 0 // "Zero" + [Enum(UnityEngine.Rendering.BlendOp)] _BlendOp("Blend Operation", Float) = 0 // "Add" + [Enum(UnityEngine.Rendering.CompareFunction)] _ZTest("Depth Test", Float) = 4 // "LessEqual" + [Enum(DepthWrite)] _ZWrite("Depth Write", Float) = 1 // "On" + _ZOffsetFactor("Depth Offset Factor", Float) = 0 // "Zero" + _ZOffsetUnits("Depth Offset Units", Float) = 0 // "Zero" + [Enum(UnityEngine.Rendering.ColorWriteMask)] _ColorWriteMask("Color Write Mask", Float) = 15 // "All" + [Enum(UnityEngine.Rendering.CullMode)] _CullMode("Cull Mode", Float) = 2 // "Back" + _RenderQueueOverride("Render Queue Override", Range(-1.0, 5000)) = -1 + [Toggle(_IGNORE_Z_SCALE)] _IgnoreZScale("Ignore Z Scale", Float) = 0.0 + [Toggle(_STENCIL)] _Stencil("Enable Stencil Testing", Float) = 0.0 + _StencilReference("Stencil Reference", Range(0, 255)) = 0 + [Enum(UnityEngine.Rendering.CompareFunction)]_StencilComparison("Stencil Comparison", Int) = 0 + [Enum(UnityEngine.Rendering.StencilOp)]_StencilOperation("Stencil Operation", Int) = 0 + } + + SubShader + { + Pass + { + Name "Main" + Tags{ "RenderType" = "Opaque" "LightMode" = "ForwardBase" } + LOD 100 + Blend[_SrcBlend][_DstBlend] + BlendOp[_BlendOp] + ZTest[_ZTest] + ZWrite[_ZWrite] + Cull[_CullMode] + Offset[_ZOffsetFactor],[_ZOffsetUnits] + ColorMask[_ColorWriteMask] + + Stencil + { + Ref[_StencilReference] + Comp[_StencilComparison] + Pass[_StencilOperation] + } + + CGPROGRAM + + #pragma vertex vert + #pragma fragment frag + + #pragma multi_compile_instancing + #pragma multi_compile _ LIGHTMAP_ON + #pragma multi_compile _ UNITY_UI_CLIP_RECT + #pragma multi_compile _ _HOVER_LIGHT_MEDIUM _HOVER_LIGHT_HIGH + #pragma multi_compile _ _CLIPPING_PLANE _CLIPPING_SPHERE _CLIPPING_BOX + + #pragma shader_feature _ _ALPHATEST_ON _ALPHABLEND_ON + #pragma shader_feature _DISABLE_ALBEDO_MAP + #pragma shader_feature _ _METALLIC_TEXTURE_ALBEDO_CHANNEL_A _SMOOTHNESS_TEXTURE_ALBEDO_CHANNEL_A + #pragma shader_feature _CHANNEL_MAP + #pragma shader_feature _NORMAL_MAP + #pragma shader_feature _EMISSION + #pragma shader_feature _TRIPLANAR_MAPPING + #pragma shader_feature _LOCAL_SPACE_TRIPLANAR_MAPPING + #pragma shader_feature _USE_SSAA + #pragma shader_feature _DIRECTIONAL_LIGHT + #pragma shader_feature _SPECULAR_HIGHLIGHTS + #pragma shader_feature _SPHERICAL_HARMONICS + #pragma shader_feature _REFLECTIONS + #pragma shader_feature _REFRACTION + #pragma shader_feature _RIM_LIGHT + #pragma shader_feature _VERTEX_COLORS + #pragma shader_feature _VERTEX_EXTRUSION + #pragma shader_feature _VERTEX_EXTRUSION_SMOOTH_NORMALS + #pragma shader_feature _CLIPPING_BORDER + #pragma shader_feature _NEAR_PLANE_FADE + #pragma shader_feature _NEAR_LIGHT_FADE + #pragma shader_feature _HOVER_LIGHT + #pragma shader_feature _HOVER_COLOR_OVERRIDE + #pragma shader_feature _PROXIMITY_LIGHT + #pragma shader_feature _PROXIMITY_LIGHT_COLOR_OVERRIDE + #pragma shader_feature _PROXIMITY_LIGHT_SUBTRACTIVE + #pragma shader_feature _PROXIMITY_LIGHT_TWO_SIDED + #pragma shader_feature _ROUND_CORNERS + #pragma shader_feature _INDEPENDENT_CORNERS + #pragma shader_feature _BORDER_LIGHT + #pragma shader_feature _BORDER_LIGHT_USES_HOVER_COLOR + #pragma shader_feature _BORDER_LIGHT_REPLACES_ALBEDO + #pragma shader_feature _BORDER_LIGHT_OPAQUE + #pragma shader_feature _INNER_GLOW + #pragma shader_feature _IRIDESCENCE + #pragma shader_feature _ENVIRONMENT_COLORING + #pragma shader_feature _IGNORE_Z_SCALE + + #include "UnityCG.cginc" + #include "UnityUI.cginc" + #include "UnityStandardConfig.cginc" + #include "UnityStandardUtils.cginc" + #include "MixedRealityShaderUtils.cginc" + + // This define will get commented in by the UpgradeShaderForUniversalRenderPipeline method. + //#define _RENDER_PIPELINE + +#if defined(_TRIPLANAR_MAPPING) || defined(_DIRECTIONAL_LIGHT) || defined(_SPHERICAL_HARMONICS) || defined(_REFLECTIONS) || defined(_RIM_LIGHT) || defined(_PROXIMITY_LIGHT) || defined(_ENVIRONMENT_COLORING) + #define _NORMAL +#else + #undef _NORMAL +#endif + +#if defined(_CLIPPING_PLANE) || defined(_CLIPPING_SPHERE) || defined(_CLIPPING_BOX) + #define _CLIPPING_PRIMITIVE +#else + #undef _CLIPPING_PRIMITIVE +#endif + +#if defined(_NORMAL) || defined(_CLIPPING_PRIMITIVE) || defined(_NEAR_PLANE_FADE) || defined(_HOVER_LIGHT) || defined(_PROXIMITY_LIGHT) + #define _WORLD_POSITION +#else + #undef _WORLD_POSITION +#endif + +#if defined(UNITY_UI_CLIP_RECT) + #define _LOCAL_POSITION +#else + #undef _LOCAL_POSITION +#endif + +#if defined(_ALPHATEST_ON) || defined(UNITY_UI_CLIP_RECT) || defined(_CLIPPING_PRIMITIVE) || defined(_ROUND_CORNERS) + #define _ALPHA_CLIP +#else + #undef _ALPHA_CLIP +#endif + +#if defined(_ALPHABLEND_ON) + #define _TRANSPARENT + #undef _ALPHA_CLIP +#else + #undef _TRANSPARENT +#endif + +#if defined(_VERTEX_EXTRUSION) || defined(_ROUND_CORNERS) || defined(_BORDER_LIGHT) + #define _SCALE +#else + #undef _SCALE +#endif + +#if defined(_DIRECTIONAL_LIGHT) || defined(_RIM_LIGHT) + #define _FRESNEL +#else + #undef _FRESNEL +#endif + +#if defined(_ROUND_CORNERS) || defined(_BORDER_LIGHT) || defined(_INNER_GLOW) + #define _DISTANCE_TO_EDGE +#else + #undef _DISTANCE_TO_EDGE +#endif + +#if !defined(_DISABLE_ALBEDO_MAP) || defined(_TRIPLANAR_MAPPING) || defined(_CHANNEL_MAP) || defined(_NORMAL_MAP) || defined(_DISTANCE_TO_EDGE) || defined(_IRIDESCENCE) + #define _UV +#else + #undef _UV +#endif + + struct appdata_t + { + float4 vertex : POSITION; + // The default UV channel used for texturing. + float2 uv : TEXCOORD0; +#if defined(LIGHTMAP_ON) + // Reserved for Unity's light map UVs. + float2 uv1 : TEXCOORD1; +#endif + // Used for smooth normal data (or UGUI scaling data). + float4 uv2 : TEXCOORD2; + // Used for UGUI scaling data. + float2 uv3 : TEXCOORD3; +#if defined(_VERTEX_COLORS) + fixed4 color : COLOR0; +#endif + fixed3 normal : NORMAL; +#if defined(_NORMAL_MAP) + fixed4 tangent : TANGENT; +#endif + UNITY_VERTEX_INPUT_INSTANCE_ID + }; + + struct v2f + { + float4 position : SV_POSITION; +#if defined(_BORDER_LIGHT) + float4 uv : TEXCOORD0; +#elif defined(_UV) + float2 uv : TEXCOORD0; +#endif +#if defined(LIGHTMAP_ON) + float2 lightMapUV : TEXCOORD1; +#endif +#if defined(_VERTEX_COLORS) + fixed4 color : COLOR0; +#endif +#if defined(_SPHERICAL_HARMONICS) + fixed3 ambient : COLOR1; +#endif +#if defined(_IRIDESCENCE) + fixed3 iridescentColor : COLOR2; +#endif +#if defined(_WORLD_POSITION) +#if defined(_NEAR_PLANE_FADE) + float4 worldPosition : TEXCOORD2; +#else + float3 worldPosition : TEXCOORD2; +#endif +#endif +#if defined(_LOCAL_POSITION) + float3 localPosition : TEXCOORD7; +#endif +#if defined(_SCALE) + float3 scale : TEXCOORD3; +#endif +#if defined(_NORMAL) +#if defined(_TRIPLANAR_MAPPING) + fixed3 worldNormal : COLOR3; + fixed3 triplanarNormal : COLOR4; + float3 triplanarPosition : TEXCOORD6; +#elif defined(_NORMAL_MAP) + fixed3 tangentX : COLOR3; + fixed3 tangentY : COLOR4; + fixed3 tangentZ : COLOR5; +#else + fixed3 worldNormal : COLOR3; +#endif +#endif + UNITY_VERTEX_INPUT_INSTANCE_ID + UNITY_VERTEX_OUTPUT_STEREO + }; + + UNITY_INSTANCING_BUFFER_START(Props) + UNITY_DEFINE_INSTANCED_PROP(float4, _Color) + +#if defined(_CLIPPING_PLANE) + UNITY_DEFINE_INSTANCED_PROP(fixed, _ClipPlaneSide) + UNITY_DEFINE_INSTANCED_PROP(float4, _ClipPlane) +#endif + +#if defined(_CLIPPING_SPHERE) + UNITY_DEFINE_INSTANCED_PROP(fixed, _ClipSphereSide) + UNITY_DEFINE_INSTANCED_PROP(float4x4, _ClipSphereInverseTransform) +#endif + +#if defined(_CLIPPING_BOX) + UNITY_DEFINE_INSTANCED_PROP(fixed, _ClipBoxSide) + UNITY_DEFINE_INSTANCED_PROP(float4x4, _ClipBoxInverseTransform) +#endif + + UNITY_INSTANCING_BUFFER_END(Props) + + sampler2D _MainTex; + fixed4 _MainTex_ST; + +#if defined(_ALPHA_CLIP) + fixed _Cutoff; +#endif + +#if defined(UNITY_UI_CLIP_RECT) + float4 _ClipRect; +#endif + + fixed _Metallic; + fixed _Smoothness; + +#if defined(_CHANNEL_MAP) + sampler2D _ChannelMap; +#endif + +#if defined(_NORMAL_MAP) + sampler2D _NormalMap; + float _NormalMapScale; +#endif + +#if defined(_EMISSION) + fixed4 _EmissiveColor; +#endif + +#if defined(_USE_SSAA) + float _MipmapBias; +#endif + +#if defined(_TRIPLANAR_MAPPING) + float _TriplanarMappingBlendSharpness; +#endif + +#if defined(_DIRECTIONAL_LIGHT) +#if defined(_RENDER_PIPELINE) + CBUFFER_START(_LightBuffer) + float4 _MainLightPosition; + half4 _MainLightColor; + CBUFFER_END +#else + fixed4 _LightColor0; +#endif +#endif + +#if defined(_REFRACTION) + fixed _RefractiveIndex; +#endif + +#if defined(_RIM_LIGHT) + fixed3 _RimColor; + fixed _RimPower; +#endif + +#if defined(_VERTEX_EXTRUSION) + float _VertexExtrusionValue; +#endif + + +#if defined(_CLIPPING_PRIMITIVE) + float _BlendedClippingWidth; +#endif + +#if defined(_CLIPPING_BORDER) + fixed _ClippingBorderWidth; + fixed3 _ClippingBorderColor; +#endif + +#if defined(_NEAR_PLANE_FADE) + float _FadeBeginDistance; + float _FadeCompleteDistance; + fixed _FadeMinValue; +#endif + +#if defined(_HOVER_LIGHT) || defined(_NEAR_LIGHT_FADE) +#if defined(_HOVER_LIGHT_HIGH) +#define HOVER_LIGHT_COUNT 10 +#elif defined(_HOVER_LIGHT_MEDIUM) +#define HOVER_LIGHT_COUNT 4 +#else +#define HOVER_LIGHT_COUNT 2 +#endif +#define HOVER_LIGHT_DATA_SIZE 2 + float4 _HoverLightData[HOVER_LIGHT_COUNT * HOVER_LIGHT_DATA_SIZE]; +#if defined(_HOVER_COLOR_OVERRIDE) + fixed3 _HoverColorOverride; +#endif +#endif + +#if defined(_PROXIMITY_LIGHT) || defined(_NEAR_LIGHT_FADE) +#define PROXIMITY_LIGHT_COUNT 2 +#define PROXIMITY_LIGHT_DATA_SIZE 6 + float4 _ProximityLightData[PROXIMITY_LIGHT_COUNT * PROXIMITY_LIGHT_DATA_SIZE]; +#if defined(_PROXIMITY_LIGHT_COLOR_OVERRIDE) + float4 _ProximityLightCenterColorOverride; + float4 _ProximityLightMiddleColorOverride; + float4 _ProximityLightOuterColorOverride; +#endif +#endif + +#if defined(_HOVER_LIGHT) || defined(_PROXIMITY_LIGHT) || defined(_BORDER_LIGHT) + fixed _FluentLightIntensity; +#endif + +#if defined(_ROUND_CORNERS) +#if defined(_INDEPENDENT_CORNERS) + float4 _RoundCornersRadius; +#else + fixed _RoundCornerRadius; +#endif + fixed _RoundCornerMargin; +#endif + +#if defined(_BORDER_LIGHT) + fixed _BorderWidth; + fixed _BorderMinValue; +#endif + +#if defined(_BORDER_LIGHT_OPAQUE) + fixed _BorderLightOpaqueAlpha; +#endif + +#if defined(_ROUND_CORNERS) || defined(_BORDER_LIGHT) + float _EdgeSmoothingValue; +#endif + +#if defined(_INNER_GLOW) + fixed4 _InnerGlowColor; + fixed _InnerGlowPower; +#endif + +#if defined(_IRIDESCENCE) + sampler2D _IridescentSpectrumMap; + fixed _IridescenceIntensity; + fixed _IridescenceThreshold; + fixed _IridescenceAngle; +#endif + +#if defined(_ENVIRONMENT_COLORING) + fixed _EnvironmentColorThreshold; + fixed _EnvironmentColorIntensity; + fixed3 _EnvironmentColorX; + fixed3 _EnvironmentColorY; + fixed3 _EnvironmentColorZ; +#endif + +#if defined(_DIRECTIONAL_LIGHT) + static const fixed _MinMetallicLightContribution = 0.7; + static const fixed _IblContribution = 0.1; +#endif + +#if defined(_SPECULAR_HIGHLIGHTS) + static const float _Shininess = 800.0; +#endif + +#if defined(_FRESNEL) + static const float _FresnelPower = 8.0; +#endif + +#if defined(_NEAR_LIGHT_FADE) + static const float _MaxNearLightDistance = 10.0; + + inline float NearLightDistance(float4 light, float3 worldPosition) + { + return distance(worldPosition, light.xyz) + ((1.0 - light.w) * _MaxNearLightDistance); + } +#endif + +#if defined(_HOVER_LIGHT) + inline float HoverLight(float4 hoverLight, float inverseRadius, float3 worldPosition) + { + return (1.0 - saturate(length(hoverLight.xyz - worldPosition) * inverseRadius)) * hoverLight.w; + } +#endif + +#if defined(_PROXIMITY_LIGHT) + inline float ProximityLight(float4 proximityLight, float4 proximityLightParams, float4 proximityLightPulseParams, float3 worldPosition, float3 worldNormal, out fixed colorValue) + { + float proximityLightDistance = dot(proximityLight.xyz - worldPosition, worldNormal); +#if defined(_PROXIMITY_LIGHT_TWO_SIDED) + worldNormal = proximityLightDistance < 0.0 ? -worldNormal : worldNormal; + proximityLightDistance = abs(proximityLightDistance); +#endif + float normalizedProximityLightDistance = saturate(proximityLightDistance * proximityLightParams.y); + float3 projectedProximityLight = proximityLight.xyz - (worldNormal * abs(proximityLightDistance)); + float projectedProximityLightDistance = length(projectedProximityLight - worldPosition); + float attenuation = (1.0 - normalizedProximityLightDistance) * proximityLight.w; + colorValue = saturate(projectedProximityLightDistance * proximityLightParams.z); + float pulse = step(proximityLightPulseParams.x, projectedProximityLightDistance) * proximityLightPulseParams.y; + + return smoothstep(1.0, 0.0, projectedProximityLightDistance / (proximityLightParams.x * max(pow(normalizedProximityLightDistance, 0.25), proximityLightParams.w))) * pulse * attenuation; + } + + inline fixed3 MixProximityLightColor(fixed4 centerColor, fixed4 middleColor, fixed4 outerColor, fixed t) + { + fixed3 color = lerp(centerColor.rgb, middleColor.rgb, smoothstep(centerColor.a, middleColor.a, t)); + return lerp(color, outerColor, smoothstep(middleColor.a, outerColor.a, t)); + } +#endif + +#if defined(_ROUND_CORNERS) + inline float PointVsRoundedBox(float2 position, float2 cornerCircleDistance, float cornerCircleRadius) + { + return length(max(abs(position) - cornerCircleDistance, 0.0)) - cornerCircleRadius; + } + + inline float RoundCornersSmooth(float2 position, float2 cornerCircleDistance, float cornerCircleRadius) + { + return smoothstep(1.0, 0.0, PointVsRoundedBox(position, cornerCircleDistance, cornerCircleRadius) / _EdgeSmoothingValue); + } + + inline float RoundCorners(float2 position, float2 cornerCircleDistance, float cornerCircleRadius) + { +#if defined(_TRANSPARENT) + return RoundCornersSmooth(position, cornerCircleDistance, cornerCircleRadius); +#else + return (PointVsRoundedBox(position, cornerCircleDistance, cornerCircleRadius) < 0.0); +#endif + } +#endif + +#if defined(_IRIDESCENCE) + fixed3 Iridescence(float tangentDotIncident, sampler2D spectrumMap, float threshold, float2 uv, float angle, float intensity) + { + float k = tangentDotIncident * 0.5 + 0.5; + float4 left = tex2D(spectrumMap, float2(lerp(0.0, 1.0 - threshold, k), 0.5), float2(0.0, 0.0), float2(0.0, 0.0)); + float4 right = tex2D(spectrumMap, float2(lerp(threshold, 1.0, k), 0.5), float2(0.0, 0.0), float2(0.0, 0.0)); + + float2 XY = uv - float2(0.5, 0.5); + float s = (cos(angle) * XY.x - sin(angle) * XY.y) / cos(angle); + return (left.rgb + s * (right.rgb - left.rgb)) * intensity; + } +#endif + + v2f vert(appdata_t v) + { + v2f o; + UNITY_SETUP_INSTANCE_ID(v); + UNITY_INITIALIZE_OUTPUT(v2f, o); + UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o); + UNITY_TRANSFER_INSTANCE_ID(v, o); + + float4 vertexPosition = v.vertex; + +#if defined(_WORLD_POSITION) || defined(_VERTEX_EXTRUSION) + float3 worldVertexPosition = mul(unity_ObjectToWorld, vertexPosition).xyz; +#endif + +#if defined(_SCALE) + o.scale.x = length(mul(unity_ObjectToWorld, float4(1.0, 0.0, 0.0, 0.0))); + o.scale.y = length(mul(unity_ObjectToWorld, float4(0.0, 1.0, 0.0, 0.0))); +#if defined(_IGNORE_Z_SCALE) + o.scale.z = o.scale.x; +#else + o.scale.z = length(mul(unity_ObjectToWorld, float4(0.0, 0.0, 1.0, 0.0))); +#endif +#if !defined(_VERTEX_EXTRUSION_SMOOTH_NORMALS) + // uv3.y will contain a negative value when rendered by a UGUI and ScaleMeshEffect. + if (v.uv3.y < 0.0) + { + o.scale.x *= v.uv2.x; + o.scale.y *= v.uv2.y; + o.scale.z *= v.uv3.x; + } +#endif +#endif + + fixed3 localNormal = v.normal; + +#if defined(_NORMAL) || defined(_VERTEX_EXTRUSION) + fixed3 worldNormal = UnityObjectToWorldNormal(localNormal); +#endif + +#if defined(_VERTEX_EXTRUSION) +#if defined(_VERTEX_EXTRUSION_SMOOTH_NORMALS) + worldVertexPosition += UnityObjectToWorldNormal(v.uv2 * o.scale) * _VertexExtrusionValue; +#else + worldVertexPosition += worldNormal * _VertexExtrusionValue; +#endif + vertexPosition = mul(unity_WorldToObject, float4(worldVertexPosition, 1.0)); +#endif + + o.position = UnityObjectToClipPos(vertexPosition); + +#if defined(_WORLD_POSITION) + o.worldPosition.xyz = worldVertexPosition; +#endif + +#if defined(_LOCAL_POSITION) + o.localPosition.xyz = vertexPosition; +#endif + +#if defined(_NEAR_PLANE_FADE) + float rangeInverse = 1.0 / (_FadeBeginDistance - _FadeCompleteDistance); +#if defined(_NEAR_LIGHT_FADE) + float fadeDistance = _MaxNearLightDistance; + + [unroll] + for (int hoverLightIndex = 0; hoverLightIndex < HOVER_LIGHT_COUNT; ++hoverLightIndex) + { + int dataIndex = hoverLightIndex * HOVER_LIGHT_DATA_SIZE; + fadeDistance = min(fadeDistance, NearLightDistance(_HoverLightData[dataIndex], o.worldPosition)); + } + + [unroll] + for (int proximityLightIndex = 0; proximityLightIndex < PROXIMITY_LIGHT_COUNT; ++proximityLightIndex) + { + int dataIndex = proximityLightIndex * PROXIMITY_LIGHT_DATA_SIZE; + fadeDistance = min(fadeDistance, NearLightDistance(_ProximityLightData[dataIndex], o.worldPosition)); + } +#else + float fadeDistance = -UnityObjectToViewPos(vertexPosition).z; +#endif + o.worldPosition.w = max(saturate(mad(fadeDistance, rangeInverse, -_FadeCompleteDistance * rangeInverse)), _FadeMinValue); +#endif + +#if defined(_BORDER_LIGHT) || defined(_ROUND_CORNERS) + o.uv.xy = TRANSFORM_TEX(v.uv, _MainTex); + + float minScale = min(min(o.scale.x, o.scale.y), o.scale.z); + +#if defined(_BORDER_LIGHT) + float maxScale = max(max(o.scale.x, o.scale.y), o.scale.z); + float minOverMiddleScale = minScale / (o.scale.x + o.scale.y + o.scale.z - minScale - maxScale); + + float areaYZ = o.scale.y * o.scale.z; + float areaXZ = o.scale.z * o.scale.x; + float areaXY = o.scale.x * o.scale.y; + + float borderWidth = _BorderWidth; +#endif + + if (abs(localNormal.x) == 1.0) // Y,Z plane. + { + o.scale.x = o.scale.z; + o.scale.y = o.scale.y; + +#if defined(_BORDER_LIGHT) + if (areaYZ > areaXZ && areaYZ > areaXY) + { + borderWidth *= minOverMiddleScale; + } +#endif + } + else if (abs(localNormal.y) == 1.0) // X,Z plane. + { + o.scale.x = o.scale.x; + o.scale.y = o.scale.z; + +#if defined(_BORDER_LIGHT) + if (areaXZ > areaXY && areaXZ > areaYZ) + { + borderWidth *= minOverMiddleScale; + } +#endif + } + else // X,Y plane. + { + o.scale.x = o.scale.x; + o.scale.y = o.scale.y; + +#if defined(_BORDER_LIGHT) + if (areaXY > areaYZ && areaXY > areaXZ) + { + borderWidth *= minOverMiddleScale; + } +#endif + } + + o.scale.z = minScale; + +#if defined(_BORDER_LIGHT) + float scaleRatio = min(o.scale.x, o.scale.y) / max(o.scale.x, o.scale.y); + o.uv.z = o.scale.x > o.scale.y ? 1.0 - (borderWidth * scaleRatio) : 1.0 - borderWidth; + o.uv.w = o.scale.x > o.scale.y ? 1.0 - borderWidth : 1.0 - (borderWidth * scaleRatio); +#endif +#elif defined(_UV) + o.uv = TRANSFORM_TEX(v.uv, _MainTex); +#endif + +#if defined(LIGHTMAP_ON) + o.lightMapUV.xy = v.uv1.xy * unity_LightmapST.xy + unity_LightmapST.zw; +#endif + +#if defined(_VERTEX_COLORS) + o.color = v.color; +#endif + +#if defined(_SPHERICAL_HARMONICS) + o.ambient = ShadeSH9(float4(worldNormal, 1.0)); +#endif + +#if defined(_IRIDESCENCE) + float3 rightTangent = normalize(mul((float3x3)unity_ObjectToWorld, float3(1.0, 0.0, 0.0))); + float3 incidentWithCenter = normalize(mul(unity_ObjectToWorld, float4(0.0, 0.0, 0.0, 1.0)) - _WorldSpaceCameraPos); + float tangentDotIncident = dot(rightTangent, incidentWithCenter); + o.iridescentColor = Iridescence(tangentDotIncident, _IridescentSpectrumMap, _IridescenceThreshold, v.uv, _IridescenceAngle, _IridescenceIntensity); +#endif + +#if defined(_NORMAL) +#if defined(_TRIPLANAR_MAPPING) + o.worldNormal = worldNormal; +#if defined(_LOCAL_SPACE_TRIPLANAR_MAPPING) + o.triplanarNormal = localNormal; + o.triplanarPosition = vertexPosition; +#else + o.triplanarNormal = worldNormal; + o.triplanarPosition = o.worldPosition; +#endif +#elif defined(_NORMAL_MAP) + fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz); + fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w; + fixed3 worldBitangent = cross(worldNormal, worldTangent) * tangentSign; + o.tangentX = fixed3(worldTangent.x, worldBitangent.x, worldNormal.x); + o.tangentY = fixed3(worldTangent.y, worldBitangent.y, worldNormal.y); + o.tangentZ = fixed3(worldTangent.z, worldBitangent.z, worldNormal.z); +#else + o.worldNormal = worldNormal; +#endif +#endif + + return o; + } + + fixed4 frag(v2f i, fixed facing : VFACE) : SV_Target + { + UNITY_SETUP_INSTANCE_ID(i); + +#if defined(_TRIPLANAR_MAPPING) + // Calculate triplanar uvs and apply texture scale and offset values like TRANSFORM_TEX. + fixed3 triplanarBlend = pow(abs(i.triplanarNormal), _TriplanarMappingBlendSharpness); + triplanarBlend /= dot(triplanarBlend, fixed3(1.0, 1.0, 1.0)); + float2 uvX = i.triplanarPosition.zy * _MainTex_ST.xy + _MainTex_ST.zw; + float2 uvY = i.triplanarPosition.xz * _MainTex_ST.xy + _MainTex_ST.zw; + float2 uvZ = i.triplanarPosition.xy * _MainTex_ST.xy + _MainTex_ST.zw; + + // Ternary operator is 2 instructions faster than sign() when we don't care about zero returning a zero sign. + float3 axisSign = i.triplanarNormal < 0 ? -1 : 1; + uvX.x *= axisSign.x; + uvY.x *= axisSign.y; + uvZ.x *= -axisSign.z; +#endif + + // Texturing. +#if defined(_DISABLE_ALBEDO_MAP) + fixed4 albedo = fixed4(1.0, 1.0, 1.0, 1.0); +#else +#if defined(_TRIPLANAR_MAPPING) + fixed4 albedo = tex2D(_MainTex, uvX) * triplanarBlend.x + + tex2D(_MainTex, uvY) * triplanarBlend.y + + tex2D(_MainTex, uvZ) * triplanarBlend.z; +#else +#if defined(_USE_SSAA) + // Does SSAA on the texture, implementation based off this article: https://medium.com/@bgolus/sharper-mipmapping-using-shader-based-supersampling-ed7aadb47bec + // per pixel screen space partial derivatives + float2 dx = ddx(i.uv.xy) * 0.25; // horizontal offset + float2 dy = ddy(i.uv.xy) * 0.25; // vertical offset + // supersampled 2x2 ordered grid + fixed4 albedo = 0; + albedo += tex2Dbias(_MainTex, float4(i.uv.xy + dx + dy, 0.0, _MipmapBias)); + albedo += tex2Dbias(_MainTex, float4(i.uv.xy - dx + dy, 0.0, _MipmapBias)); + albedo += tex2Dbias(_MainTex, float4(i.uv.xy + dx - dy, 0.0, _MipmapBias)); + albedo += tex2Dbias(_MainTex, float4(i.uv.xy - dx - dy, 0.0, _MipmapBias)); + albedo *= 0.25; +#else + fixed4 albedo = tex2D(_MainTex, i.uv); +#endif +#endif +#endif + + +#ifdef LIGHTMAP_ON + albedo.rgb *= DecodeLightmap(UNITY_SAMPLE_TEX2D(unity_Lightmap, i.lightMapUV)); +#endif + +#if defined(_CHANNEL_MAP) + fixed4 channel = tex2D(_ChannelMap, i.uv); + _Metallic = channel.r; + albedo.rgb *= channel.g; + _Smoothness = channel.a; +#else +#if defined(_METALLIC_TEXTURE_ALBEDO_CHANNEL_A) + _Metallic = albedo.a; + albedo.a = 1.0; +#elif defined(_SMOOTHNESS_TEXTURE_ALBEDO_CHANNEL_A) + _Smoothness = albedo.a; + albedo.a = 1.0; +#endif +#endif + + // Primitive clipping. +#if defined(_CLIPPING_PRIMITIVE) + float primitiveDistance = 1.0; +#if defined(_CLIPPING_PLANE) + fixed clipPlaneSide = UNITY_ACCESS_INSTANCED_PROP(Props, _ClipPlaneSide); + float4 clipPlane = UNITY_ACCESS_INSTANCED_PROP(Props, _ClipPlane); + primitiveDistance = min(primitiveDistance, PointVsPlane(i.worldPosition.xyz, clipPlane) * clipPlaneSide); +#endif +#if defined(_CLIPPING_SPHERE) + fixed clipSphereSide = UNITY_ACCESS_INSTANCED_PROP(Props, _ClipSphereSide); + float4x4 clipSphereInverseTransform = UNITY_ACCESS_INSTANCED_PROP(Props, _ClipSphereInverseTransform); + primitiveDistance = min(primitiveDistance, PointVsSphere(i.worldPosition.xyz, clipSphereInverseTransform) * clipSphereSide); +#endif +#if defined(_CLIPPING_BOX) + fixed clipBoxSide = UNITY_ACCESS_INSTANCED_PROP(Props, _ClipBoxSide); + float4x4 clipBoxInverseTransform = UNITY_ACCESS_INSTANCED_PROP(Props, _ClipBoxInverseTransform); + primitiveDistance = min(primitiveDistance, PointVsBox(i.worldPosition.xyz, clipBoxInverseTransform) * clipBoxSide); +#endif +#if defined(_CLIPPING_BORDER) + fixed3 primitiveBorderColor = lerp(_ClippingBorderColor, fixed3(0.0, 0.0, 0.0), primitiveDistance / _ClippingBorderWidth); + albedo.rgb += primitiveBorderColor * (primitiveDistance < _ClippingBorderWidth ? 1.0 : 0.0); +#endif +#endif + +#if defined(_DISTANCE_TO_EDGE) + fixed2 distanceToEdge; + distanceToEdge.x = abs(i.uv.x - 0.5) * 2.0; + distanceToEdge.y = abs(i.uv.y - 0.5) * 2.0; +#endif + + // Rounded corner clipping. +#if defined(_ROUND_CORNERS) + float2 halfScale = i.scale.xy * 0.5; + float2 roundCornerPosition = distanceToEdge * halfScale; + + fixed currentCornerRadius; + +#if defined(_INDEPENDENT_CORNERS) + + _RoundCornersRadius = clamp(_RoundCornersRadius, 0, 0.5); + + if (i.uv.x < 0.5) + { + if (i.uv.y > 0.5) + { + currentCornerRadius = _RoundCornersRadius.x; + } + else + { + currentCornerRadius = _RoundCornersRadius.w; + } + } + else + { + if (i.uv.y > 0.5) + { + currentCornerRadius = _RoundCornersRadius.y; + } + else + { + currentCornerRadius = _RoundCornersRadius.z; + } + } +#else + currentCornerRadius = _RoundCornerRadius; +#endif + + float cornerCircleRadius = saturate(max(currentCornerRadius - _RoundCornerMargin, 0.01)) * i.scale.z; + + float2 cornerCircleDistance = halfScale - (_RoundCornerMargin * i.scale.z) - cornerCircleRadius; + + float roundCornerClip = RoundCorners(roundCornerPosition, cornerCircleDistance, cornerCircleRadius); +#endif + + albedo *= UNITY_ACCESS_INSTANCED_PROP(Props, _Color); + +#if defined(_VERTEX_COLORS) + albedo *= i.color; +#endif + +#if defined(_IRIDESCENCE) + albedo.rgb += i.iridescentColor; +#endif + + // Normal calculation. +#if defined(_NORMAL) + fixed3 worldViewDir = normalize(UnityWorldSpaceViewDir(i.worldPosition.xyz)); +#if defined(_REFLECTIONS) || defined(_ENVIRONMENT_COLORING) + fixed3 incident = -worldViewDir; +#endif + fixed3 worldNormal; + +#if defined(_NORMAL_MAP) +#if defined(_TRIPLANAR_MAPPING) + fixed3 tangentNormalX = UnpackScaleNormal(tex2D(_NormalMap, uvX), _NormalMapScale); + fixed3 tangentNormalY = UnpackScaleNormal(tex2D(_NormalMap, uvY), _NormalMapScale); + fixed3 tangentNormalZ = UnpackScaleNormal(tex2D(_NormalMap, uvZ), _NormalMapScale); + tangentNormalX.x *= axisSign.x; + tangentNormalY.x *= axisSign.y; + tangentNormalZ.x *= -axisSign.z; + + // Swizzle world normals to match tangent space and apply Whiteout normal blend. + tangentNormalX = fixed3(tangentNormalX.xy + i.worldNormal.zy, tangentNormalX.z * i.worldNormal.x); + tangentNormalY = fixed3(tangentNormalY.xy + i.worldNormal.xz, tangentNormalY.z * i.worldNormal.y); + tangentNormalZ = fixed3(tangentNormalZ.xy + i.worldNormal.xy, tangentNormalZ.z * i.worldNormal.z); + + // Swizzle tangent normals to match world normal and blend together. + worldNormal = normalize(tangentNormalX.zyx * triplanarBlend.x + + tangentNormalY.xzy * triplanarBlend.y + + tangentNormalZ.xyz * triplanarBlend.z); +#else + fixed3 tangentNormal = UnpackScaleNormal(tex2D(_NormalMap, i.uv), _NormalMapScale); + worldNormal.x = dot(i.tangentX, tangentNormal); + worldNormal.y = dot(i.tangentY, tangentNormal); + worldNormal.z = dot(i.tangentZ, tangentNormal); + worldNormal = normalize(worldNormal) * facing; +#endif +#else + worldNormal = normalize(i.worldNormal) * facing; +#endif +#endif + + fixed pointToLight = 1.0; + fixed3 fluentLightColor = fixed3(0.0, 0.0, 0.0); + + // Hover light. +#if defined(_HOVER_LIGHT) + pointToLight = 0.0; + + [unroll] + for (int hoverLightIndex = 0; hoverLightIndex < HOVER_LIGHT_COUNT; ++hoverLightIndex) + { + int dataIndex = hoverLightIndex * HOVER_LIGHT_DATA_SIZE; + fixed hoverValue = HoverLight(_HoverLightData[dataIndex], _HoverLightData[dataIndex + 1].w, i.worldPosition.xyz); + pointToLight += hoverValue; +#if !defined(_HOVER_COLOR_OVERRIDE) + fluentLightColor += lerp(fixed3(0.0, 0.0, 0.0), _HoverLightData[dataIndex + 1].rgb, hoverValue); +#endif + } +#if defined(_HOVER_COLOR_OVERRIDE) + fluentLightColor = _HoverColorOverride.rgb * pointToLight; +#endif +#endif + + // Proximity light. +#if defined(_PROXIMITY_LIGHT) +#if !defined(_HOVER_LIGHT) + pointToLight = 0.0; +#endif + [unroll] + for (int proximityLightIndex = 0; proximityLightIndex < PROXIMITY_LIGHT_COUNT; ++proximityLightIndex) + { + int dataIndex = proximityLightIndex * PROXIMITY_LIGHT_DATA_SIZE; + fixed colorValue; + fixed proximityValue = ProximityLight(_ProximityLightData[dataIndex], _ProximityLightData[dataIndex + 1], _ProximityLightData[dataIndex + 2], i.worldPosition.xyz, worldNormal, colorValue); + pointToLight += proximityValue; +#if defined(_PROXIMITY_LIGHT_COLOR_OVERRIDE) + fixed3 proximityColor = MixProximityLightColor(_ProximityLightCenterColorOverride, _ProximityLightMiddleColorOverride, _ProximityLightOuterColorOverride, colorValue); +#else + fixed3 proximityColor = MixProximityLightColor(_ProximityLightData[dataIndex + 3], _ProximityLightData[dataIndex + 4], _ProximityLightData[dataIndex + 5], colorValue); +#endif +#if defined(_PROXIMITY_LIGHT_SUBTRACTIVE) + fluentLightColor -= lerp(fixed3(0.0, 0.0, 0.0), proximityColor, proximityValue); +#else + fluentLightColor += lerp(fixed3(0.0, 0.0, 0.0), proximityColor, proximityValue); +#endif + } +#endif + + // Border light. +#if defined(_BORDER_LIGHT) + fixed borderValue; +#if defined(_ROUND_CORNERS) + fixed borderMargin = _RoundCornerMargin + _BorderWidth * 0.5; + + cornerCircleRadius = saturate(max(currentCornerRadius - borderMargin, 0.01)) * i.scale.z; + + cornerCircleDistance = halfScale - (borderMargin * i.scale.z) - cornerCircleRadius; + + borderValue = 1.0 - RoundCornersSmooth(roundCornerPosition, cornerCircleDistance, cornerCircleRadius); +#else + borderValue = max(smoothstep(i.uv.z - _EdgeSmoothingValue, i.uv.z + _EdgeSmoothingValue, distanceToEdge.x), + smoothstep(i.uv.w - _EdgeSmoothingValue, i.uv.w + _EdgeSmoothingValue, distanceToEdge.y)); +#endif +#if defined(_HOVER_LIGHT) && defined(_BORDER_LIGHT_USES_HOVER_COLOR) && defined(_HOVER_COLOR_OVERRIDE) + fixed3 borderColor = _HoverColorOverride.rgb; +#else + fixed3 borderColor = fixed3(1.0, 1.0, 1.0); +#endif + fixed3 borderContribution = borderColor * borderValue * _BorderMinValue * _FluentLightIntensity; +#if defined(_BORDER_LIGHT_REPLACES_ALBEDO) + albedo.rgb = lerp(albedo.rgb, borderContribution, borderValue); +#else + albedo.rgb += borderContribution; +#endif +#if defined(_HOVER_LIGHT) || defined(_PROXIMITY_LIGHT) + albedo.rgb += (fluentLightColor * borderValue * pointToLight * _FluentLightIntensity) * 2.0; +#endif +#if defined(_BORDER_LIGHT_OPAQUE) + albedo.a = max(albedo.a, borderValue * _BorderLightOpaqueAlpha); +#endif +#endif + +#if defined(_ROUND_CORNERS) + albedo *= roundCornerClip; + pointToLight *= roundCornerClip; +#endif + +#ifdef UNITY_UI_CLIP_RECT + albedo.a *= UnityGet2DClipping(i.localPosition.xy, _ClipRect); +#endif + +#if defined(_ALPHA_CLIP) +#if !defined(_ALPHATEST_ON) + _Cutoff = 0.5; +#endif +#if defined(_CLIPPING_PRIMITIVE) + albedo *= (primitiveDistance > 0.0); +#endif + clip(albedo.a - _Cutoff); + albedo.a = 1.0; +#endif + + // Blinn phong lighting. +#if defined(_DIRECTIONAL_LIGHT) +#if defined(_RENDER_PIPELINE) + float4 directionalLightDirection = _MainLightPosition; +#else + float4 directionalLightDirection = _WorldSpaceLightPos0; +#endif + fixed diffuse = max(0.0, dot(worldNormal, directionalLightDirection)); +#if defined(_SPECULAR_HIGHLIGHTS) + fixed halfVector = max(0.0, dot(worldNormal, normalize(directionalLightDirection + worldViewDir))); + fixed specular = saturate(pow(halfVector, _Shininess * pow(_Smoothness, 4.0)) * (_Smoothness * 2.0) * _Metallic); +#else + fixed specular = 0.0; +#endif +#endif + + // Image based lighting (attempt to mimic the Standard shader). +#if defined(_REFLECTIONS) + fixed3 worldReflection = reflect(incident, worldNormal); + fixed4 iblData = UNITY_SAMPLE_TEXCUBE_LOD(unity_SpecCube0, worldReflection, (1.0 - _Smoothness) * UNITY_SPECCUBE_LOD_STEPS); + fixed3 ibl = DecodeHDR(iblData, unity_SpecCube0_HDR); +#if defined(_REFRACTION) + fixed4 refractColor = UNITY_SAMPLE_TEXCUBE(unity_SpecCube0, refract(incident, worldNormal, _RefractiveIndex)); + ibl *= DecodeHDR(refractColor, unity_SpecCube0_HDR); +#endif +#else + fixed3 ibl = unity_IndirectSpecColor.rgb; +#endif + + // Fresnel lighting. +#if defined(_FRESNEL) + fixed fresnel = 1.0 - saturate(abs(dot(worldViewDir, worldNormal))); +#if defined(_RIM_LIGHT) + fixed3 fresnelColor = _RimColor * pow(fresnel, _RimPower); +#else + fixed3 fresnelColor = unity_IndirectSpecColor.rgb * (pow(fresnel, _FresnelPower) * max(_Smoothness, 0.5)); +#endif +#endif + // Final lighting mix. + fixed4 output = albedo; +#if defined(_SPHERICAL_HARMONICS) + fixed3 ambient = i.ambient; +#else + fixed3 ambient = glstate_lightmodel_ambient + fixed3(0.25, 0.25, 0.25); +#endif + fixed minProperty = min(_Smoothness, _Metallic); +#if defined(_DIRECTIONAL_LIGHT) + fixed oneMinusMetallic = (1.0 - _Metallic); + output.rgb = lerp(output.rgb, ibl, minProperty); +#if defined(_RENDER_PIPELINE) + fixed3 directionalLightColor = _MainLightColor.rgb; +#else + fixed3 directionalLightColor = _LightColor0.rgb; +#endif + output.rgb *= lerp((ambient + directionalLightColor * diffuse + directionalLightColor * specular) * max(oneMinusMetallic, _MinMetallicLightContribution), albedo, minProperty); + output.rgb += (directionalLightColor * albedo * specular) + (directionalLightColor * specular * _Smoothness); + output.rgb += ibl * oneMinusMetallic * _IblContribution; +#elif defined(_REFLECTIONS) + output.rgb = lerp(output.rgb, ibl, minProperty); + output.rgb *= lerp(ambient, albedo, minProperty); +#elif defined(_SPHERICAL_HARMONICS) + output.rgb *= ambient; +#endif + +#if defined(_FRESNEL) +#if defined(_RIM_LIGHT) || !defined(_REFLECTIONS) + output.rgb += fresnelColor; +#else + output.rgb += fresnelColor * (1.0 - minProperty); +#endif +#endif + +#if defined(_EMISSION) +#if defined(_CHANNEL_MAP) + output.rgb += _EmissiveColor * channel.b; +#else + output.rgb += _EmissiveColor; +#endif +#endif + + // Inner glow. +#if defined(_INNER_GLOW) + fixed2 uvGlow = pow(distanceToEdge * _InnerGlowColor.a, _InnerGlowPower); + output.rgb += lerp(fixed3(0.0, 0.0, 0.0), _InnerGlowColor.rgb, uvGlow.x + uvGlow.y); +#endif + + // Environment coloring. +#if defined(_ENVIRONMENT_COLORING) + fixed3 environmentColor = incident.x * incident.x * _EnvironmentColorX + + incident.y * incident.y * _EnvironmentColorY + + incident.z * incident.z * _EnvironmentColorZ; + output.rgb += environmentColor * max(0.0, dot(incident, worldNormal) + _EnvironmentColorThreshold) * _EnvironmentColorIntensity; + +#endif + +#if defined(_NEAR_PLANE_FADE) + output *= i.worldPosition.w; +#endif + + // Hover and proximity lighting should occur after near plane fading. +#if defined(_HOVER_LIGHT) || defined(_PROXIMITY_LIGHT) + output.rgb += fluentLightColor * _FluentLightIntensity * pointToLight; +#endif + + // Perform non-alpha clipped primitive clipping on the final output. +#if defined(_CLIPPING_PRIMITIVE) && !defined(_ALPHA_CLIP) + output *= saturate(primitiveDistance * (1.0f / _BlendedClippingWidth)); +#endif + return output; + } + + ENDCG + } + + // Extracts information for lightmapping, GI (emission, albedo, ...) + // This pass it not used during regular rendering. + Pass + { + Name "Meta" + Tags { "LightMode" = "Meta" } + + CGPROGRAM + + #pragma vertex vert + #pragma fragment frag + + #pragma shader_feature EDITOR_VISUALIZATION + #pragma shader_feature _EMISSION + #pragma shader_feature _CHANNEL_MAP + + #include "UnityCG.cginc" + #include "UnityMetaPass.cginc" + + // This define will get commented in by the UpgradeShaderForUniversalRenderPipeline method. + //#define _RENDER_PIPELINE + + struct v2f + { + float4 vertex : SV_POSITION; + float2 uv : TEXCOORD0; + }; + + float4 _MainTex_ST; + + v2f vert(appdata_full v) + { + v2f o; + o.vertex = UnityMetaVertexPosition(v.vertex, v.texcoord1.xy, v.texcoord2.xy, unity_LightmapST, unity_DynamicLightmapST); + o.uv = TRANSFORM_TEX(v.texcoord, _MainTex); + + return o; + } + + sampler2D _MainTex; + sampler2D _ChannelMap; + + fixed4 _Color; + fixed4 _EmissiveColor; + +#if defined(_RENDER_PIPELINE) + CBUFFER_START(_LightBuffer) + float4 _MainLightPosition; + half4 _MainLightColor; + CBUFFER_END +#else + fixed4 _LightColor0; +#endif + + half4 frag(v2f i) : SV_Target + { + UnityMetaInput output; + UNITY_INITIALIZE_OUTPUT(UnityMetaInput, output); + + output.Albedo = tex2D(_MainTex, i.uv) * _Color; +#if defined(_EMISSION) +#if defined(_CHANNEL_MAP) + output.Emission += tex2D(_ChannelMap, i.uv).b * _EmissiveColor; +#else + output.Emission += _EmissiveColor; +#endif +#endif +#if defined(_RENDER_PIPELINE) + output.SpecularColor = _MainLightColor.rgb; +#else + output.SpecularColor = _LightColor0.rgb; +#endif + + return UnityMetaFragment(output); + } + ENDCG + } + } + + Fallback "Hidden/InternalErrorShader" + CustomEditor "Microsoft.MixedReality.Toolkit.Editor.MixedRealityStandardShaderGUI" +} diff --git a/GettingStartedGuides/HoloLens2_GettingStarted/HoloLens2GetStartedApp/Assets/MRTK/Shaders/MixedRealityStandard.shader.meta b/GettingStartedGuides/HoloLens2_GettingStarted/HoloLens2GetStartedApp/Assets/MRTK/Shaders/MixedRealityStandard.shader.meta new file mode 100644 index 00000000..7b6bb008 --- /dev/null +++ b/GettingStartedGuides/HoloLens2_GettingStarted/HoloLens2GetStartedApp/Assets/MRTK/Shaders/MixedRealityStandard.shader.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 5bdea20278144b11916d77503ba1467a +timeCreated: 1519154700 +licenseType: Pro +ShaderImporter: + externalObjects: {} + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/GettingStartedGuides/HoloLens2_GettingStarted/HoloLens2GetStartedApp/Assets/MRTK/Shaders/MixedRealityTextMeshPro.shader b/GettingStartedGuides/HoloLens2_GettingStarted/HoloLens2GetStartedApp/Assets/MRTK/Shaders/MixedRealityTextMeshPro.shader new file mode 100644 index 00000000..078e5d6c --- /dev/null +++ b/GettingStartedGuides/HoloLens2_GettingStarted/HoloLens2GetStartedApp/Assets/MRTK/Shaders/MixedRealityTextMeshPro.shader @@ -0,0 +1,377 @@ +// TextMesh Pro copyright © 2021 Unity Technologies ApS +// Licensed under the Unity Companion License for Unity-dependent projects--see http://www.unity3d.com/legal/licenses/Unity_Companion_License. +// Unless expressly provided otherwise, the Software under this license is made available strictly on an “AS IS” BASIS WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED. Please review the license for details on these and other terms and conditions. + +// NOTE: MRTK Shaders are versioned via the MRTK.Shaders.sentinel file. +// When making changes to any shader's source file, the value in the sentinel _must_ be incremented. + +// Simplified SDF shader: +// - No Shading Option (bevel / bump / env map) +// - No Glow Option +// - Softness is applied on both side of the outline + +// MRTK Additions +// - Single Pass Instanced Stereo Rendering Support +// - Support for Clipping Primitives (Plane, Sphere, Box) +// - ZWrite Property + +Shader "Mixed Reality Toolkit/TextMeshPro" { + +Properties { + _FaceColor ("Face Color", Color) = (1,1,1,1) + _FaceDilate ("Face Dilate", Range(-1,1)) = 0 + + _OutlineColor ("Outline Color", Color) = (0,0,0,1) + _OutlineWidth ("Outline Thickness", Range(0,1)) = 0 + _OutlineSoftness ("Outline Softness", Range(0,1)) = 0 + + _UnderlayColor ("Border Color", Color) = (0,0,0,.5) + _UnderlayOffsetX ("Border OffsetX", Range(-1,1)) = 0 + _UnderlayOffsetY ("Border OffsetY", Range(-1,1)) = 0 + _UnderlayDilate ("Border Dilate", Range(-1,1)) = 0 + _UnderlaySoftness ("Border Softness", Range(0,1)) = 0 + + _WeightNormal ("Weight Normal", float) = 0 + _WeightBold ("Weight Bold", float) = .5 + + _ShaderFlags ("Flags", float) = 0 + _ScaleRatioA ("Scale RatioA", float) = 1 + _ScaleRatioB ("Scale RatioB", float) = 1 + _ScaleRatioC ("Scale RatioC", float) = 1 + + _MainTex ("Font Atlas", 2D) = "white" {} + _TextureWidth ("Texture Width", float) = 512 + _TextureHeight ("Texture Height", float) = 512 + _GradientScale ("Gradient Scale", float) = 5 + _ScaleX ("Scale X", float) = 1 + _ScaleY ("Scale Y", float) = 1 + _PerspectiveFilter ("Perspective Correction", Range(0, 1)) = 0.875 + _Sharpness ("Sharpness", Range(-1,1)) = 0 + + _VertexOffsetX ("Vertex OffsetX", float) = 0 + _VertexOffsetY ("Vertex OffsetY", float) = 0 + + _ClipRect ("Clip Rect", vector) = (-32767, -32767, 32767, 32767) + _MaskSoftnessX ("Mask SoftnessX", float) = 0 + _MaskSoftnessY ("Mask SoftnessY", float) = 0 + + _StencilComp ("Stencil Comparison", Float) = 8 + _Stencil ("Stencil ID", Float) = 0 + _StencilOp ("Stencil Operation", Float) = 0 + _StencilWriteMask ("Stencil Write Mask", Float) = 255 + _StencilReadMask ("Stencil Read Mask", Float) = 255 + + _ColorMask ("Color Mask", Float) = 15 + _ZWrite ("Depth Write", Float) = 0 +} + +SubShader { + Tags + { + "Queue"="Transparent" + "IgnoreProjector"="True" + "RenderType"="Transparent" + } + + + Stencil + { + Ref [_Stencil] + Comp [_StencilComp] + Pass [_StencilOp] + ReadMask [_StencilReadMask] + WriteMask [_StencilWriteMask] + } + + Cull [_CullMode] + ZWrite[_ZWrite] + Lighting Off + Fog { Mode Off } + ZTest [unity_GUIZTestMode] + Blend One OneMinusSrcAlpha + ColorMask [_ColorMask] + + Pass { + CGPROGRAM + #pragma vertex VertShader + #pragma fragment PixShader + #pragma shader_feature __ OUTLINE_ON + #pragma shader_feature __ UNDERLAY_ON UNDERLAY_INNER + + #pragma multi_compile __ UNITY_UI_CLIP_RECT + #pragma multi_compile __ UNITY_UI_ALPHACLIP + + #pragma multi_compile __ _CLIPPING_PLANE _CLIPPING_SPHERE _CLIPPING_BOX + + #include "UnityCG.cginc" + #include "UnityUI.cginc" + #include "MixedRealityShaderUtils.cginc" + +#if defined(_CLIPPING_PLANE) || defined(_CLIPPING_SPHERE) || defined(_CLIPPING_BOX) + #define _CLIPPING_PRIMITIVE +#else + #undef _CLIPPING_PRIMITIVE +#endif + + // Direct include for portability. + //#include "TMPro_Properties.cginc" + // UI Editable properties + uniform sampler2D _FaceTex; // Alpha : Signed Distance + uniform float _FaceUVSpeedX; + uniform float _FaceUVSpeedY; + uniform fixed4 _FaceColor; // RGBA : Color + Opacity + uniform float _FaceDilate; // v[ 0, 1] + uniform float _OutlineSoftness; // v[ 0, 1] + + uniform sampler2D _OutlineTex; // RGBA : Color + Opacity + uniform float _OutlineUVSpeedX; + uniform float _OutlineUVSpeedY; + uniform fixed4 _OutlineColor; // RGBA : Color + Opacity + uniform float _OutlineWidth; // v[ 0, 1] + + uniform float _Bevel; // v[ 0, 1] + uniform float _BevelOffset; // v[-1, 1] + uniform float _BevelWidth; // v[-1, 1] + uniform float _BevelClamp; // v[ 0, 1] + uniform float _BevelRoundness; // v[ 0, 1] + + uniform sampler2D _BumpMap; // Normal map + uniform float _BumpOutline; // v[ 0, 1] + uniform float _BumpFace; // v[ 0, 1] + + uniform samplerCUBE _Cube; // Cube / sphere map + uniform fixed4 _ReflectFaceColor; // RGB intensity + uniform fixed4 _ReflectOutlineColor; + uniform float3 _EnvMatrixRotation; + uniform float4x4 _EnvMatrix; + + uniform fixed4 _SpecularColor; // RGB intensity + uniform float _LightAngle; // v[ 0,Tau] + uniform float _SpecularPower; // v[ 0, 1] + uniform float _Reflectivity; // v[ 5, 15] + uniform float _Diffuse; // v[ 0, 1] + uniform float _Ambient; // v[ 0, 1] + + uniform fixed4 _UnderlayColor; // RGBA : Color + Opacity + uniform float _UnderlayOffsetX; // v[-1, 1] + uniform float _UnderlayOffsetY; // v[-1, 1] + uniform float _UnderlayDilate; // v[-1, 1] + uniform float _UnderlaySoftness; // v[ 0, 1] + + uniform fixed4 _GlowColor; // RGBA : Color + Intensity + uniform float _GlowOffset; // v[-1, 1] + uniform float _GlowOuter; // v[ 0, 1] + uniform float _GlowInner; // v[ 0, 1] + uniform float _GlowPower; // v[ 1, 1/(1+4*4)] + + // API Editable properties + uniform float _ShaderFlags; + uniform float _WeightNormal; + uniform float _WeightBold; + + uniform float _ScaleRatioA; + uniform float _ScaleRatioB; + uniform float _ScaleRatioC; + + uniform float _VertexOffsetX; + uniform float _VertexOffsetY; + + uniform float _MaskID; + uniform sampler2D _MaskTex; + uniform float4 _MaskCoord; + uniform float4 _ClipRect; // bottom left(x,y) : top right(z,w) + + uniform float _MaskSoftnessX; + uniform float _MaskSoftnessY; + + // Font Atlas properties + uniform sampler2D _MainTex; + uniform float _TextureWidth; + uniform float _TextureHeight; + uniform float _GradientScale; + uniform float _ScaleX; + uniform float _ScaleY; + uniform float _PerspectiveFilter; + uniform float _Sharpness; + +#if defined(_CLIPPING_PLANE) + fixed _ClipPlaneSide; + float4 _ClipPlane; +#endif + +#if defined(_CLIPPING_SPHERE) + fixed _ClipSphereSide; + float4x4 _ClipSphereInverseTransform; +#endif + +#if defined(_CLIPPING_BOX) + fixed _ClipBoxSide; + float4x4 _ClipBoxInverseTransform; +#endif + + struct vertex_t { + UNITY_VERTEX_INPUT_INSTANCE_ID + float4 vertex : POSITION; + float3 normal : NORMAL; + fixed4 color : COLOR; + float2 texcoord0 : TEXCOORD0; + float2 texcoord1 : TEXCOORD1; + }; + + struct pixel_t { + UNITY_VERTEX_INPUT_INSTANCE_ID + UNITY_VERTEX_OUTPUT_STEREO + float4 vertex : SV_POSITION; + fixed4 faceColor : COLOR; + fixed4 outlineColor : COLOR1; + float4 texcoord0 : TEXCOORD0; // Texture UV, Mask UV + half4 param : TEXCOORD1; // Scale(x), BiasIn(y), BiasOut(z), Bias(w) + half4 mask : TEXCOORD2; // Position in clip space(xy), Softness(zw) + #if (UNDERLAY_ON | UNDERLAY_INNER) + float4 texcoord1 : TEXCOORD3; // Texture UV, alpha, reserved + half2 underlayParam : TEXCOORD4; // Scale(x), Bias(y) + #endif +#if defined(_CLIPPING_PRIMITIVE) + float3 worldPosition : TEXCOORD5; +#endif + }; + + + pixel_t VertShader(vertex_t input) + { + pixel_t output; + + UNITY_INITIALIZE_OUTPUT(pixel_t, output); + UNITY_SETUP_INSTANCE_ID(input); + UNITY_TRANSFER_INSTANCE_ID(input, output); + UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(output); + + float bold = step(input.texcoord1.y, 0); + + float4 vert = input.vertex; + vert.x += _VertexOffsetX; + vert.y += _VertexOffsetY; + float4 vPosition = UnityObjectToClipPos(vert); + + float2 pixelSize = vPosition.w; + pixelSize /= float2(_ScaleX, _ScaleY) * abs(mul((float2x2)UNITY_MATRIX_P, _ScreenParams.xy)); + + float scale = rsqrt(dot(pixelSize, pixelSize)); + scale *= abs(input.texcoord1.y) * _GradientScale * (_Sharpness + 1); + if(UNITY_MATRIX_P[3][3] == 0) scale = lerp(abs(scale) * (1 - _PerspectiveFilter), scale, abs(dot(UnityObjectToWorldNormal(input.normal.xyz), normalize(WorldSpaceViewDir(vert))))); + + float weight = lerp(_WeightNormal, _WeightBold, bold) / 4.0; + weight = (weight + _FaceDilate) * _ScaleRatioA * 0.5; + + float layerScale = scale; + + scale /= 1 + (_OutlineSoftness * _ScaleRatioA * scale); + float bias = (0.5 - weight) * scale - 0.5; + float outline = _OutlineWidth * _ScaleRatioA * 0.5 * scale; + + float opacity = input.color.a; + #if (UNDERLAY_ON | UNDERLAY_INNER) + opacity = 1.0; + #endif + + fixed4 faceColor = fixed4(input.color.rgb, opacity) * _FaceColor; + faceColor.rgb *= faceColor.a; + + fixed4 outlineColor = _OutlineColor; + outlineColor.a *= opacity; + outlineColor.rgb *= outlineColor.a; + outlineColor = lerp(faceColor, outlineColor, sqrt(min(1.0, (outline * 2)))); + + #if (UNDERLAY_ON | UNDERLAY_INNER) + layerScale /= 1 + ((_UnderlaySoftness * _ScaleRatioC) * layerScale); + float layerBias = (.5 - weight) * layerScale - .5 - ((_UnderlayDilate * _ScaleRatioC) * .5 * layerScale); + + float x = -(_UnderlayOffsetX * _ScaleRatioC) * _GradientScale / _TextureWidth; + float y = -(_UnderlayOffsetY * _ScaleRatioC) * _GradientScale / _TextureHeight; + float2 layerOffset = float2(x, y); + #endif + + // Generate UV for the Masking Texture + float4 clampedRect = clamp(_ClipRect, -2e10, 2e10); + float2 maskUV = (vert.xy - clampedRect.xy) / (clampedRect.zw - clampedRect.xy); + + // Populate structure for pixel shader + output.vertex = vPosition; + output.faceColor = faceColor; + output.outlineColor = outlineColor; + output.texcoord0 = float4(input.texcoord0.x, input.texcoord0.y, maskUV.x, maskUV.y); + output.param = half4(scale, bias - outline, bias + outline, bias); + output.mask = half4(vert.xy * 2 - clampedRect.xy - clampedRect.zw, 0.25 / (0.25 * half2(_MaskSoftnessX, _MaskSoftnessY) + pixelSize.xy)); + #if (UNDERLAY_ON || UNDERLAY_INNER) + output.texcoord1 = float4(input.texcoord0 + layerOffset, input.color.a, 0); + output.underlayParam = half2(layerScale, layerBias); + #endif +#if defined(_CLIPPING_PRIMITIVE) + output.worldPosition = mul(unity_ObjectToWorld, vert).xyz; +#endif + + return output; + } + + + // PIXEL SHADER + fixed4 PixShader(pixel_t input) : SV_Target + { + UNITY_SETUP_INSTANCE_ID(input); + + half d = tex2D(_MainTex, input.texcoord0.xy).a * input.param.x; + half4 c = input.faceColor * saturate(d - input.param.w); + + #ifdef OUTLINE_ON + c = lerp(input.outlineColor, input.faceColor, saturate(d - input.param.z)); + c *= saturate(d - input.param.y); + #endif + + #if UNDERLAY_ON + d = tex2D(_MainTex, input.texcoord1.xy).a * input.underlayParam.x; + c += float4(_UnderlayColor.rgb * _UnderlayColor.a, _UnderlayColor.a) * saturate(d - input.underlayParam.y) * (1 - c.a); + #endif + + #if UNDERLAY_INNER + half sd = saturate(d - input.param.z); + d = tex2D(_MainTex, input.texcoord1.xy).a * input.underlayParam.x; + c += float4(_UnderlayColor.rgb * _UnderlayColor.a, _UnderlayColor.a) * (1 - saturate(d - input.underlayParam.y)) * sd * (1 - c.a); + #endif + + // Alternative implementation to UnityGet2DClipping with support for softness. + #if UNITY_UI_CLIP_RECT + half2 m = saturate((_ClipRect.zw - _ClipRect.xy - abs(input.mask.xy)) * input.mask.zw); + c *= m.x * m.y; + #endif + + #if (UNDERLAY_ON | UNDERLAY_INNER) + c *= input.texcoord1.z; + #endif + + // Primitive clipping. +#if defined(_CLIPPING_PRIMITIVE) + float primitiveDistance = 1.0; +#if defined(_CLIPPING_PLANE) + primitiveDistance = min(primitiveDistance, PointVsPlane(input.worldPosition, _ClipPlane) * _ClipPlaneSide); +#endif +#if defined(_CLIPPING_SPHERE) + primitiveDistance = min(primitiveDistance, PointVsSphere(input.worldPosition, _ClipSphereInverseTransform) * _ClipSphereSide); +#endif +#if defined(_CLIPPING_BOX) + primitiveDistance = min(primitiveDistance, PointVsBox(input.worldPosition, _ClipBoxInverseTransform) * _ClipBoxSide); +#endif + c *= step(0.0, primitiveDistance); +#endif + + #if UNITY_UI_ALPHACLIP + clip(c.a - 0.001); + #endif + + return c; + } + ENDCG + } +} + +CustomEditor "Microsoft.MixedReality.Toolkit.Editor.MixedRealityTextMeshProShaderGUI" +} diff --git a/GettingStartedGuides/HoloLens2_GettingStarted/HoloLens2GetStartedApp/Assets/MRTK/Shaders/MixedRealityTextMeshPro.shader.meta b/GettingStartedGuides/HoloLens2_GettingStarted/HoloLens2GetStartedApp/Assets/MRTK/Shaders/MixedRealityTextMeshPro.shader.meta new file mode 100644 index 00000000..284d80fe --- /dev/null +++ b/GettingStartedGuides/HoloLens2_GettingStarted/HoloLens2GetStartedApp/Assets/MRTK/Shaders/MixedRealityTextMeshPro.shader.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 1c504b73bf66872479cd1215fb5ce0fe +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/GettingStartedGuides/HoloLens2_GettingStarted/HoloLens2GetStartedApp/Assets/MRTK/Shaders/MixedRealityTextMeshProSprite.shader b/GettingStartedGuides/HoloLens2_GettingStarted/HoloLens2GetStartedApp/Assets/MRTK/Shaders/MixedRealityTextMeshProSprite.shader new file mode 100644 index 00000000..8aaa5411 --- /dev/null +++ b/GettingStartedGuides/HoloLens2_GettingStarted/HoloLens2GetStartedApp/Assets/MRTK/Shaders/MixedRealityTextMeshProSprite.shader @@ -0,0 +1,184 @@ +// TextMesh Pro copyright © 2021 Unity Technologies ApS +// Licensed under the Unity Companion License for Unity-dependent projects--see http://www.unity3d.com/legal/licenses/Unity_Companion_License. +// Unless expressly provided otherwise, the Software under this license is made available strictly on an “AS IS” BASIS WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED. Please review the license for details on these and other terms and conditions. + +// NOTE: MRTK Shaders are versioned via the MRTK.Shaders.sentinel file. +// When making changes to any shader's source file, the value in the sentinel _must_ be incremented. + +// Text Mesh Pro Sprite shader with MRTK Additions + +// MRTK Additions +// - Single Pass Instanced Stereo Rendering Support +// - Support for Clipping Primitives (Plane, Sphere, Box) +// - Added to MRTK namespace + +Shader "Mixed Reality Toolkit/TextMeshProSprite" { + +Properties { + _MainTex ("Sprite Texture", 2D) = "white" {} + _Color ("Tint", Color) = (1,1,1,1) + + _StencilComp ("Stencil Comparison", Float) = 8 + _Stencil ("Stencil ID", Float) = 0 + _StencilOp ("Stencil Operation", Float) = 0 + _StencilWriteMask ("Stencil Write Mask", Float) = 255 + _StencilReadMask ("Stencil Read Mask", Float) = 255 + + _CullMode ("Cull Mode", Float) = 0 + _ColorMask ("Color Mask", Float) = 15 + _ClipRect ("Clip Rect", vector) = (-32767, -32767, 32767, 32767) + + [Toggle(UNITY_UI_ALPHACLIP)] _UseUIAlphaClip ("Use Alpha Clip", Float) = 0 +} + +SubShader { + Tags + { + "Queue"="Transparent" + "IgnoreProjector"="True" + "RenderType"="Transparent" + "PreviewType"="Plane" + "CanUseSpriteAtlas"="True" + } + + Stencil { + Ref [_Stencil] + Comp [_StencilComp] + Pass [_StencilOp] + ReadMask [_StencilReadMask] + WriteMask [_StencilWriteMask] + } + + Cull [_CullMode] + Lighting Off + ZWrite Off + ZTest [unity_GUIZTestMode] + Blend SrcAlpha OneMinusSrcAlpha + ColorMask [_ColorMask] + + Pass { + CGPROGRAM + #pragma vertex vert + #pragma fragment frag + + #pragma multi_compile __ UNITY_UI_CLIP_RECT + #pragma multi_compile __ UNITY_UI_ALPHACLIP + + #pragma multi_compile __ _CLIPPING_PLANE _CLIPPING_SPHERE _CLIPPING_BOX + + #include "UnityCG.cginc" + #include "UnityUI.cginc" + #include "MixedRealityShaderUtils.cginc" + +#if defined(_CLIPPING_PLANE) || defined(_CLIPPING_SPHERE) || defined(_CLIPPING_BOX) + #define _CLIPPING_PRIMITIVE +#else + #undef _CLIPPING_PRIMITIVE +#endif + +#if defined(_CLIPPING_PLANE) + fixed _ClipPlaneSide; + float4 _ClipPlane; +#endif + +#if defined(_CLIPPING_SPHERE) + fixed _ClipSphereSide; + float4x4 _ClipSphereInverseTransform; +#endif + +#if defined(_CLIPPING_BOX) + fixed _ClipBoxSide; + float4x4 _ClipBoxInverseTransform; +#endif + + uniform float _VertexOffsetX; + uniform float _VertexOffsetY; + + struct appdata_t { + + float4 vertex : POSITION; + float4 color : COLOR; + float2 texcoord : TEXCOORD0; + UNITY_VERTEX_INPUT_INSTANCE_ID + }; + + struct v2f { + + float4 vertex : SV_POSITION; + fixed4 color : COLOR; + half2 texcoord : TEXCOORD0; + float3 worldPosition : TEXCOORD1; + + UNITY_VERTEX_INPUT_INSTANCE_ID + UNITY_VERTEX_OUTPUT_STEREO + }; + + fixed4 _Color; + fixed4 _TextureSampleAdd; + float4 _ClipRect; + + v2f vert(appdata_t IN) + { + v2f OUT; + + UNITY_SETUP_INSTANCE_ID(IN); + UNITY_TRANSFER_INSTANCE_ID(IN, OUT); + UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(OUT); + + OUT.worldPosition = IN.vertex; + OUT.vertex = UnityObjectToClipPos(OUT.worldPosition); + + OUT.texcoord = IN.texcoord; + + float4 vertin = IN.vertex; + vertin.x += _VertexOffsetX; + vertin.y += _VertexOffsetY; + float4 vPosition = UnityObjectToClipPos(vertin); + +#ifdef UNITY_HALF_TEXEL_OFFSET + OUT.vertex.xy += (_ScreenParams.zw-1.0)*float2(-1,1); +#endif + + OUT.color = IN.color * _Color; +#if defined(_CLIPPING_PRIMITIVE) + OUT.worldPosition = mul(unity_ObjectToWorld, vertin).xyz; +#endif + + return OUT; + } + + sampler2D _MainTex; + + fixed4 frag(v2f IN) : SV_Target + { + half4 color = (tex2D(_MainTex, IN.texcoord) + _TextureSampleAdd) * IN.color; + +#if UNITY_UI_CLIP_RECT + color.a *= UnityGet2DClipping(IN.worldPosition.xy, _ClipRect); +#endif + + // Primitive clipping. +#if defined(_CLIPPING_PRIMITIVE) + float primitiveDistance = 1.0; +#if defined(_CLIPPING_PLANE) + primitiveDistance = min(primitiveDistance, PointVsPlane(IN.worldPosition, _ClipPlane) * _ClipPlaneSide); +#endif +#if defined(_CLIPPING_SPHERE) + primitiveDistance = min(primitiveDistance, PointVsSphere(IN.worldPosition, _ClipSphereInverseTransform) * _ClipSphereSide); +#endif +#if defined(_CLIPPING_BOX) + primitiveDistance = min(primitiveDistance, PointVsBox(IN.worldPosition, _ClipBoxInverseTransform) * _ClipBoxSide); +#endif + color *= step(0.0, primitiveDistance); +#endif + +#ifdef UNITY_UI_ALPHACLIP + clip (color.a - 0.001); +#endif + + return color; + } + ENDCG + } + } +} \ No newline at end of file diff --git a/GettingStartedGuides/HoloLens2_GettingStarted/HoloLens2GetStartedApp/Assets/MRTK/Shaders/MixedRealityTextMeshProSprite.shader.meta b/GettingStartedGuides/HoloLens2_GettingStarted/HoloLens2GetStartedApp/Assets/MRTK/Shaders/MixedRealityTextMeshProSprite.shader.meta new file mode 100644 index 00000000..b76d3b66 --- /dev/null +++ b/GettingStartedGuides/HoloLens2_GettingStarted/HoloLens2GetStartedApp/Assets/MRTK/Shaders/MixedRealityTextMeshProSprite.shader.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: f11fd341db238f342a8b36d23162d67a +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/GettingStartedGuides/HoloLens2_GettingStarted/HoloLens2GetStartedApp/Assets/MRTK/Shaders/Text3DShader.shader b/GettingStartedGuides/HoloLens2_GettingStarted/HoloLens2GetStartedApp/Assets/MRTK/Shaders/Text3DShader.shader new file mode 100644 index 00000000..a89716fe --- /dev/null +++ b/GettingStartedGuides/HoloLens2_GettingStarted/HoloLens2GetStartedApp/Assets/MRTK/Shaders/Text3DShader.shader @@ -0,0 +1,180 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + +// NOTE: MRTK Shaders are versioned via the MRTK.Shaders.sentinel file. +// When making changes to any shader's source file, the value in the sentinel _must_ be incremented. + +/// +/// Basic 3D TextMesh shader with proper z-sorting and culling options. +/// +Shader "Mixed Reality Toolkit/Text3DShader" +{ + Properties + { + _MainTex("Alpha (A)", 2D) = "white" {} + [Enum(UnityEngine.Rendering.CullMode)] _Cull("Cull", Float) = 0 + + [HideInInspector] _Color("Main Color", Color) = (1,1,1,1) + [HideInInspector] _StencilComp("Stencil Comparison", Float) = 8 + [HideInInspector] _Stencil("Stencil ID", Float) = 0 + [HideInInspector] _StencilOp("Stencil Operation", Float) = 0 + [HideInInspector] _StencilWriteMask("Stencil Write Mask", Float) = 255 + [HideInInspector] _StencilReadMask("Stencil Read Mask", Float) = 255 + [HideInInspector] _ColorMask("Color Mask", Float) = 15 + } + + SubShader + { + LOD 200 + + Tags + { + "Queue" = "Transparent" + "IgnoreProjector" = "True" + "RenderType" = "Transparent" + "PreviewType" = "Plane" + } + + Stencil + { + Ref[_Stencil] + Comp[_StencilComp] + Pass[_StencilOp] + ReadMask[_StencilReadMask] + WriteMask[_StencilWriteMask] + } + + Cull[_Cull] + Lighting Off + ZWrite On + ZTest[unity_GUIZTestMode] + Offset -1, -1 + Fog { Mode Off } + Blend SrcAlpha OneMinusSrcAlpha + ColorMask[_ColorMask] + + Pass + { + CGPROGRAM + #pragma vertex vert + #pragma fragment frag + + #pragma multi_compile_instancing + + #pragma multi_compile __ _CLIPPING_PLANE _CLIPPING_SPHERE _CLIPPING_BOX + + #if defined(_CLIPPING_PLANE) || defined(_CLIPPING_SPHERE) || defined(_CLIPPING_BOX) + #define _CLIPPING_PRIMITIVE + #else + #undef _CLIPPING_PRIMITIVE + #endif + + #include "UnityCG.cginc" + #include "MixedRealityShaderUtils.cginc" + + struct appdata_t + { + float4 vertex : POSITION; + half4 color : COLOR; + float2 texcoord : TEXCOORD0; + UNITY_VERTEX_INPUT_INSTANCE_ID + }; + + struct v2f + { + float4 vertex : POSITION; + half4 color : COLOR; + float2 texcoord : TEXCOORD0; + UNITY_VERTEX_INPUT_INSTANCE_ID + UNITY_VERTEX_OUTPUT_STEREO + + #if defined(_CLIPPING_PRIMITIVE) + float3 worldPosition : TEXCOORD5; + #endif + }; + + + sampler2D _MainTex; + float4 _MainTex_ST; + + UNITY_INSTANCING_BUFFER_START(Props) + UNITY_DEFINE_INSTANCED_PROP(fixed4, _Color) + + #if defined(_CLIPPING_PLANE) + UNITY_DEFINE_INSTANCED_PROP(fixed, _ClipPlaneSide) + UNITY_DEFINE_INSTANCED_PROP(float4, _ClipPlane) + #endif + + #if defined(_CLIPPING_SPHERE) + UNITY_DEFINE_INSTANCED_PROP(fixed, _ClipSphereSide) + UNITY_DEFINE_INSTANCED_PROP(float4x4, _ClipSphereInverseTransform) + #endif + + #if defined(_CLIPPING_BOX) + UNITY_DEFINE_INSTANCED_PROP(fixed, _ClipBoxSide) + UNITY_DEFINE_INSTANCED_PROP(float4x4, _ClipBoxInverseTransform) + #endif + + UNITY_INSTANCING_BUFFER_END(Props) + + v2f vert(appdata_t v) + { + v2f o; + + UNITY_SETUP_INSTANCE_ID(v); + UNITY_TRANSFER_INSTANCE_ID(v, o); + UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o); + + o.vertex = UnityObjectToClipPos(v.vertex); + o.texcoord = TRANSFORM_TEX(v.texcoord, _MainTex); + o.color = v.color; + + #ifdef UNITY_HALF_TEXEL_OFFSET + o.vertex.xy += (_ScreenParams.zw - 1.0)*float2(-1,1); + #endif + + #if defined(_CLIPPING_PRIMITIVE) + o.worldPosition = mul(unity_ObjectToWorld, v.vertex).xyz; + #endif + + return o; + } + + half4 frag(v2f i) : COLOR + { + UNITY_SETUP_INSTANCE_ID(i); + + half4 col = i.color; + col.a *= tex2D(_MainTex, i.texcoord).a; + col = col * UNITY_ACCESS_INSTANCED_PROP(Props, _Color); + + // Primitive clipping. + #if defined(_CLIPPING_PRIMITIVE) + float primitiveDistance = 1.0; + #if defined(_CLIPPING_PLANE) + fixed clipPlaneSide = UNITY_ACCESS_INSTANCED_PROP(Props, _ClipPlaneSide); + float4 clipPlane = UNITY_ACCESS_INSTANCED_PROP(Props, _ClipPlane); + primitiveDistance = min(primitiveDistance, PointVsPlane(i.worldPosition.xyz, clipPlane) * clipPlaneSide); + #endif + #if defined(_CLIPPING_SPHERE) + fixed clipSphereSide = UNITY_ACCESS_INSTANCED_PROP(Props, _ClipSphereSide); + float4x4 clipSphereInverseTransform = UNITY_ACCESS_INSTANCED_PROP(Props, _ClipSphereInverseTransform); + primitiveDistance = min(primitiveDistance, PointVsSphere(i.worldPosition.xyz, clipSphereInverseTransform) * clipSphereSide); + #endif + #if defined(_CLIPPING_BOX) + fixed clipBoxSide = UNITY_ACCESS_INSTANCED_PROP(Props, _ClipBoxSide); + float4x4 clipBoxInverseTransform = UNITY_ACCESS_INSTANCED_PROP(Props, _ClipBoxInverseTransform); + primitiveDistance = min(primitiveDistance, PointVsBox(i.worldPosition.xyz, clipBoxInverseTransform) * clipBoxSide); + #endif + col *= step(0.0, primitiveDistance); + #endif + + clip(col.a - 0.01); + + return col; + } + ENDCG + } + } + CustomEditor "Microsoft.MixedReality.Toolkit.Editor.Text3DShaderGUI" +} diff --git a/GettingStartedGuides/HoloLens2_GettingStarted/HoloLens2GetStartedApp/Assets/MRTK/Shaders/Text3DShader.shader.meta b/GettingStartedGuides/HoloLens2_GettingStarted/HoloLens2GetStartedApp/Assets/MRTK/Shaders/Text3DShader.shader.meta new file mode 100644 index 00000000..f17c4480 --- /dev/null +++ b/GettingStartedGuides/HoloLens2_GettingStarted/HoloLens2GetStartedApp/Assets/MRTK/Shaders/Text3DShader.shader.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 80c006b91733f1a4991c49af89321ecd +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/GettingStartedGuides/HoloLens2_GettingStarted/HoloLens2GetStartedApp/Assets/Scenes.meta b/GettingStartedGuides/HoloLens2_GettingStarted/HoloLens2GetStartedApp/Assets/Scenes.meta new file mode 100644 index 00000000..83c741b2 --- /dev/null +++ b/GettingStartedGuides/HoloLens2_GettingStarted/HoloLens2GetStartedApp/Assets/Scenes.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 6ea315d0fd7389c41b19996891e99ae3 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/GettingStartedGuides/HoloLens2_GettingStarted/HoloLens2GetStartedApp/Assets/Scenes/SampleScene.unity b/GettingStartedGuides/HoloLens2_GettingStarted/HoloLens2GetStartedApp/Assets/Scenes/SampleScene.unity new file mode 100644 index 00000000..56f578f6 --- /dev/null +++ b/GettingStartedGuides/HoloLens2_GettingStarted/HoloLens2GetStartedApp/Assets/Scenes/SampleScene.unity @@ -0,0 +1,1796 @@ +%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.18028378, g: 0.22571412, b: 0.30692285, 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 &97853868 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 97853871} + - component: {fileID: 97853870} + - component: {fileID: 97853869} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &97853869 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 97853868} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_text: "\u200B" + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4281479730 + m_fontColor: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_enableVertexGradient: 0 + m_colorMode: 3 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_StyleSheet: {fileID: 0} + m_TextStyleHashCode: -1183493901 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_fontSize: 14 + m_fontSizeBase: 14 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_HorizontalAlignment: 1 + m_VerticalAlignment: 256 + m_textAlignment: 65535 + m_characterSpacing: 0 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_enableWordWrapping: 0 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 1 + m_enableExtraPadding: 1 + checkPaddingRequired: 0 + m_isRichText: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 0 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!222 &97853870 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 97853868} + m_CullTransparentMesh: 1 +--- !u!224 &97853871 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 97853868} + 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: 143832582} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &143832581 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 143832582} + - component: {fileID: 143832583} + m_Layer: 5 + m_Name: Text Area + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &143832582 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 143832581} + 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: + - {fileID: 1895741750} + - {fileID: 97853871} + m_Father: {fileID: 1187233980} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: -0.5} + m_SizeDelta: {x: -20, y: -13} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &143832583 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 143832581} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 3312d7739989d2b4e91e6319e9a96d76, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Padding: {x: -8, y: -5, z: -8, w: -5} + m_Softness: {x: 0, y: 0} +--- !u!1 &165517764 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 165517765} + - component: {fileID: 165517767} + - component: {fileID: 165517766} + m_Layer: 5 + m_Name: Text (TMP) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &165517765 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 165517764} + 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: 2092252165} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &165517766 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 165517764} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_text: 'Back + +' + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4281479730 + m_fontColor: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_enableVertexGradient: 0 + m_colorMode: 3 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_StyleSheet: {fileID: 0} + m_TextStyleHashCode: -1183493901 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_fontSize: 24 + m_fontSizeBase: 24 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_HorizontalAlignment: 2 + m_VerticalAlignment: 512 + m_textAlignment: 65535 + m_characterSpacing: 0 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_enableWordWrapping: 1 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 1 + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 0 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!222 &165517767 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 165517764} + m_CullTransparentMesh: 1 +--- !u!1 &340263450 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 340263451} + m_Layer: 0 + m_Name: MixedRealityPlayspace + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &340263451 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 340263450} + 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: + - {fileID: 963194228} + m_Father: {fileID: 0} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 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: 0 + m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0} +--- !u!1 &713828071 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 713828073} + - component: {fileID: 713828072} + m_Layer: 0 + m_Name: MixedRealityToolkit + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &713828072 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 713828071} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 83d9acc7968244a8886f3af591305bcb, type: 3} + m_Name: + m_EditorClassIdentifier: + activeProfile: {fileID: 11400000, guid: 7e7c962b9eb9dfa44993d5b2f2576752, type: 2} +--- !u!4 &713828073 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 713828071} + 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: 1 + 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} + - component: {fileID: 963194231} + - component: {fileID: 963194230} + - component: {fileID: 963194229} + 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: 2 + m_BackGroundColor: {r: 0, g: 0, b: 0, a: 1} + 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.1 + 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: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 340263451} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &963194229 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 963194225} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: bf98dd1206224111a38765365e98e207, type: 3} + m_Name: + m_EditorClassIdentifier: + lockCursorWhenFocusLocked: 1 + setCursorInvisibleWhenFocusLocked: 0 + maxGazeCollisionDistance: 10 + raycastLayerMasks: + - serializedVersion: 2 + m_Bits: 4294967291 + stabilizer: + storedStabilitySamples: 60 + gazeTransform: {fileID: 0} + minHeadVelocityThreshold: 0.5 + maxHeadVelocityThreshold: 2 +--- !u!114 &963194230 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 963194225} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 7a21b486d0bb44444b1418aaa38b44de, type: 3} + m_Name: + m_EditorClassIdentifier: + m_HorizontalAxis: Horizontal + m_VerticalAxis: Vertical + m_SubmitButton: Submit + m_CancelButton: Cancel + m_InputActionsPerSecond: 10 + m_RepeatDelay: 0.5 + m_ForceModuleActive: 0 +--- !u!114 &963194231 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 963194225} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 76c392e42b5098c458856cdf6ecaaaa1, type: 3} + m_Name: + m_EditorClassIdentifier: + m_FirstSelected: {fileID: 0} + m_sendNavigationEvents: 1 + m_DragThreshold: 10 +--- !u!1 &1054508622 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1054508623} + - component: {fileID: 1054508626} + - component: {fileID: 1054508625} + - component: {fileID: 1054508624} + - component: {fileID: 1054508628} + - component: {fileID: 1054508627} + - component: {fileID: 1054508629} + - component: {fileID: 1054508631} + - component: {fileID: 1054508630} + m_Layer: 5 + m_Name: Canvas + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1054508623 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1054508622} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 1.5} + m_LocalScale: {x: 0.001, y: 0.001, z: 0.001} + m_Children: + - {fileID: 1187233980} + - {fileID: 2092252165} + - {fileID: 1306366453} + - {fileID: 2082689488} + m_Father: {fileID: 1649518285} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 600, y: 400} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1054508624 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1054508622} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: dc42784cf147c0c48a680349fa168899, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreReversedGraphics: 1 + m_BlockingObjects: 0 + m_BlockingMask: + serializedVersion: 2 + m_Bits: 4294967295 +--- !u!114 &1054508625 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1054508622} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 0cd44c1031e13a943bb63640046fad76, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UiScaleMode: 0 + m_ReferencePixelsPerUnit: 100 + m_ScaleFactor: 1 + m_ReferenceResolution: {x: 800, y: 600} + m_ScreenMatchMode: 0 + m_MatchWidthOrHeight: 0 + m_PhysicalUnit: 3 + m_FallbackScreenDPI: 96 + m_DefaultSpriteDPI: 96 + m_DynamicPixelsPerUnit: 1 + m_PresetInfoIsWorld: 1 +--- !u!223 &1054508626 +Canvas: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1054508622} + m_Enabled: 1 + serializedVersion: 3 + m_RenderMode: 2 + m_Camera: {fileID: 0} + m_PlaneDistance: 100 + m_PixelPerfect: 0 + m_ReceivesEvents: 1 + m_OverrideSorting: 0 + m_OverridePixelPerfect: 0 + m_SortingBucketNormalizedSize: 0 + m_AdditionalShaderChannelsFlag: 25 + m_SortingLayerID: 0 + m_SortingOrder: 0 + m_TargetDisplay: 0 +--- !u!114 &1054508627 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1054508622} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.589771, g: 0.61052746, b: 0.6603774, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 0} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1054508628 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1054508622} + m_CullTransparentMesh: 1 +--- !u!114 &1054508629 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1054508622} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 6df61a9a13528fd4f9365c233cb23bfb, type: 3} + m_Name: + m_EditorClassIdentifier: + m_RaycastTriggerInteraction: 1 + m_EventMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_MaxRayIntersections: 10 + m_EventCamera: {fileID: 0} +--- !u!114 &1054508630 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1054508622} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 2fcaf896491074042b7ed7684454a412, type: 3} + m_Name: + m_EditorClassIdentifier: + eventsToReceive: 0 + debounceThreshold: 0.01 +--- !u!114 &1054508631 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1054508622} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ff4e3b9019304b5aaec5664de0778d21, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!1001 &1184828600 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 1054508623} + m_Modifications: + - target: {fileID: 2311476450002457713, guid: 4410a2a17e71713438d8cf4ebc93d9a4, type: 3} + propertyPath: m_Name + value: WebView + objectReference: {fileID: 0} + - target: {fileID: 3231283774461358941, guid: 4410a2a17e71713438d8cf4ebc93d9a4, type: 3} + propertyPath: m_RootOrder + value: 3 + objectReference: {fileID: 0} + - target: {fileID: 3231283774461358941, guid: 4410a2a17e71713438d8cf4ebc93d9a4, type: 3} + propertyPath: m_LocalScale.x + value: 570 + objectReference: {fileID: 0} + - target: {fileID: 3231283774461358941, guid: 4410a2a17e71713438d8cf4ebc93d9a4, type: 3} + propertyPath: m_LocalScale.y + value: 340 + objectReference: {fileID: 0} + - target: {fileID: 3231283774461358941, guid: 4410a2a17e71713438d8cf4ebc93d9a4, type: 3} + propertyPath: m_LocalScale.z + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 3231283774461358941, guid: 4410a2a17e71713438d8cf4ebc93d9a4, type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3231283774461358941, guid: 4410a2a17e71713438d8cf4ebc93d9a4, type: 3} + propertyPath: m_LocalPosition.y + value: -16 + objectReference: {fileID: 0} + - target: {fileID: 3231283774461358941, guid: 4410a2a17e71713438d8cf4ebc93d9a4, type: 3} + propertyPath: m_LocalPosition.z + value: -5 + objectReference: {fileID: 0} + - target: {fileID: 3231283774461358941, guid: 4410a2a17e71713438d8cf4ebc93d9a4, type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 3231283774461358941, guid: 4410a2a17e71713438d8cf4ebc93d9a4, type: 3} + propertyPath: m_LocalRotation.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 3231283774461358941, guid: 4410a2a17e71713438d8cf4ebc93d9a4, type: 3} + propertyPath: m_LocalRotation.y + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 3231283774461358941, guid: 4410a2a17e71713438d8cf4ebc93d9a4, type: 3} + propertyPath: m_LocalRotation.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 3231283774461358941, guid: 4410a2a17e71713438d8cf4ebc93d9a4, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3231283774461358941, guid: 4410a2a17e71713438d8cf4ebc93d9a4, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3231283774461358941, guid: 4410a2a17e71713438d8cf4ebc93d9a4, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 4410a2a17e71713438d8cf4ebc93d9a4, type: 3} +--- !u!1 &1187233976 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1187233980} + - component: {fileID: 1187233979} + - component: {fileID: 1187233978} + - component: {fileID: 1187233977} + m_Layer: 5 + m_Name: AddressField (TMP) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1187233977 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1187233976} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 2da0c512f12947e489f739169773d7ca, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 1187233978} + m_TextViewport: {fileID: 143832582} + m_TextComponent: {fileID: 97853869} + m_Placeholder: {fileID: 1895741747} + m_VerticalScrollbar: {fileID: 0} + m_VerticalScrollbarEventHandler: {fileID: 0} + m_LayoutGroup: {fileID: 0} + m_ScrollSensitivity: 1 + m_ContentType: 0 + m_InputType: 0 + m_AsteriskChar: 42 + m_KeyboardType: 0 + m_LineType: 0 + m_HideMobileInput: 0 + m_HideSoftKeyboard: 0 + m_CharacterValidation: 0 + m_RegexValue: + m_GlobalPointSize: 14 + m_CharacterLimit: 0 + m_OnEndEdit: + m_PersistentCalls: + m_Calls: [] + m_OnSubmit: + m_PersistentCalls: + m_Calls: [] + m_OnSelect: + m_PersistentCalls: + m_Calls: [] + m_OnDeselect: + m_PersistentCalls: + m_Calls: [] + m_OnTextSelection: + m_PersistentCalls: + m_Calls: [] + m_OnEndTextSelection: + m_PersistentCalls: + m_Calls: [] + m_OnValueChanged: + m_PersistentCalls: + m_Calls: [] + m_OnTouchScreenKeyboardStatusChanged: + m_PersistentCalls: + m_Calls: [] + m_CaretColor: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_CustomCaretColor: 0 + m_SelectionColor: {r: 0.65882355, g: 0.80784315, b: 1, a: 0.7529412} + m_Text: + m_CaretBlinkRate: 0.85 + m_CaretWidth: 1 + m_ReadOnly: 0 + m_RichText: 1 + m_GlobalFontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_OnFocusSelectAll: 1 + m_ResetOnDeActivation: 1 + m_RestoreOriginalTextOnEscape: 1 + m_isRichTextEditingAllowed: 0 + m_LineLimit: 0 + m_InputValidator: {fileID: 0} +--- !u!114 &1187233978 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1187233976} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10911, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1187233979 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1187233976} + m_CullTransparentMesh: 1 +--- !u!224 &1187233980 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1187233976} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: -5} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 143832582} + m_Father: {fileID: 1054508623} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: -2, y: 178} + m_SizeDelta: {x: 390, y: 30} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &1306366452 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1306366453} + - component: {fileID: 1306366456} + - component: {fileID: 1306366455} + - component: {fileID: 1306366454} + m_Layer: 5 + m_Name: Go Button + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1306366453 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1306366452} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: -5} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1959170144} + m_Father: {fileID: 1054508623} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 242, y: 178} + m_SizeDelta: {x: 75, y: 30} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1306366454 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1306366452} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 1306366455} + m_OnClick: + m_PersistentCalls: + m_Calls: [] +--- !u!114 &1306366455 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1306366452} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1306366456 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1306366452} + m_CullTransparentMesh: 1 +--- !u!1 &1649518283 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1649518285} + - component: {fileID: 1649518284} + m_Layer: 0 + m_Name: MixedRealitySceneContent + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1649518284 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1649518283} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: c65c9dd2f312b8d41b8849d58e1053fa, type: 3} + m_Name: + m_EditorClassIdentifier: + alignmentType: 0 + containerObject: {fileID: 0} +--- !u!4 &1649518285 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1649518283} + 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: + - {fileID: 1054508623} + m_Father: {fileID: 0} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1895741746 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1895741750} + - component: {fileID: 1895741749} + - component: {fileID: 1895741747} + - component: {fileID: 1895741748} + m_Layer: 5 + m_Name: Placeholder + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1895741747 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1895741746} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_text: Enter text... + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 2150773298 + m_fontColor: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 0.5} + m_enableVertexGradient: 0 + m_colorMode: 3 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_StyleSheet: {fileID: 0} + m_TextStyleHashCode: -1183493901 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_fontSize: 14 + m_fontSizeBase: 14 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 2 + m_HorizontalAlignment: 1 + m_VerticalAlignment: 256 + m_textAlignment: 65535 + m_characterSpacing: 0 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_enableWordWrapping: 0 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 1 + m_enableExtraPadding: 1 + checkPaddingRequired: 0 + m_isRichText: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 0 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!114 &1895741748 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1895741746} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreLayout: 1 + m_MinWidth: -1 + m_MinHeight: -1 + m_PreferredWidth: -1 + m_PreferredHeight: -1 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 + m_LayoutPriority: 1 +--- !u!222 &1895741749 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1895741746} + m_CullTransparentMesh: 1 +--- !u!224 &1895741750 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1895741746} + 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: 143832582} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &1959170143 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1959170144} + - component: {fileID: 1959170146} + - component: {fileID: 1959170145} + m_Layer: 5 + m_Name: Text (TMP) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1959170144 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1959170143} + 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: 1306366453} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1959170145 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1959170143} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_text: 'Go + +' + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4281479730 + m_fontColor: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_enableVertexGradient: 0 + m_colorMode: 3 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_StyleSheet: {fileID: 0} + m_TextStyleHashCode: -1183493901 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_fontSize: 24 + m_fontSizeBase: 24 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_HorizontalAlignment: 2 + m_VerticalAlignment: 512 + m_textAlignment: 65535 + m_characterSpacing: 0 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_enableWordWrapping: 1 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 1 + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 0 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!222 &1959170146 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1959170143} + m_CullTransparentMesh: 1 +--- !u!1 &2082689487 stripped +GameObject: + m_CorrespondingSourceObject: {fileID: 2311476450002457713, guid: 4410a2a17e71713438d8cf4ebc93d9a4, type: 3} + m_PrefabInstance: {fileID: 1184828600} + m_PrefabAsset: {fileID: 0} +--- !u!4 &2082689488 stripped +Transform: + m_CorrespondingSourceObject: {fileID: 3231283774461358941, guid: 4410a2a17e71713438d8cf4ebc93d9a4, type: 3} + m_PrefabInstance: {fileID: 1184828600} + m_PrefabAsset: {fileID: 0} +--- !u!114 &2082689493 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2082689487} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 9fdbada398537b44394e6233549c6146, type: 3} + m_Name: + m_EditorClassIdentifier: + BackButton: {fileID: 2092252166} + GoButton: {fileID: 1306366454} + URLField: {fileID: 1187233977} +--- !u!1 &2092252164 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2092252165} + - component: {fileID: 2092252168} + - component: {fileID: 2092252167} + - component: {fileID: 2092252166} + m_Layer: 5 + m_Name: Back Button + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &2092252165 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2092252164} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: -5} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 165517765} + m_Father: {fileID: 1054508623} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: -248, y: 178} + m_SizeDelta: {x: 75, y: 30} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &2092252166 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2092252164} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 2092252167} + m_OnClick: + m_PersistentCalls: + m_Calls: [] +--- !u!114 &2092252167 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2092252164} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &2092252168 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2092252164} + m_CullTransparentMesh: 1 diff --git a/GettingStartedGuides/HoloLens2_GettingStarted/HoloLens2GetStartedApp/Assets/Scenes/SampleScene.unity.meta b/GettingStartedGuides/HoloLens2_GettingStarted/HoloLens2GetStartedApp/Assets/Scenes/SampleScene.unity.meta new file mode 100644 index 00000000..952bd1e9 --- /dev/null +++ b/GettingStartedGuides/HoloLens2_GettingStarted/HoloLens2GetStartedApp/Assets/Scenes/SampleScene.unity.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 9fc0d4010bbf28b4594072e72b8655ab +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/GettingStartedGuides/HoloLens2_GettingStarted/HoloLens2GetStartedApp/Assets/WebViewBrowser.cs b/GettingStartedGuides/HoloLens2_GettingStarted/HoloLens2GetStartedApp/Assets/WebViewBrowser.cs new file mode 100644 index 00000000..04466d45 --- /dev/null +++ b/GettingStartedGuides/HoloLens2_GettingStarted/HoloLens2GetStartedApp/Assets/WebViewBrowser.cs @@ -0,0 +1,55 @@ +using Microsoft.MixedReality.WebView; +using UnityEngine.UI; +using UnityEngine; +using TMPro; +using System; + +public class WebViewBrowser : MonoBehaviour +{ + // Declare UI elements: back button, go button, and URL input field + public Button BackButton; + public Button GoButton; + public TMP_InputField URLField; + + private void Start() + { + // Get the WebView component attached to the game object + var webViewComponent = gameObject.GetComponent(); + webViewComponent.GetWebViewWhenReady((IWebView webView) => + { + // If the WebView supports browser history, enable the back button + if (webView is IWithBrowserHistory history) + { + // Add an event listener for the back button to navigate back in history + BackButton.onClick.AddListener(() => history.GoBack()); + + // Update the back button's enabled state based on whether there's any history to go back to + history.CanGoBackUpdated += CanGoBack; + } + + // Add an event listener for the go button to load the URL entered in the input field + GoButton.onClick.AddListener(() => webView.Load(new Uri(URLField.text))); + + // Subscribe to the Navigated event to update the URL input field whenever a navigation occurs + webView.Navigated += OnNavigated; + + // Set the initial value of the URL input field to the current URL of the WebView + if (webView.Page != null) + { + URLField.text = webView.Page.AbsoluteUri; + } + }); + } + + // Update the URL input field with the new path after navigation + private void OnNavigated(string path) + { + URLField.text = path; + } + + // Enable or disable the back button based on whether there's any history to go back to + private void CanGoBack(bool value) + { + BackButton.enabled = value; + } +} \ No newline at end of file diff --git a/GettingStartedGuides/HoloLens2_GettingStarted/HoloLens2GetStartedApp/Assets/WebViewBrowser.cs.meta b/GettingStartedGuides/HoloLens2_GettingStarted/HoloLens2GetStartedApp/Assets/WebViewBrowser.cs.meta new file mode 100644 index 00000000..5b786265 --- /dev/null +++ b/GettingStartedGuides/HoloLens2_GettingStarted/HoloLens2GetStartedApp/Assets/WebViewBrowser.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 9fdbada398537b44394e6233549c6146 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/GettingStartedGuides/HoloLens2_GettingStarted/HoloLens2GetStartedApp/Assets/XR.meta b/GettingStartedGuides/HoloLens2_GettingStarted/HoloLens2GetStartedApp/Assets/XR.meta new file mode 100644 index 00000000..f87eb8e5 --- /dev/null +++ b/GettingStartedGuides/HoloLens2_GettingStarted/HoloLens2GetStartedApp/Assets/XR.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 42093a716ec518641a9ae93aa9b3f0fa +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/GettingStartedGuides/HoloLens2_GettingStarted/HoloLens2GetStartedApp/Assets/XR/Loaders.meta b/GettingStartedGuides/HoloLens2_GettingStarted/HoloLens2GetStartedApp/Assets/XR/Loaders.meta new file mode 100644 index 00000000..b901710b --- /dev/null +++ b/GettingStartedGuides/HoloLens2_GettingStarted/HoloLens2GetStartedApp/Assets/XR/Loaders.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: dc4ab6a9227501d47bfadcf341e33fed +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/GettingStartedGuides/HoloLens2_GettingStarted/HoloLens2GetStartedApp/Assets/XR/Loaders/Open XR Loader.asset b/GettingStartedGuides/HoloLens2_GettingStarted/HoloLens2GetStartedApp/Assets/XR/Loaders/Open XR Loader.asset new file mode 100644 index 00000000..15d4498d --- /dev/null +++ b/GettingStartedGuides/HoloLens2_GettingStarted/HoloLens2GetStartedApp/Assets/XR/Loaders/Open XR Loader.asset @@ -0,0 +1,14 @@ +%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: d3552e428dc7646a88de3ed3650f87da, type: 3} + m_Name: Open XR Loader + m_EditorClassIdentifier: diff --git a/GettingStartedGuides/HoloLens2_GettingStarted/HoloLens2GetStartedApp/Assets/XR/Loaders/Open XR Loader.asset.meta b/GettingStartedGuides/HoloLens2_GettingStarted/HoloLens2GetStartedApp/Assets/XR/Loaders/Open XR Loader.asset.meta new file mode 100644 index 00000000..07912dfa --- /dev/null +++ b/GettingStartedGuides/HoloLens2_GettingStarted/HoloLens2GetStartedApp/Assets/XR/Loaders/Open XR Loader.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 262e76e0ccf9dfd478466f1e6471f743 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/GettingStartedGuides/HoloLens2_GettingStarted/HoloLens2GetStartedApp/Assets/XR/Settings.meta b/GettingStartedGuides/HoloLens2_GettingStarted/HoloLens2GetStartedApp/Assets/XR/Settings.meta new file mode 100644 index 00000000..70f917a6 --- /dev/null +++ b/GettingStartedGuides/HoloLens2_GettingStarted/HoloLens2GetStartedApp/Assets/XR/Settings.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: b3adff16c52aac149af2a2eb342b4203 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/GettingStartedGuides/HoloLens2_GettingStarted/HoloLens2GetStartedApp/Assets/XR/Settings/OpenXR Editor Settings.asset b/GettingStartedGuides/HoloLens2_GettingStarted/HoloLens2GetStartedApp/Assets/XR/Settings/OpenXR Editor Settings.asset new file mode 100644 index 00000000..d06efa58 --- /dev/null +++ b/GettingStartedGuides/HoloLens2_GettingStarted/HoloLens2GetStartedApp/Assets/XR/Settings/OpenXR Editor Settings.asset @@ -0,0 +1,20 @@ +%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: 975057b4fdcfb8142b3080d19a5cc712, type: 3} + m_Name: OpenXR Editor Settings + m_EditorClassIdentifier: + Keys: 010000000e000000 + Values: + - featureSets: + - com.microsoft.openxr.featureset.wmr + - featureSets: + - com.microsoft.openxr.featureset.hololens diff --git a/GettingStartedGuides/HoloLens2_GettingStarted/HoloLens2GetStartedApp/Assets/XR/Settings/OpenXR Editor Settings.asset.meta b/GettingStartedGuides/HoloLens2_GettingStarted/HoloLens2GetStartedApp/Assets/XR/Settings/OpenXR Editor Settings.asset.meta new file mode 100644 index 00000000..2ed1d1cf --- /dev/null +++ b/GettingStartedGuides/HoloLens2_GettingStarted/HoloLens2GetStartedApp/Assets/XR/Settings/OpenXR Editor Settings.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: a141cb325af82a944a847907c601b6e9 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/GettingStartedGuides/HoloLens2_GettingStarted/HoloLens2GetStartedApp/Assets/XR/Settings/OpenXR Package Settings.asset b/GettingStartedGuides/HoloLens2_GettingStarted/HoloLens2GetStartedApp/Assets/XR/Settings/OpenXR Package Settings.asset new file mode 100644 index 00000000..1b1c4576 --- /dev/null +++ b/GettingStartedGuides/HoloLens2_GettingStarted/HoloLens2GetStartedApp/Assets/XR/Settings/OpenXR Package Settings.asset @@ -0,0 +1,752 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &-9156128087838353666 +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: 2d2e2731103cdda44af77955a0b4814c, type: 3} + m_Name: AppRemotingPlugin WSA + m_EditorClassIdentifier: + m_enabled: 0 + nameUi: Holographic Remoting remote app + version: 1.8.0 + featureIdInternal: com.microsoft.openxr.feature.appremoting + openxrExtensionStrings: XR_MSFT_holographic_remoting XR_MSFT_holographic_remoting_speech + company: Microsoft + priority: -100 + required: 0 +--- !u!114 &-8791073877347979526 +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: 3482401f887b8864183e401715462f46, type: 3} + m_Name: HPMixedRealityControllerProfile Standalone + m_EditorClassIdentifier: + m_enabled: 0 + nameUi: HP Reverb G2 Controller Profile + version: 1.8.0 + featureIdInternal: com.microsoft.openxr.feature.interaction.hpmixedrealitycontroller + openxrExtensionStrings: XR_EXT_hp_mixed_reality_controller + company: Microsoft + priority: 0 + required: 0 +--- !u!114 &-8320375554670759756 +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: f928d0d73a35f294fbe357ca17aa3547, type: 3} + m_Name: MicrosoftHandInteraction WSA + m_EditorClassIdentifier: + m_enabled: 1 + nameUi: Microsoft Hand Interaction Profile + version: 0.0.1 + featureIdInternal: com.unity.openxr.feature.input.handtracking + openxrExtensionStrings: XR_MSFT_hand_interaction + company: Unity + priority: 0 + required: 0 +--- !u!114 &-8234964549452783826 +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: 2d2e2731103cdda44af77955a0b4814c, type: 3} + m_Name: AppRemotingPlugin Standalone + m_EditorClassIdentifier: + m_enabled: 0 + nameUi: Holographic Remoting remote app + version: 1.8.0 + featureIdInternal: com.microsoft.openxr.feature.appremoting + openxrExtensionStrings: XR_MSFT_holographic_remoting XR_MSFT_holographic_remoting_speech + company: Microsoft + priority: -100 + required: 0 +--- !u!114 &-6046135081374806543 +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: 0c8f1ce8139888c4ab621f6b3c8bb558, type: 3} + m_Name: MotionControllerFeaturePlugin Standalone + m_EditorClassIdentifier: + m_enabled: 1 + nameUi: Motion Controller Model + version: 1.8.0 + featureIdInternal: com.microsoft.openxr.feature.controller + openxrExtensionStrings: XR_MSFT_controller_model XR_FB_render_model + company: Microsoft + priority: 0 + required: 0 +--- !u!114 &-5281385832365046672 +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: b5a1f07dc5afe854f9f12a4194aca3fb, type: 3} + m_Name: WSA + m_EditorClassIdentifier: + features: + - {fileID: -9156128087838353666} + - {fileID: 3509922356019969242} + - {fileID: -2579591891406222725} + - {fileID: 2236953091096034020} + - {fileID: 4108757663332930139} + - {fileID: 3944210153470645160} + - {fileID: -3558160564479299438} + - {fileID: -4324672991276254832} + - {fileID: -8320375554670759756} + - {fileID: 5540693242641560659} + - {fileID: -2857303689053143175} + - {fileID: 6203936439530748652} + - {fileID: -3643824036258635872} + - {fileID: 8943490906109707154} + - {fileID: -2453136439990797807} + m_renderMode: 1 + m_depthSubmissionMode: 1 +--- !u!114 &-4324672991276254832 +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: c4b862ee14fb479fbfe5fffe655d3ed3, type: 3} + m_Name: MetaQuestTouchProControllerProfile WSA + m_EditorClassIdentifier: + m_enabled: 0 + nameUi: Meta Quest Touch Pro Controller Profile + version: 0.0.1 + featureIdInternal: com.unity.openxr.feature.input.metaquestpro + openxrExtensionStrings: XR_FB_touch_controller_pro + company: Unity + priority: 0 + required: 0 +--- !u!114 &-3643824036258635872 +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: feeef8d85de8db242bdda70cc7ff5acd, type: 3} + m_Name: OculusTouchControllerProfile WSA + m_EditorClassIdentifier: + m_enabled: 0 + nameUi: Oculus Touch Controller Profile + version: 0.0.1 + featureIdInternal: com.unity.openxr.feature.input.oculustouch + openxrExtensionStrings: + company: Unity + priority: 0 + required: 0 +--- !u!114 &-3572279281362214239 +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: 7de993716e042c6499d0c18eed3a773c, type: 3} + m_Name: MockRuntime Standalone + m_EditorClassIdentifier: + m_enabled: 0 + nameUi: Mock Runtime + version: 0.0.2 + featureIdInternal: com.unity.openxr.feature.mockruntime + openxrExtensionStrings: XR_UNITY_null_gfx XR_UNITY_android_present + company: Unity + priority: 0 + required: 0 + ignoreValidationErrors: 0 +--- !u!114 &-3558160564479299438 +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: 0f6bfdbcb316ed242b30a8798c9eb853, type: 3} + m_Name: KHRSimpleControllerProfile WSA + m_EditorClassIdentifier: + m_enabled: 0 + nameUi: Khronos Simple Controller Profile + version: 0.0.1 + featureIdInternal: com.unity.openxr.feature.input.khrsimpleprofile + openxrExtensionStrings: + company: Unity + priority: 0 + required: 0 +--- !u!114 &-3532219198906828149 +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: 056125dd64c0ed540b40a4af74f7b495, type: 3} + m_Name: RuntimeDebuggerOpenXRFeature Standalone + m_EditorClassIdentifier: + m_enabled: 0 + nameUi: Runtime Debugger + version: 1 + featureIdInternal: com.unity.openxr.features.runtimedebugger + openxrExtensionStrings: + company: Unity + priority: 0 + required: 0 + cacheSize: 1048576 + perThreadCacheSize: 51200 +--- !u!114 &-3291161241438317336 +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: 0f6bfdbcb316ed242b30a8798c9eb853, type: 3} + m_Name: KHRSimpleControllerProfile Standalone + m_EditorClassIdentifier: + m_enabled: 0 + nameUi: Khronos Simple Controller Profile + version: 0.0.1 + featureIdInternal: com.unity.openxr.feature.input.khrsimpleprofile + openxrExtensionStrings: + company: Unity + priority: 0 + required: 0 +--- !u!114 &-3222691064925498647 +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: 3f8ec2975f18d5e479159feb34b4dc86, type: 3} + m_Name: MixedRealityFeaturePlugin Standalone + m_EditorClassIdentifier: + m_enabled: 1 + nameUi: Mixed Reality Features + version: 1.8.0 + featureIdInternal: com.microsoft.openxr.feature.hololens + openxrExtensionStrings: XR_MSFT_holographic_window_attachment XR_KHR_win32_convert_performance_counter_time + XR_MSFT_unbounded_reference_space XR_MSFT_spatial_anchor XR_MSFT_secondary_view_configuration + XR_MSFT_first_person_observer XR_MSFT_spatial_graph_bridge XR_MSFT_perception_anchor_interop + XR_MSFT_spatial_anchor_persistence XR_MSFT_scene_understanding XR_MSFT_scene_understanding_serialization + XR_MSFT_spatial_anchor_export_preview XR_MSFT_composition_layer_reprojection + company: Microsoft + priority: 0 + required: 1 + disableFirstPersonObserver: 0 + enablePoseUpdateOnBeforeRender: 0 + validationRuleTarget: 0 +--- !u!114 &-3146378018228042552 +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: b3cf79659a011bd419c7a2a30eb74e9a, type: 3} + m_Name: EyeGazeInteraction Standalone + m_EditorClassIdentifier: + m_enabled: 1 + nameUi: Eye Gaze Interaction Profile + version: 0.0.1 + featureIdInternal: com.unity.openxr.feature.input.eyetracking + openxrExtensionStrings: XR_EXT_eye_gaze_interaction + company: Unity + priority: 0 + required: 0 +--- !u!114 &-2857303689053143175 +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: 3f8ec2975f18d5e479159feb34b4dc86, type: 3} + m_Name: MixedRealityFeaturePlugin WSA + m_EditorClassIdentifier: + m_enabled: 1 + nameUi: Mixed Reality Features + version: 1.8.0 + featureIdInternal: com.microsoft.openxr.feature.hololens + openxrExtensionStrings: XR_MSFT_holographic_window_attachment XR_KHR_win32_convert_performance_counter_time + XR_MSFT_unbounded_reference_space XR_MSFT_spatial_anchor XR_MSFT_secondary_view_configuration + XR_MSFT_first_person_observer XR_MSFT_spatial_graph_bridge XR_MSFT_perception_anchor_interop + XR_MSFT_spatial_anchor_persistence XR_MSFT_scene_understanding XR_MSFT_scene_understanding_serialization + XR_MSFT_spatial_anchor_export_preview XR_MSFT_composition_layer_reprojection + company: Microsoft + priority: 0 + required: 1 + disableFirstPersonObserver: 0 + enablePoseUpdateOnBeforeRender: 0 + validationRuleTarget: 1 +--- !u!114 &-2579591891406222725 +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: b3cf79659a011bd419c7a2a30eb74e9a, type: 3} + m_Name: EyeGazeInteraction WSA + m_EditorClassIdentifier: + m_enabled: 1 + nameUi: Eye Gaze Interaction Profile + version: 0.0.1 + featureIdInternal: com.unity.openxr.feature.input.eyetracking + openxrExtensionStrings: XR_EXT_eye_gaze_interaction + company: Unity + priority: 0 + required: 0 +--- !u!114 &-2453136439990797807 +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: 0d6ccd3d0ef0f1d458e69421dccbdae1, type: 3} + m_Name: ValveIndexControllerProfile WSA + m_EditorClassIdentifier: + m_enabled: 0 + nameUi: Valve Index Controller Profile + version: 0.0.1 + featureIdInternal: com.unity.openxr.feature.input.valveindex + openxrExtensionStrings: + company: Unity + priority: 0 + required: 0 +--- !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: 9f0ebc320a151d3408ea1e9fce54d40e, type: 3} + m_Name: OpenXR Package Settings + m_EditorClassIdentifier: + Keys: 010000000e000000 + Values: + - {fileID: 5469543864881237022} + - {fileID: -5281385832365046672} +--- !u!114 &1560007936489684005 +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: feeef8d85de8db242bdda70cc7ff5acd, type: 3} + m_Name: OculusTouchControllerProfile Standalone + m_EditorClassIdentifier: + m_enabled: 0 + nameUi: Oculus Touch Controller Profile + version: 0.0.1 + featureIdInternal: com.unity.openxr.feature.input.oculustouch + openxrExtensionStrings: + company: Unity + priority: 0 + required: 0 +--- !u!114 &1822772621369869403 +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: f928d0d73a35f294fbe357ca17aa3547, type: 3} + m_Name: MicrosoftHandInteraction Standalone + m_EditorClassIdentifier: + m_enabled: 1 + nameUi: Microsoft Hand Interaction Profile + version: 0.0.1 + featureIdInternal: com.unity.openxr.feature.input.handtracking + openxrExtensionStrings: XR_MSFT_hand_interaction + company: Unity + priority: 0 + required: 0 +--- !u!114 &2236953091096034020 +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: c79c911b38743a649b1c1eddb5097202, type: 3} + m_Name: HandTrackingFeaturePlugin WSA + m_EditorClassIdentifier: + m_enabled: 1 + nameUi: Hand Tracking + version: 1.8.0 + featureIdInternal: com.microsoft.openxr.feature.handtracking + openxrExtensionStrings: XR_EXT_hand_tracking XR_EXT_hand_joints_motion_range XR_MSFT_hand_tracking_mesh + company: Microsoft + priority: 0 + required: 0 + leftHandTrackingOptions: + motionRange: 0 + rightHandTrackingOptions: + motionRange: 0 +--- !u!114 &2692585085645271422 +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: 0d6ccd3d0ef0f1d458e69421dccbdae1, type: 3} + m_Name: ValveIndexControllerProfile Standalone + m_EditorClassIdentifier: + m_enabled: 0 + nameUi: Valve Index Controller Profile + version: 0.0.1 + featureIdInternal: com.unity.openxr.feature.input.valveindex + openxrExtensionStrings: + company: Unity + priority: 0 + required: 0 +--- !u!114 &3094208498748100248 +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: 486b5e28864f9a94b979b9620ce5006d, type: 3} + m_Name: ConformanceAutomationFeature Standalone + m_EditorClassIdentifier: + m_enabled: 0 + nameUi: Conformance Automation + version: 0.0.1 + featureIdInternal: com.unity.openxr.feature.conformance + openxrExtensionStrings: XR_EXT_conformance_automation + company: Unity + priority: 0 + required: 0 +--- !u!114 &3371921894632598856 +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: 761fdd4502cb7a84e9ec7a2b24f33f37, type: 3} + m_Name: MicrosoftMotionControllerProfile Standalone + m_EditorClassIdentifier: + m_enabled: 1 + nameUi: Microsoft Motion Controller Profile + version: 0.0.1 + featureIdInternal: com.unity.openxr.feature.input.microsoftmotioncontroller + openxrExtensionStrings: + company: Unity + priority: 0 + required: 0 +--- !u!114 &3509922356019969242 +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: 486b5e28864f9a94b979b9620ce5006d, type: 3} + m_Name: ConformanceAutomationFeature WSA + m_EditorClassIdentifier: + m_enabled: 0 + nameUi: Conformance Automation + version: 0.0.1 + featureIdInternal: com.unity.openxr.feature.conformance + openxrExtensionStrings: XR_EXT_conformance_automation + company: Unity + priority: 0 + required: 0 +--- !u!114 &3944210153470645160 +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: 274c02963f889a64e90bc2e596e21d13, type: 3} + m_Name: HTCViveControllerProfile WSA + m_EditorClassIdentifier: + m_enabled: 0 + nameUi: HTC Vive Controller Profile + version: 0.0.1 + featureIdInternal: com.unity.openxr.feature.input.htcvive + openxrExtensionStrings: + company: Unity + priority: 0 + required: 0 +--- !u!114 &4108757663332930139 +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: 3482401f887b8864183e401715462f46, type: 3} + m_Name: HPMixedRealityControllerProfile WSA + m_EditorClassIdentifier: + m_enabled: 0 + nameUi: HP Reverb G2 Controller Profile + version: 1.8.0 + featureIdInternal: com.microsoft.openxr.feature.interaction.hpmixedrealitycontroller + openxrExtensionStrings: XR_EXT_hp_mixed_reality_controller + company: Microsoft + priority: 0 + required: 0 +--- !u!114 &5044288477980273724 +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: 274c02963f889a64e90bc2e596e21d13, type: 3} + m_Name: HTCViveControllerProfile Standalone + m_EditorClassIdentifier: + m_enabled: 0 + nameUi: HTC Vive Controller Profile + version: 0.0.1 + featureIdInternal: com.unity.openxr.feature.input.htcvive + openxrExtensionStrings: + company: Unity + priority: 0 + required: 0 +--- !u!114 &5469543864881237022 +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: b5a1f07dc5afe854f9f12a4194aca3fb, type: 3} + m_Name: Standalone + m_EditorClassIdentifier: + features: + - {fileID: -8234964549452783826} + - {fileID: 3094208498748100248} + - {fileID: -3146378018228042552} + - {fileID: 7802046322106018668} + - {fileID: -8791073877347979526} + - {fileID: 5044288477980273724} + - {fileID: -3291161241438317336} + - {fileID: 6771435445132617576} + - {fileID: 1822772621369869403} + - {fileID: 3371921894632598856} + - {fileID: -3222691064925498647} + - {fileID: -3572279281362214239} + - {fileID: -6046135081374806543} + - {fileID: 1560007936489684005} + - {fileID: 8183488771817893027} + - {fileID: -3532219198906828149} + - {fileID: 2692585085645271422} + m_renderMode: 1 + m_depthSubmissionMode: 0 +--- !u!114 &5540693242641560659 +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: 761fdd4502cb7a84e9ec7a2b24f33f37, type: 3} + m_Name: MicrosoftMotionControllerProfile WSA + m_EditorClassIdentifier: + m_enabled: 1 + nameUi: Microsoft Motion Controller Profile + version: 0.0.1 + featureIdInternal: com.unity.openxr.feature.input.microsoftmotioncontroller + openxrExtensionStrings: + company: Unity + priority: 0 + required: 0 +--- !u!114 &6203936439530748652 +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: 0c8f1ce8139888c4ab621f6b3c8bb558, type: 3} + m_Name: MotionControllerFeaturePlugin WSA + m_EditorClassIdentifier: + m_enabled: 1 + nameUi: Motion Controller Model + version: 1.8.0 + featureIdInternal: com.microsoft.openxr.feature.controller + openxrExtensionStrings: XR_MSFT_controller_model XR_FB_render_model + company: Microsoft + priority: 0 + required: 0 +--- !u!114 &6771435445132617576 +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: c4b862ee14fb479fbfe5fffe655d3ed3, type: 3} + m_Name: MetaQuestTouchProControllerProfile Standalone + m_EditorClassIdentifier: + m_enabled: 0 + nameUi: Meta Quest Touch Pro Controller Profile + version: 0.0.1 + featureIdInternal: com.unity.openxr.feature.input.metaquestpro + openxrExtensionStrings: XR_FB_touch_controller_pro + company: Unity + priority: 0 + required: 0 +--- !u!114 &7802046322106018668 +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: c79c911b38743a649b1c1eddb5097202, type: 3} + m_Name: HandTrackingFeaturePlugin Standalone + m_EditorClassIdentifier: + m_enabled: 1 + nameUi: Hand Tracking + version: 1.8.0 + featureIdInternal: com.microsoft.openxr.feature.handtracking + openxrExtensionStrings: XR_EXT_hand_tracking XR_EXT_hand_joints_motion_range XR_MSFT_hand_tracking_mesh + company: Microsoft + priority: 0 + required: 0 + leftHandTrackingOptions: + motionRange: 0 + rightHandTrackingOptions: + motionRange: 0 +--- !u!114 &8183488771817893027 +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: 9f34c86d1a130cc45a438373e1e8a4fc, type: 3} + m_Name: PlayModeRemotingPlugin Standalone + m_EditorClassIdentifier: + m_enabled: 0 + nameUi: Holographic Remoting for Play Mode + version: 1.8.0 + featureIdInternal: com.microsoft.openxr.feature.playmoderemoting + openxrExtensionStrings: XR_MSFT_holographic_remoting XR_MSFT_holographic_remoting_speech + company: Microsoft + priority: -100 + required: 0 + m_remoteHostName: + m_remoteHostPort: 8265 + m_maxBitrate: 20000 + m_videoCodec: 0 + m_enableAudio: 0 +--- !u!114 &8943490906109707154 +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: 056125dd64c0ed540b40a4af74f7b495, type: 3} + m_Name: RuntimeDebuggerOpenXRFeature WSA + m_EditorClassIdentifier: + m_enabled: 0 + nameUi: Runtime Debugger + version: 1 + featureIdInternal: com.unity.openxr.features.runtimedebugger + openxrExtensionStrings: + company: Unity + priority: 0 + required: 0 + cacheSize: 1048576 + perThreadCacheSize: 51200 diff --git a/GettingStartedGuides/HoloLens2_GettingStarted/HoloLens2GetStartedApp/Assets/XR/Settings/OpenXR Package Settings.asset.meta b/GettingStartedGuides/HoloLens2_GettingStarted/HoloLens2GetStartedApp/Assets/XR/Settings/OpenXR Package Settings.asset.meta new file mode 100644 index 00000000..f38e916b --- /dev/null +++ b/GettingStartedGuides/HoloLens2_GettingStarted/HoloLens2GetStartedApp/Assets/XR/Settings/OpenXR Package Settings.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 541a1cf0c39d86043af97cfb801628fd +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/GettingStartedGuides/HoloLens2_GettingStarted/HoloLens2GetStartedApp/Assets/XR/XRGeneralSettings.asset b/GettingStartedGuides/HoloLens2_GettingStarted/HoloLens2GetStartedApp/Assets/XR/XRGeneralSettings.asset new file mode 100644 index 00000000..1046688d --- /dev/null +++ b/GettingStartedGuides/HoloLens2_GettingStarted/HoloLens2GetStartedApp/Assets/XR/XRGeneralSettings.asset @@ -0,0 +1,80 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &-5444848369939482447 +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: d236b7d11115f2143951f1e14045df39, type: 3} + m_Name: WSA Settings + m_EditorClassIdentifier: + m_LoaderManagerInstance: {fileID: -3196427664074929696} + m_InitManagerOnStart: 1 +--- !u!114 &-3196427664074929696 +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: f4c3631f5e58749a59194e0cf6baf6d5, type: 3} + m_Name: WSA Providers + m_EditorClassIdentifier: + m_RequiresSettingsUpdate: 0 + m_AutomaticLoading: 0 + m_AutomaticRunning: 0 + m_Loaders: + - {fileID: 11400000, guid: 262e76e0ccf9dfd478466f1e6471f743, type: 2} +--- !u!114 &-303432232004269184 +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: f4c3631f5e58749a59194e0cf6baf6d5, type: 3} + m_Name: Standalone Providers + m_EditorClassIdentifier: + m_RequiresSettingsUpdate: 0 + m_AutomaticLoading: 0 + m_AutomaticRunning: 0 + m_Loaders: + - {fileID: 11400000, guid: 262e76e0ccf9dfd478466f1e6471f743, type: 2} +--- !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: d2dc886499c26824283350fa532d087d, type: 3} + m_Name: XRGeneralSettings + m_EditorClassIdentifier: + Keys: 010000000e000000 + Values: + - {fileID: 6284999351924105525} + - {fileID: -5444848369939482447} +--- !u!114 &6284999351924105525 +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: d236b7d11115f2143951f1e14045df39, type: 3} + m_Name: Standalone Settings + m_EditorClassIdentifier: + m_LoaderManagerInstance: {fileID: -303432232004269184} + m_InitManagerOnStart: 1 diff --git a/GettingStartedGuides/HoloLens2_GettingStarted/HoloLens2GetStartedApp/Assets/XR/XRGeneralSettings.asset.meta b/GettingStartedGuides/HoloLens2_GettingStarted/HoloLens2GetStartedApp/Assets/XR/XRGeneralSettings.asset.meta new file mode 100644 index 00000000..be5a1f0d --- /dev/null +++ b/GettingStartedGuides/HoloLens2_GettingStarted/HoloLens2GetStartedApp/Assets/XR/XRGeneralSettings.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 25312d4015a310f499767577dc2d8b23 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/GettingStartedGuides/HoloLens2_GettingStarted/HoloLens2GetStartedApp/Assets/XRI.meta b/GettingStartedGuides/HoloLens2_GettingStarted/HoloLens2GetStartedApp/Assets/XRI.meta new file mode 100644 index 00000000..3af897f4 --- /dev/null +++ b/GettingStartedGuides/HoloLens2_GettingStarted/HoloLens2GetStartedApp/Assets/XRI.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 40fa1b7b9a81718498fefa8eac944707 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/GettingStartedGuides/HoloLens2_GettingStarted/HoloLens2GetStartedApp/Assets/XRI/Settings.meta b/GettingStartedGuides/HoloLens2_GettingStarted/HoloLens2GetStartedApp/Assets/XRI/Settings.meta new file mode 100644 index 00000000..96175ce8 --- /dev/null +++ b/GettingStartedGuides/HoloLens2_GettingStarted/HoloLens2GetStartedApp/Assets/XRI/Settings.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: f7193ce3b14052c41b52154ff924ebc8 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/GettingStartedGuides/HoloLens2_GettingStarted/HoloLens2GetStartedApp/Assets/XRI/Settings/Resources.meta b/GettingStartedGuides/HoloLens2_GettingStarted/HoloLens2GetStartedApp/Assets/XRI/Settings/Resources.meta new file mode 100644 index 00000000..579654c8 --- /dev/null +++ b/GettingStartedGuides/HoloLens2_GettingStarted/HoloLens2GetStartedApp/Assets/XRI/Settings/Resources.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: ce10c6a2c8cf55b41a654a1041d2306a +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/GettingStartedGuides/HoloLens2_GettingStarted/HoloLens2GetStartedApp/Assets/XRI/Settings/Resources/InteractionLayerSettings.asset b/GettingStartedGuides/HoloLens2_GettingStarted/HoloLens2GetStartedApp/Assets/XRI/Settings/Resources/InteractionLayerSettings.asset new file mode 100644 index 00000000..3f314b5d --- /dev/null +++ b/GettingStartedGuides/HoloLens2_GettingStarted/HoloLens2GetStartedApp/Assets/XRI/Settings/Resources/InteractionLayerSettings.asset @@ -0,0 +1,47 @@ +%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: 191492db6e452eb468b95433ec162164, type: 3} + m_Name: InteractionLayerSettings + m_EditorClassIdentifier: + m_LayerNames: + - Default + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - diff --git a/GettingStartedGuides/HoloLens2_GettingStarted/HoloLens2GetStartedApp/Assets/XRI/Settings/Resources/InteractionLayerSettings.asset.meta b/GettingStartedGuides/HoloLens2_GettingStarted/HoloLens2GetStartedApp/Assets/XRI/Settings/Resources/InteractionLayerSettings.asset.meta new file mode 100644 index 00000000..7dccc052 --- /dev/null +++ b/GettingStartedGuides/HoloLens2_GettingStarted/HoloLens2GetStartedApp/Assets/XRI/Settings/Resources/InteractionLayerSettings.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 3e0990ce069a176488c19380d6da111a +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/GettingStartedGuides/HoloLens2_GettingStarted/HoloLens2GetStartedApp/Assets/XRI/Settings/Resources/XRDeviceSimulatorSettings.asset b/GettingStartedGuides/HoloLens2_GettingStarted/HoloLens2GetStartedApp/Assets/XRI/Settings/Resources/XRDeviceSimulatorSettings.asset new file mode 100644 index 00000000..7466a7d1 --- /dev/null +++ b/GettingStartedGuides/HoloLens2_GettingStarted/HoloLens2GetStartedApp/Assets/XRI/Settings/Resources/XRDeviceSimulatorSettings.asset @@ -0,0 +1,16 @@ +%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: 690929a59dc7a42da9030305190d391f, type: 3} + m_Name: XRDeviceSimulatorSettings + m_EditorClassIdentifier: + m_AutomaticallyInstantiateSimulatorPrefab: 0 + m_SimulatorPrefab: {fileID: 0} diff --git a/GettingStartedGuides/HoloLens2_GettingStarted/HoloLens2GetStartedApp/Assets/XRI/Settings/Resources/XRDeviceSimulatorSettings.asset.meta b/GettingStartedGuides/HoloLens2_GettingStarted/HoloLens2GetStartedApp/Assets/XRI/Settings/Resources/XRDeviceSimulatorSettings.asset.meta new file mode 100644 index 00000000..7ed0a02c --- /dev/null +++ b/GettingStartedGuides/HoloLens2_GettingStarted/HoloLens2GetStartedApp/Assets/XRI/Settings/Resources/XRDeviceSimulatorSettings.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 7f994e6ea9c904c41b88cdf098587bf3 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/GettingStartedGuides/HoloLens2_GettingStarted/HoloLens2GetStartedApp/Assets/XRI/Settings/XRInteractionEditorSettings.asset b/GettingStartedGuides/HoloLens2_GettingStarted/HoloLens2GetStartedApp/Assets/XRI/Settings/XRInteractionEditorSettings.asset new file mode 100644 index 00000000..529491b4 --- /dev/null +++ b/GettingStartedGuides/HoloLens2_GettingStarted/HoloLens2GetStartedApp/Assets/XRI/Settings/XRInteractionEditorSettings.asset @@ -0,0 +1,16 @@ +%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: 2d38fb1463c5c804b8847c20e8873623, type: 3} + m_Name: XRInteractionEditorSettings + m_EditorClassIdentifier: + m_InteractionLayerUpdaterShown: 1 + m_ShowOldInteractionLayerMaskInInspector: 0 diff --git a/GettingStartedGuides/HoloLens2_GettingStarted/HoloLens2GetStartedApp/Assets/XRI/Settings/XRInteractionEditorSettings.asset.meta b/GettingStartedGuides/HoloLens2_GettingStarted/HoloLens2GetStartedApp/Assets/XRI/Settings/XRInteractionEditorSettings.asset.meta new file mode 100644 index 00000000..48adcca0 --- /dev/null +++ b/GettingStartedGuides/HoloLens2_GettingStarted/HoloLens2GetStartedApp/Assets/XRI/Settings/XRInteractionEditorSettings.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 183816796b8112449b485caafbe4f4ec +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/GettingStartedGuides/HoloLens2_GettingStarted/HoloLens2GetStartedApp/Packages/manifest.json b/GettingStartedGuides/HoloLens2_GettingStarted/HoloLens2GetStartedApp/Packages/manifest.json new file mode 100644 index 00000000..cc37929d --- /dev/null +++ b/GettingStartedGuides/HoloLens2_GettingStarted/HoloLens2GetStartedApp/Packages/manifest.json @@ -0,0 +1,50 @@ +{ + "dependencies": { + "com.microsoft.mixedreality.openxr": "file:MixedReality/com.microsoft.mixedreality.openxr-1.8.0.tgz", + "com.microsoft.mixedreality.toolkit.foundation": "file:MixedReality/com.microsoft.mixedreality.toolkit.foundation-2.8.3.tgz", + "com.microsoft.mixedreality.toolkit.standardassets": "file:MixedReality/com.microsoft.mixedreality.toolkit.standardassets-2.8.3.tgz", + "com.microsoft.mixedreality.webview.unity": "file:MixedReality/com.microsoft.mixedreality.webview.unity-0.17.1-pre.3.tgz", + "com.unity.collab-proxy": "2.0.3", + "com.unity.ide.rider": "3.0.20", + "com.unity.ide.visualstudio": "2.0.18", + "com.unity.ide.vscode": "1.2.5", + "com.unity.test-framework": "1.1.31", + "com.unity.textmeshpro": "3.0.6", + "com.unity.timeline": "1.6.4", + "com.unity.ugui": "1.0.0", + "com.unity.visualscripting": "1.8.0", + "com.unity.xr.interaction.toolkit": "2.3.1", + "com.unity.xr.openxr": "1.7.0", + "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/GettingStartedGuides/HoloLens2_GettingStarted/HoloLens2GetStartedApp/Packages/manifest.json.backup b/GettingStartedGuides/HoloLens2_GettingStarted/HoloLens2GetStartedApp/Packages/manifest.json.backup new file mode 100644 index 00000000..9c226758 --- /dev/null +++ b/GettingStartedGuides/HoloLens2_GettingStarted/HoloLens2GetStartedApp/Packages/manifest.json.backup @@ -0,0 +1,50 @@ +{ + "dependencies": { + "com.microsoft.mixedreality.openxr": "file:MixedReality/com.microsoft.mixedreality.openxr-1.8.0.tgz", + "com.microsoft.mixedreality.toolkit.foundation": "file:MixedReality/com.microsoft.mixedreality.toolkit.foundation-2.8.3.tgz", + "com.microsoft.mixedreality.toolkit.standardassets": "file:MixedReality/com.microsoft.mixedreality.toolkit.standardassets-2.8.3.tgz", + "com.microsoft.mixedreality.webview.unity": "file:MixedReality/com.microsoft.mixedreality.webview.unity-0.17.1-pre.2.tgz", + "com.unity.collab-proxy": "1.17.7", + "com.unity.ide.rider": "3.0.18", + "com.unity.ide.visualstudio": "2.0.17", + "com.unity.ide.vscode": "1.2.5", + "com.unity.test-framework": "1.1.31", + "com.unity.textmeshpro": "3.0.6", + "com.unity.timeline": "1.6.4", + "com.unity.ugui": "1.0.0", + "com.unity.visualscripting": "1.8.0", + "com.unity.xr.interaction.toolkit": "2.2.0", + "com.unity.xr.openxr": "1.7.0", + "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/GettingStartedGuides/HoloLens2_GettingStarted/HoloLens2GetStartedApp/Packages/manifest.json.backup0 b/GettingStartedGuides/HoloLens2_GettingStarted/HoloLens2GetStartedApp/Packages/manifest.json.backup0 new file mode 100644 index 00000000..9c226758 --- /dev/null +++ b/GettingStartedGuides/HoloLens2_GettingStarted/HoloLens2GetStartedApp/Packages/manifest.json.backup0 @@ -0,0 +1,50 @@ +{ + "dependencies": { + "com.microsoft.mixedreality.openxr": "file:MixedReality/com.microsoft.mixedreality.openxr-1.8.0.tgz", + "com.microsoft.mixedreality.toolkit.foundation": "file:MixedReality/com.microsoft.mixedreality.toolkit.foundation-2.8.3.tgz", + "com.microsoft.mixedreality.toolkit.standardassets": "file:MixedReality/com.microsoft.mixedreality.toolkit.standardassets-2.8.3.tgz", + "com.microsoft.mixedreality.webview.unity": "file:MixedReality/com.microsoft.mixedreality.webview.unity-0.17.1-pre.2.tgz", + "com.unity.collab-proxy": "1.17.7", + "com.unity.ide.rider": "3.0.18", + "com.unity.ide.visualstudio": "2.0.17", + "com.unity.ide.vscode": "1.2.5", + "com.unity.test-framework": "1.1.31", + "com.unity.textmeshpro": "3.0.6", + "com.unity.timeline": "1.6.4", + "com.unity.ugui": "1.0.0", + "com.unity.visualscripting": "1.8.0", + "com.unity.xr.interaction.toolkit": "2.2.0", + "com.unity.xr.openxr": "1.7.0", + "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/GettingStartedGuides/HoloLens2_GettingStarted/HoloLens2GetStartedApp/Packages/packages-lock.json b/GettingStartedGuides/HoloLens2_GettingStarted/HoloLens2GetStartedApp/Packages/packages-lock.json new file mode 100644 index 00000000..ed75a01a --- /dev/null +++ b/GettingStartedGuides/HoloLens2_GettingStarted/HoloLens2GetStartedApp/Packages/packages-lock.json @@ -0,0 +1,485 @@ +{ + "dependencies": { + "com.microsoft.mixedreality.openxr": { + "version": "file:MixedReality/com.microsoft.mixedreality.openxr-1.8.0.tgz", + "depth": 0, + "source": "local-tarball", + "dependencies": { + "com.unity.xr.arfoundation": "4.1.7", + "com.unity.xr.management": "4.2.0", + "com.unity.xr.openxr": "1.5.3", + "com.unity.xr.core-utils": "2.1.0" + } + }, + "com.microsoft.mixedreality.toolkit.foundation": { + "version": "file:MixedReality/com.microsoft.mixedreality.toolkit.foundation-2.8.3.tgz", + "depth": 0, + "source": "local-tarball", + "dependencies": { + "com.microsoft.mixedreality.toolkit.standardassets": "2.8.3" + } + }, + "com.microsoft.mixedreality.toolkit.standardassets": { + "version": "file:MixedReality/com.microsoft.mixedreality.toolkit.standardassets-2.8.3.tgz", + "depth": 0, + "source": "local-tarball", + "dependencies": { + "com.unity.textmeshpro": "2.1.4" + } + }, + "com.microsoft.mixedreality.webview.unity": { + "version": "file:MixedReality/com.microsoft.mixedreality.webview.unity-0.17.1-pre.3.tgz", + "depth": 0, + "source": "local-tarball", + "dependencies": {} + }, + "com.unity.collab-proxy": { + "version": "2.0.3", + "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": "3.0.20", + "depth": 0, + "source": "registry", + "dependencies": { + "com.unity.ext.nunit": "1.0.6" + }, + "url": "https://packages.unity.com" + }, + "com.unity.ide.visualstudio": { + "version": "2.0.18", + "depth": 0, + "source": "registry", + "dependencies": { + "com.unity.test-framework": "1.1.9" + }, + "url": "https://packages.unity.com" + }, + "com.unity.ide.vscode": { + "version": "1.2.5", + "depth": 0, + "source": "registry", + "dependencies": {}, + "url": "https://packages.unity.com" + }, + "com.unity.inputsystem": { + "version": "1.5.1", + "depth": 1, + "source": "registry", + "dependencies": { + "com.unity.modules.uielements": "1.0.0" + }, + "url": "https://packages.unity.com" + }, + "com.unity.mathematics": { + "version": "1.2.6", + "depth": 1, + "source": "registry", + "dependencies": {}, + "url": "https://packages.unity.com" + }, + "com.unity.subsystemregistration": { + "version": "1.1.0", + "depth": 3, + "source": "registry", + "dependencies": { + "com.unity.modules.subsystems": "1.0.0" + }, + "url": "https://packages.unity.com" + }, + "com.unity.test-framework": { + "version": "1.1.31", + "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.6", + "depth": 0, + "source": "registry", + "dependencies": { + "com.unity.ugui": "1.0.0" + }, + "url": "https://packages.unity.com" + }, + "com.unity.timeline": { + "version": "1.6.4", + "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" + } + }, + "com.unity.visualscripting": { + "version": "1.8.0", + "depth": 0, + "source": "registry", + "dependencies": { + "com.unity.ugui": "1.0.0", + "com.unity.modules.jsonserialize": "1.0.0" + }, + "url": "https://packages.unity.com" + }, + "com.unity.xr.arfoundation": { + "version": "4.2.7", + "depth": 1, + "source": "registry", + "dependencies": { + "com.unity.xr.arsubsystems": "4.2.7", + "com.unity.xr.management": "4.0.1", + "com.unity.modules.particlesystem": "1.0.0" + }, + "url": "https://packages.unity.com" + }, + "com.unity.xr.arsubsystems": { + "version": "4.2.7", + "depth": 2, + "source": "registry", + "dependencies": { + "com.unity.subsystemregistration": "1.1.0", + "com.unity.xr.management": "4.0.1" + }, + "url": "https://packages.unity.com" + }, + "com.unity.xr.core-utils": { + "version": "2.2.0", + "depth": 1, + "source": "registry", + "dependencies": { + "com.unity.modules.xr": "1.0.0" + }, + "url": "https://packages.unity.com" + }, + "com.unity.xr.interaction.toolkit": { + "version": "2.3.1", + "depth": 0, + "source": "registry", + "dependencies": { + "com.unity.inputsystem": "1.4.4", + "com.unity.mathematics": "1.2.6", + "com.unity.ugui": "1.0.0", + "com.unity.xr.core-utils": "2.2.0", + "com.unity.xr.legacyinputhelpers": "2.1.10", + "com.unity.modules.audio": "1.0.0", + "com.unity.modules.imgui": "1.0.0", + "com.unity.modules.physics": "1.0.0" + }, + "url": "https://packages.unity.com" + }, + "com.unity.xr.legacyinputhelpers": { + "version": "2.1.10", + "depth": 1, + "source": "registry", + "dependencies": { + "com.unity.modules.vr": "1.0.0", + "com.unity.modules.xr": "1.0.0" + }, + "url": "https://packages.unity.com" + }, + "com.unity.xr.management": { + "version": "4.3.3", + "depth": 1, + "source": "registry", + "dependencies": { + "com.unity.modules.subsystems": "1.0.0", + "com.unity.modules.vr": "1.0.0", + "com.unity.modules.xr": "1.0.0", + "com.unity.xr.legacyinputhelpers": "2.1.7" + }, + "url": "https://packages.unity.com" + }, + "com.unity.xr.openxr": { + "version": "1.7.0", + "depth": 0, + "source": "registry", + "dependencies": { + "com.unity.xr.management": "4.0.1", + "com.unity.xr.legacyinputhelpers": "2.1.2", + "com.unity.inputsystem": "1.4.4" + }, + "url": "https://packages.unity.com" + }, + "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/GettingStartedGuides/HoloLens2_GettingStarted/HoloLens2GetStartedApp/ProjectSettings/AudioManager.asset b/GettingStartedGuides/HoloLens2_GettingStarted/HoloLens2GetStartedApp/ProjectSettings/AudioManager.asset new file mode 100644 index 00000000..07ebfb05 --- /dev/null +++ b/GettingStartedGuides/HoloLens2_GettingStarted/HoloLens2GetStartedApp/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/GettingStartedGuides/HoloLens2_GettingStarted/HoloLens2GetStartedApp/ProjectSettings/ClusterInputManager.asset b/GettingStartedGuides/HoloLens2_GettingStarted/HoloLens2GetStartedApp/ProjectSettings/ClusterInputManager.asset new file mode 100644 index 00000000..e7886b26 --- /dev/null +++ b/GettingStartedGuides/HoloLens2_GettingStarted/HoloLens2GetStartedApp/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/GettingStartedGuides/HoloLens2_GettingStarted/HoloLens2GetStartedApp/ProjectSettings/DynamicsManager.asset b/GettingStartedGuides/HoloLens2_GettingStarted/HoloLens2GetStartedApp/ProjectSettings/DynamicsManager.asset new file mode 100644 index 00000000..cdc1f3ea --- /dev/null +++ b/GettingStartedGuides/HoloLens2_GettingStarted/HoloLens2GetStartedApp/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/GettingStartedGuides/HoloLens2_GettingStarted/HoloLens2GetStartedApp/ProjectSettings/EditorBuildSettings.asset b/GettingStartedGuides/HoloLens2_GettingStarted/HoloLens2GetStartedApp/ProjectSettings/EditorBuildSettings.asset new file mode 100644 index 00000000..ccce9056 --- /dev/null +++ b/GettingStartedGuides/HoloLens2_GettingStarted/HoloLens2GetStartedApp/ProjectSettings/EditorBuildSettings.asset @@ -0,0 +1,13 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1045 &1 +EditorBuildSettings: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Scenes: + - enabled: 1 + path: Assets/Scenes/SampleScene.unity + guid: 9fc0d4010bbf28b4594072e72b8655ab + m_configObjects: + com.unity.xr.management.loader_settings: {fileID: 11400000, guid: 25312d4015a310f499767577dc2d8b23, type: 2} + com.unity.xr.openxr.settings4: {fileID: 11400000, guid: 541a1cf0c39d86043af97cfb801628fd, type: 2} diff --git a/GettingStartedGuides/HoloLens2_GettingStarted/HoloLens2GetStartedApp/ProjectSettings/EditorSettings.asset b/GettingStartedGuides/HoloLens2_GettingStarted/HoloLens2GetStartedApp/ProjectSettings/EditorSettings.asset new file mode 100644 index 00000000..1e44a0a1 --- /dev/null +++ b/GettingStartedGuides/HoloLens2_GettingStarted/HoloLens2GetStartedApp/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 diff --git a/GettingStartedGuides/HoloLens2_GettingStarted/HoloLens2GetStartedApp/ProjectSettings/GraphicsSettings.asset b/GettingStartedGuides/HoloLens2_GettingStarted/HoloLens2GetStartedApp/ProjectSettings/GraphicsSettings.asset new file mode 100644 index 00000000..43369e3c --- /dev/null +++ b/GettingStartedGuides/HoloLens2_GettingStarted/HoloLens2GetStartedApp/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/GettingStartedGuides/HoloLens2_GettingStarted/HoloLens2GetStartedApp/ProjectSettings/InputManager.asset b/GettingStartedGuides/HoloLens2_GettingStarted/HoloLens2GetStartedApp/ProjectSettings/InputManager.asset new file mode 100644 index 00000000..7a28a619 --- /dev/null +++ b/GettingStartedGuides/HoloLens2_GettingStarted/HoloLens2GetStartedApp/ProjectSettings/InputManager.asset @@ -0,0 +1,776 @@ +%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 + - serializedVersion: 3 + m_Name: AXIS_1 + 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: AXIS_2 + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: + altNegativeButton: + altPositiveButton: + gravity: 0 + dead: 0.19 + sensitivity: 1 + snap: 0 + invert: 0 + type: 2 + axis: 1 + joyNum: 0 + - serializedVersion: 3 + m_Name: AXIS_3 + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: + altNegativeButton: + altPositiveButton: + gravity: 0 + dead: 0.19 + sensitivity: 1 + snap: 0 + invert: 0 + type: 2 + axis: 2 + joyNum: 0 + - serializedVersion: 3 + m_Name: AXIS_4 + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: + altNegativeButton: + altPositiveButton: + gravity: 0 + dead: 0.19 + sensitivity: 1 + snap: 0 + invert: 0 + type: 2 + axis: 3 + joyNum: 0 + - serializedVersion: 3 + m_Name: AXIS_5 + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: + altNegativeButton: + altPositiveButton: + gravity: 0 + dead: 0.19 + sensitivity: 1 + snap: 0 + invert: 0 + type: 2 + axis: 4 + joyNum: 0 + - serializedVersion: 3 + m_Name: AXIS_6 + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: + altNegativeButton: + altPositiveButton: + gravity: 0 + dead: 0.19 + sensitivity: 1 + snap: 0 + invert: 0 + type: 2 + axis: 5 + joyNum: 0 + - serializedVersion: 3 + m_Name: AXIS_7 + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: + altNegativeButton: + altPositiveButton: + gravity: 0 + dead: 0.19 + sensitivity: 1 + snap: 0 + invert: 0 + type: 2 + axis: 6 + joyNum: 0 + - serializedVersion: 3 + m_Name: AXIS_8 + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: + altNegativeButton: + altPositiveButton: + gravity: 0 + dead: 0.19 + sensitivity: 1 + snap: 0 + invert: 0 + type: 2 + axis: 7 + joyNum: 0 + - serializedVersion: 3 + m_Name: AXIS_9 + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: + altNegativeButton: + altPositiveButton: + gravity: 0 + dead: 0.19 + sensitivity: 1 + snap: 0 + invert: 0 + type: 2 + axis: 8 + joyNum: 0 + - serializedVersion: 3 + m_Name: AXIS_10 + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: + altNegativeButton: + altPositiveButton: + gravity: 0 + dead: 0.19 + sensitivity: 1 + snap: 0 + invert: 0 + type: 2 + axis: 9 + joyNum: 0 + - serializedVersion: 3 + m_Name: AXIS_11 + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: + altNegativeButton: + altPositiveButton: + gravity: 0 + dead: 0.19 + sensitivity: 1 + snap: 0 + invert: 0 + type: 2 + axis: 10 + joyNum: 0 + - serializedVersion: 3 + m_Name: AXIS_12 + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: + altNegativeButton: + altPositiveButton: + gravity: 0 + dead: 0.19 + sensitivity: 1 + snap: 0 + invert: 0 + type: 2 + axis: 11 + joyNum: 0 + - serializedVersion: 3 + m_Name: AXIS_13 + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: + altNegativeButton: + altPositiveButton: + gravity: 0 + dead: 0.19 + sensitivity: 1 + snap: 0 + invert: 0 + type: 2 + axis: 12 + joyNum: 0 + - serializedVersion: 3 + m_Name: AXIS_14 + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: + altNegativeButton: + altPositiveButton: + gravity: 0 + dead: 0.19 + sensitivity: 1 + snap: 0 + invert: 0 + type: 2 + axis: 13 + joyNum: 0 + - serializedVersion: 3 + m_Name: AXIS_15 + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: + altNegativeButton: + altPositiveButton: + gravity: 0 + dead: 0.19 + sensitivity: 1 + snap: 0 + invert: 0 + type: 2 + axis: 14 + joyNum: 0 + - serializedVersion: 3 + m_Name: AXIS_16 + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: + altNegativeButton: + altPositiveButton: + gravity: 0 + dead: 0.19 + sensitivity: 1 + snap: 0 + invert: 0 + type: 2 + axis: 15 + joyNum: 0 + - serializedVersion: 3 + m_Name: AXIS_17 + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: + altNegativeButton: + altPositiveButton: + gravity: 0 + dead: 0.19 + sensitivity: 1 + snap: 0 + invert: 0 + type: 2 + axis: 16 + joyNum: 0 + - serializedVersion: 3 + m_Name: AXIS_18 + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: + altNegativeButton: + altPositiveButton: + gravity: 0 + dead: 0.19 + sensitivity: 1 + snap: 0 + invert: 0 + type: 2 + axis: 17 + joyNum: 0 + - serializedVersion: 3 + m_Name: AXIS_19 + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: + altNegativeButton: + altPositiveButton: + gravity: 0 + dead: 0.19 + sensitivity: 1 + snap: 0 + invert: 0 + type: 2 + axis: 18 + joyNum: 0 + - serializedVersion: 3 + m_Name: AXIS_20 + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: + altNegativeButton: + altPositiveButton: + gravity: 0 + dead: 0.19 + sensitivity: 1 + snap: 0 + invert: 0 + type: 2 + axis: 19 + joyNum: 0 + - serializedVersion: 3 + m_Name: AXIS_21 + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: + altNegativeButton: + altPositiveButton: + gravity: 0 + dead: 0.19 + sensitivity: 1 + snap: 0 + invert: 0 + type: 2 + axis: 20 + joyNum: 0 + - serializedVersion: 3 + m_Name: AXIS_22 + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: + altNegativeButton: + altPositiveButton: + gravity: 0 + dead: 0.19 + sensitivity: 1 + snap: 0 + invert: 0 + type: 2 + axis: 21 + joyNum: 0 + - serializedVersion: 3 + m_Name: AXIS_23 + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: + altNegativeButton: + altPositiveButton: + gravity: 0 + dead: 0.19 + sensitivity: 1 + snap: 0 + invert: 0 + type: 2 + axis: 22 + joyNum: 0 + - serializedVersion: 3 + m_Name: AXIS_24 + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: + altNegativeButton: + altPositiveButton: + gravity: 0 + dead: 0.19 + sensitivity: 1 + snap: 0 + invert: 0 + type: 2 + axis: 23 + joyNum: 0 + - serializedVersion: 3 + m_Name: AXIS_25 + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: + altNegativeButton: + altPositiveButton: + gravity: 0 + dead: 0.19 + sensitivity: 1 + snap: 0 + invert: 0 + type: 2 + axis: 24 + joyNum: 0 + - serializedVersion: 3 + m_Name: AXIS_26 + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: + altNegativeButton: + altPositiveButton: + gravity: 0 + dead: 0.19 + sensitivity: 1 + snap: 0 + invert: 0 + type: 2 + axis: 25 + joyNum: 0 + - serializedVersion: 3 + m_Name: AXIS_27 + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: + altNegativeButton: + altPositiveButton: + gravity: 0 + dead: 0.19 + sensitivity: 1 + snap: 0 + invert: 0 + type: 2 + axis: 26 + joyNum: 0 + - serializedVersion: 3 + m_Name: AXIS_28 + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: + altNegativeButton: + altPositiveButton: + gravity: 0 + dead: 0.19 + sensitivity: 1 + snap: 0 + invert: 0 + type: 2 + axis: 27 + joyNum: 0 + - serializedVersion: 3 + m_Name: UpDown + descriptiveName: + descriptiveNegativeName: + negativeButton: q + positiveButton: e + altNegativeButton: + altPositiveButton: + gravity: 3 + dead: 0.001 + sensitivity: 3 + snap: 1 + invert: 0 + type: 0 + axis: -1 + joyNum: 0 + - serializedVersion: 3 + m_Name: UpDown + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: + altNegativeButton: + altPositiveButton: + gravity: 0 + dead: 0.19 + sensitivity: 1 + snap: 0 + invert: 0 + type: 2 + axis: 2 + joyNum: 0 + m_UsePhysicalKeys: 0 diff --git a/GettingStartedGuides/HoloLens2_GettingStarted/HoloLens2GetStartedApp/ProjectSettings/MemorySettings.asset b/GettingStartedGuides/HoloLens2_GettingStarted/HoloLens2GetStartedApp/ProjectSettings/MemorySettings.asset new file mode 100644 index 00000000..5b5facec --- /dev/null +++ b/GettingStartedGuides/HoloLens2_GettingStarted/HoloLens2GetStartedApp/ProjectSettings/MemorySettings.asset @@ -0,0 +1,35 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!387306366 &1 +MemorySettings: + m_ObjectHideFlags: 0 + m_EditorMemorySettings: + m_MainAllocatorBlockSize: -1 + m_ThreadAllocatorBlockSize: -1 + m_MainGfxBlockSize: -1 + m_ThreadGfxBlockSize: -1 + m_CacheBlockSize: -1 + m_TypetreeBlockSize: -1 + m_ProfilerBlockSize: -1 + m_ProfilerEditorBlockSize: -1 + m_BucketAllocatorGranularity: -1 + m_BucketAllocatorBucketsCount: -1 + m_BucketAllocatorBlockSize: -1 + m_BucketAllocatorBlockCount: -1 + m_ProfilerBucketAllocatorGranularity: -1 + m_ProfilerBucketAllocatorBucketsCount: -1 + m_ProfilerBucketAllocatorBlockSize: -1 + m_ProfilerBucketAllocatorBlockCount: -1 + m_TempAllocatorSizeMain: -1 + m_JobTempAllocatorBlockSize: -1 + m_BackgroundJobTempAllocatorBlockSize: -1 + m_JobTempAllocatorReducedBlockSize: -1 + m_TempAllocatorSizeGIBakingWorker: -1 + m_TempAllocatorSizeNavMeshWorker: -1 + m_TempAllocatorSizeAudioWorker: -1 + m_TempAllocatorSizeCloudWorker: -1 + m_TempAllocatorSizeGfx: -1 + m_TempAllocatorSizeJobWorker: -1 + m_TempAllocatorSizeBackgroundWorker: -1 + m_TempAllocatorSizePreloadManager: -1 + m_PlatformMemorySettings: {} diff --git a/GettingStartedGuides/HoloLens2_GettingStarted/HoloLens2GetStartedApp/ProjectSettings/NavMeshAreas.asset b/GettingStartedGuides/HoloLens2_GettingStarted/HoloLens2GetStartedApp/ProjectSettings/NavMeshAreas.asset new file mode 100644 index 00000000..3b0b7c3d --- /dev/null +++ b/GettingStartedGuides/HoloLens2_GettingStarted/HoloLens2GetStartedApp/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/GettingStartedGuides/HoloLens2_GettingStarted/HoloLens2GetStartedApp/ProjectSettings/PackageManagerSettings.asset b/GettingStartedGuides/HoloLens2_GettingStarted/HoloLens2GetStartedApp/ProjectSettings/PackageManagerSettings.asset new file mode 100644 index 00000000..112a053b --- /dev/null +++ b/GettingStartedGuides/HoloLens2_GettingStarted/HoloLens2GetStartedApp/ProjectSettings/PackageManagerSettings.asset @@ -0,0 +1,35 @@ +%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_EnablePreReleasePackages: 0 + m_EnablePackageDependencies: 0 + m_AdvancedSettingsExpanded: 1 + m_ScopedRegistriesSettingsExpanded: 1 + m_SeeAllPackageVersions: 0 + 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_Modified: 0 + m_ErrorMessage: + m_UserModificationsInstanceId: -830 + m_OriginalInstanceId: -832 + m_LoadAssets: 0 diff --git a/GettingStartedGuides/HoloLens2_GettingStarted/HoloLens2GetStartedApp/ProjectSettings/Physics2DSettings.asset b/GettingStartedGuides/HoloLens2_GettingStarted/HoloLens2GetStartedApp/ProjectSettings/Physics2DSettings.asset new file mode 100644 index 00000000..47880b1c --- /dev/null +++ b/GettingStartedGuides/HoloLens2_GettingStarted/HoloLens2GetStartedApp/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/GettingStartedGuides/HoloLens2_GettingStarted/HoloLens2GetStartedApp/ProjectSettings/PresetManager.asset b/GettingStartedGuides/HoloLens2_GettingStarted/HoloLens2GetStartedApp/ProjectSettings/PresetManager.asset new file mode 100644 index 00000000..67a94dae --- /dev/null +++ b/GettingStartedGuides/HoloLens2_GettingStarted/HoloLens2GetStartedApp/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/GettingStartedGuides/HoloLens2_GettingStarted/HoloLens2GetStartedApp/ProjectSettings/ProjectSettings.asset b/GettingStartedGuides/HoloLens2_GettingStarted/HoloLens2GetStartedApp/ProjectSettings/ProjectSettings.asset new file mode 100644 index 00000000..32048859 --- /dev/null +++ b/GettingStartedGuides/HoloLens2_GettingStarted/HoloLens2GetStartedApp/ProjectSettings/ProjectSettings.asset @@ -0,0 +1,737 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!129 &1 +PlayerSettings: + m_ObjectHideFlags: 0 + serializedVersion: 24 + productGUID: 5644c80d498d50e4e9f702e2639c32a1 + AndroidProfiler: 0 + AndroidFilterTouchesWhenObscured: 0 + AndroidEnableSustainedPerformanceMode: 0 + defaultScreenOrientation: 4 + targetDevice: 2 + useOnDemandResources: 0 + accelerometerFrequency: 60 + companyName: Microsoft + productName: WebView2HoloLensSample + 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: 1920 + defaultScreenHeight: 1080 + defaultScreenWidthWeb: 960 + defaultScreenHeightWeb: 600 + m_StereoRenderingPath: 2 + m_ActiveColorSpace: 1 + 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 + androidResizableWindow: 0 + androidDefaultWindowWidth: 1920 + androidDefaultWindowHeight: 1080 + androidMinimumWindowWidth: 400 + androidMinimumWindowHeight: 300 + androidFullscreenMode: 1 + defaultIsNativeResolution: 1 + macRetinaSupport: 1 + runInBackground: 0 + 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: 1 + vulkanEnableLateAcquireNextImage: 0 + vulkanEnableCommandBufferRecycling: 1 + m_SupportedAspectRatios: + 4:3: 1 + 5:4: 1 + 16:10: 1 + 16:9: 1 + Others: 1 + bundleVersion: 0.1 + preloadedAssets: + - {fileID: -5444848369939482447, guid: 25312d4015a310f499767577dc2d8b23, type: 2} + - {fileID: -5281385832365046672, guid: 541a1cf0c39d86043af97cfb801628fd, type: 2} + metroInputSource: 0 + wsaTransparentSwapchain: 0 + m_HolographicPauseOnTrackingLoss: 1 + xboxOneDisableKinectGpuReservation: 1 + xboxOneEnable7thCore: 1 + vrSettings: + enable360StereoCapture: 0 + isWsaHolographicRemotingEnabled: 0 + enableFrameTimingStats: 0 + enableOpenGLProfilerGPURecorders: 1 + useHDRDisplay: 0 + D3DHDRBitDepth: 0 + m_ColorGamuts: 00000000 + targetPixelDensity: 30 + resolutionScalingMode: 0 + resetResolutionOnWindowResize: 0 + androidSupportedAspectRatio: 1 + androidMaxAspectRatio: 2.1 + applicationIdentifier: {} + buildNumber: + Standalone: 0 + iPhone: 0 + tvOS: 0 + overrideDefaultApplicationIdentifier: 0 + AndroidBundleVersionCode: 1 + AndroidMinSdkVersion: 22 + 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: 12.0 + tvOSSdkVersion: 0 + tvOSRequireExtendedGameController: 0 + tvOSTargetOSVersionString: 12.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: [] + macOSURLSchemes: [] + 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@8.1.3 + templateDefaultScene: Assets/Scenes/SampleScene.unity + useCustomMainManifest: 0 + useCustomLauncherManifest: 0 + useCustomMainGradleTemplate: 0 + useCustomLauncherGradleManifest: 0 + useCustomBaseGradleTemplate: 0 + useCustomGradlePropertiesTemplate: 0 + useCustomProguardFile: 0 + AndroidTargetArchitectures: 1 + AndroidTargetDevices: 0 + 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 + chromeosInputEmulation: 1 + 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_BuildTargetShaderSettings: [] + m_BuildTargetGraphicsJobs: + - m_BuildTarget: MacStandaloneSupport + m_GraphicsJobs: 0 + - m_BuildTarget: Switch + m_GraphicsJobs: 1 + - m_BuildTarget: MetroSupport + m_GraphicsJobs: 0 + - 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: 0b00000008000000 + 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 + m_DefaultShaderChunkSizeInMB: 16 + m_DefaultShaderChunkCount: 0 + openGLRequireES31: 0 + openGLRequireES31AEP: 0 + openGLRequireES32: 0 + m_TemplateCustomTags: {} + mobileMTRendering: + Android: 1 + iPhone: 1 + tvOS: 1 + m_BuildTargetGroupLightmapEncodingQuality: + - m_BuildTarget: Android + m_EncodingQuality: 1 + - m_BuildTarget: iPhone + m_EncodingQuality: 1 + - m_BuildTarget: tvOS + m_EncodingQuality: 1 + m_BuildTargetGroupLightmapSettings: [] + m_BuildTargetNormalMapEncoding: + - m_BuildTarget: Android + m_Encoding: 1 + - m_BuildTarget: iPhone + m_Encoding: 1 + - m_BuildTarget: tvOS + m_Encoding: 1 + m_BuildTargetDefaultTextureCompressionFormat: [] + playModeTestRunnerEnabled: 0 + runPlayModeTestAsEditModeTest: 0 + actionOnDotNetUnhandledException: 1 + enableInternalProfiler: 0 + logObjCUncaughtExceptions: 1 + enableCrashReportAPI: 0 + cameraUsageDescription: + locationUsageDescription: + microphoneUsageDescription: + bluetoothUsageDescription: + switchNMETAOverride: + switchNetLibKey: + switchSocketMemoryPoolSize: 6144 + switchSocketAllocatorPoolSize: 128 + switchSocketConcurrencyLimit: 14 + switchScreenResolutionBehavior: 2 + switchUseCPUProfiler: 0 + switchUseGOLDLinker: 0 + switchLTOSetting: 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 + 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 + switchEnableTouchScreen: 1 + switchSocketConfigEnabled: 0 + switchTcpInitialSendBufferSize: 32 + switchTcpInitialReceiveBufferSize: 64 + switchTcpAutoSendBufferSizeMax: 256 + switchTcpAutoReceiveBufferSizeMax: 256 + switchUdpSendBufferSize: 9 + switchUdpReceiveBufferSize: 42 + switchSocketBufferEfficiency: 4 + switchSocketInitializeEnabled: 1 + switchNetworkInterfaceManagerInitializeEnabled: 1 + switchPlayerConnectionEnabled: 1 + switchUseNewStyleFilepaths: 0 + switchUseLegacyFmodPriorities: 1 + switchUseMicroSleepForYield: 1 + switchEnableRamDiskSupport: 0 + switchMicroSleepForYieldTime: 25 + switchRamDiskSpaceSize: 12 + 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 + ps4AllowPS5Detection: 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 + webGLPowerPreference: 2 + scriptingDefineSymbols: {} + additionalCompilerArguments: {} + platformArchitecture: {} + scriptingBackend: {} + il2cppCompilerConfiguration: {} + managedStrippingLevel: + EmbeddedLinux: 1 + GameCoreScarlett: 1 + GameCoreXboxOne: 1 + Lumin: 1 + Nintendo Switch: 1 + PS4: 1 + PS5: 1 + Stadia: 1 + WebGL: 1 + Windows Store Apps: 1 + XboxOne: 1 + iPhone: 1 + tvOS: 1 + incrementalIl2cppBuild: {} + suppressCommonWarnings: 1 + allowUnsafeCode: 0 + useDeterministicCompilation: 1 + enableRoslynAnalyzers: 1 + selectedPlatform: 0 + additionalIl2CppArgs: + scriptingRuntimeVersion: 1 + gcIncremental: 1 + assemblyVersionValidation: 1 + gcWBarrierValidation: 0 + apiCompatibilityLevelPerPlatform: {} + m_RenderingPath: 1 + m_MobileRenderingPath: 1 + metroPackageName: WebView2HoloLensSample + metroPackageVersion: 1.0.0.0 + metroCertificatePath: Assets/WSATestCertificate.pfx + metroCertificatePassword: + metroCertificateSubject: Microsoft + metroCertificateIssuer: Microsoft + metroCertificateNotAfter: 0058b1b2ed9cda01 + metroApplicationDescription: WebView2_Hololens_Sample + wsaImages: {} + metroTileShortName: MRTKAdaptiveCards2InclusionTest + 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: + WindowsStoreApps: + GazeInput: True + SpatialPerception: True + InternetClient: True + WebCam: True + Microphone: True + metroTargetDeviceFamilies: {} + metroFTAName: + metroFTAFileTypes: [] + metroProtocolName: + vcxProjDefaultLanguage: + 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: 2 + windowsGamepadBackendHint: 0 + cloudProjectId: + framebufferDepthMemorylessMode: 0 + qualitySettingsNames: [] + projectName: + organizationId: + cloudEnabled: 0 + legacyClampBlendShapeWeights: 0 + playerDataPath: + forceSRGBBlit: 1 + virtualTexturingSupportEnabled: 0 diff --git a/GettingStartedGuides/HoloLens2_GettingStarted/HoloLens2GetStartedApp/ProjectSettings/ProjectVersion.txt b/GettingStartedGuides/HoloLens2_GettingStarted/HoloLens2GetStartedApp/ProjectSettings/ProjectVersion.txt new file mode 100644 index 00000000..6c676f05 --- /dev/null +++ b/GettingStartedGuides/HoloLens2_GettingStarted/HoloLens2GetStartedApp/ProjectSettings/ProjectVersion.txt @@ -0,0 +1,2 @@ +m_EditorVersion: 2021.3.24f1 +m_EditorVersionWithRevision: 2021.3.24f1 (cf10dcf7010d) diff --git a/GettingStartedGuides/HoloLens2_GettingStarted/HoloLens2GetStartedApp/ProjectSettings/QualitySettings.asset b/GettingStartedGuides/HoloLens2_GettingStarted/HoloLens2GetStartedApp/ProjectSettings/QualitySettings.asset new file mode 100644 index 00000000..0a4842b2 --- /dev/null +++ b/GettingStartedGuides/HoloLens2_GettingStarted/HoloLens2GetStartedApp/ProjectSettings/QualitySettings.asset @@ -0,0 +1,240 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!47 &1 +QualitySettings: + m_ObjectHideFlags: 0 + serializedVersion: 5 + m_CurrentQuality: 0 + 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 + skinWeights: 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 + customRenderPipeline: {fileID: 0} + 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 + skinWeights: 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 + customRenderPipeline: {fileID: 0} + 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 + skinWeights: 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 + customRenderPipeline: {fileID: 0} + 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 + skinWeights: 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 + customRenderPipeline: {fileID: 0} + 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 + skinWeights: 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 + customRenderPipeline: {fileID: 0} + 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 + skinWeights: 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 + customRenderPipeline: {fileID: 0} + excludedTargetPlatforms: [] + m_PerPlatformDefaultQuality: + Android: 2 + GameCoreScarlett: 5 + GameCoreXboxOne: 5 + Lumin: 5 + Nintendo 3DS: 5 + Nintendo Switch: 5 + PS4: 5 + PS5: 5 + Stadia: 5 + Standalone: 5 + WebGL: 3 + Windows Store Apps: 5 + XboxOne: 5 + iPhone: 2 + tvOS: 2 diff --git a/GettingStartedGuides/HoloLens2_GettingStarted/HoloLens2GetStartedApp/ProjectSettings/SceneTemplateSettings.json b/GettingStartedGuides/HoloLens2_GettingStarted/HoloLens2GetStartedApp/ProjectSettings/SceneTemplateSettings.json new file mode 100644 index 00000000..6f3e60fd --- /dev/null +++ b/GettingStartedGuides/HoloLens2_GettingStarted/HoloLens2GetStartedApp/ProjectSettings/SceneTemplateSettings.json @@ -0,0 +1,167 @@ +{ + "templatePinStates": [], + "dependencyTypeInfos": [ + { + "userAdded": false, + "type": "UnityEngine.AnimationClip", + "ignore": false, + "defaultInstantiationMode": 0, + "supportsModification": true + }, + { + "userAdded": false, + "type": "UnityEditor.Animations.AnimatorController", + "ignore": false, + "defaultInstantiationMode": 0, + "supportsModification": true + }, + { + "userAdded": false, + "type": "UnityEngine.AnimatorOverrideController", + "ignore": false, + "defaultInstantiationMode": 0, + "supportsModification": true + }, + { + "userAdded": false, + "type": "UnityEditor.Audio.AudioMixerController", + "ignore": false, + "defaultInstantiationMode": 0, + "supportsModification": true + }, + { + "userAdded": false, + "type": "UnityEngine.ComputeShader", + "ignore": true, + "defaultInstantiationMode": 1, + "supportsModification": true + }, + { + "userAdded": false, + "type": "UnityEngine.Cubemap", + "ignore": false, + "defaultInstantiationMode": 0, + "supportsModification": true + }, + { + "userAdded": false, + "type": "UnityEngine.GameObject", + "ignore": false, + "defaultInstantiationMode": 0, + "supportsModification": true + }, + { + "userAdded": false, + "type": "UnityEditor.LightingDataAsset", + "ignore": false, + "defaultInstantiationMode": 0, + "supportsModification": false + }, + { + "userAdded": false, + "type": "UnityEngine.LightingSettings", + "ignore": false, + "defaultInstantiationMode": 0, + "supportsModification": true + }, + { + "userAdded": false, + "type": "UnityEngine.Material", + "ignore": false, + "defaultInstantiationMode": 0, + "supportsModification": true + }, + { + "userAdded": false, + "type": "UnityEditor.MonoScript", + "ignore": true, + "defaultInstantiationMode": 1, + "supportsModification": true + }, + { + "userAdded": false, + "type": "UnityEngine.PhysicMaterial", + "ignore": false, + "defaultInstantiationMode": 0, + "supportsModification": true + }, + { + "userAdded": false, + "type": "UnityEngine.PhysicsMaterial2D", + "ignore": false, + "defaultInstantiationMode": 0, + "supportsModification": true + }, + { + "userAdded": false, + "type": "UnityEngine.Rendering.PostProcessing.PostProcessProfile", + "ignore": false, + "defaultInstantiationMode": 0, + "supportsModification": true + }, + { + "userAdded": false, + "type": "UnityEngine.Rendering.PostProcessing.PostProcessResources", + "ignore": false, + "defaultInstantiationMode": 0, + "supportsModification": true + }, + { + "userAdded": false, + "type": "UnityEngine.Rendering.VolumeProfile", + "ignore": false, + "defaultInstantiationMode": 0, + "supportsModification": true + }, + { + "userAdded": false, + "type": "UnityEditor.SceneAsset", + "ignore": false, + "defaultInstantiationMode": 0, + "supportsModification": false + }, + { + "userAdded": false, + "type": "UnityEngine.Shader", + "ignore": true, + "defaultInstantiationMode": 1, + "supportsModification": true + }, + { + "userAdded": false, + "type": "UnityEngine.ShaderVariantCollection", + "ignore": true, + "defaultInstantiationMode": 1, + "supportsModification": true + }, + { + "userAdded": false, + "type": "UnityEngine.Texture", + "ignore": false, + "defaultInstantiationMode": 0, + "supportsModification": true + }, + { + "userAdded": false, + "type": "UnityEngine.Texture2D", + "ignore": false, + "defaultInstantiationMode": 0, + "supportsModification": true + }, + { + "userAdded": false, + "type": "UnityEngine.Timeline.TimelineAsset", + "ignore": false, + "defaultInstantiationMode": 0, + "supportsModification": true + } + ], + "defaultDependencyTypeInfo": { + "userAdded": false, + "type": "", + "ignore": false, + "defaultInstantiationMode": 1, + "supportsModification": true + }, + "newSceneOverride": 0 +} \ No newline at end of file diff --git a/GettingStartedGuides/HoloLens2_GettingStarted/HoloLens2GetStartedApp/ProjectSettings/TagManager.asset b/GettingStartedGuides/HoloLens2_GettingStarted/HoloLens2GetStartedApp/ProjectSettings/TagManager.asset new file mode 100644 index 00000000..6c060c6f --- /dev/null +++ b/GettingStartedGuides/HoloLens2_GettingStarted/HoloLens2GetStartedApp/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 + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - Spatial Awareness + m_SortingLayers: + - name: Default + uniqueID: 0 + locked: 0 diff --git a/GettingStartedGuides/HoloLens2_GettingStarted/HoloLens2GetStartedApp/ProjectSettings/TimeManager.asset b/GettingStartedGuides/HoloLens2_GettingStarted/HoloLens2GetStartedApp/ProjectSettings/TimeManager.asset new file mode 100644 index 00000000..558a017e --- /dev/null +++ b/GettingStartedGuides/HoloLens2_GettingStarted/HoloLens2GetStartedApp/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/GettingStartedGuides/HoloLens2_GettingStarted/HoloLens2GetStartedApp/ProjectSettings/UnityConnectSettings.asset b/GettingStartedGuides/HoloLens2_GettingStarted/HoloLens2GetStartedApp/ProjectSettings/UnityConnectSettings.asset new file mode 100644 index 00000000..a88bee0f --- /dev/null +++ b/GettingStartedGuides/HoloLens2_GettingStarted/HoloLens2GetStartedApp/ProjectSettings/UnityConnectSettings.asset @@ -0,0 +1,36 @@ +%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 + m_PackageRequiringCoreStatsPresent: 0 + 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/GettingStartedGuides/HoloLens2_GettingStarted/HoloLens2GetStartedApp/ProjectSettings/VFXManager.asset b/GettingStartedGuides/HoloLens2_GettingStarted/HoloLens2GetStartedApp/ProjectSettings/VFXManager.asset new file mode 100644 index 00000000..3a95c98b --- /dev/null +++ b/GettingStartedGuides/HoloLens2_GettingStarted/HoloLens2GetStartedApp/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/GettingStartedGuides/HoloLens2_GettingStarted/HoloLens2GetStartedApp/ProjectSettings/VersionControlSettings.asset b/GettingStartedGuides/HoloLens2_GettingStarted/HoloLens2GetStartedApp/ProjectSettings/VersionControlSettings.asset new file mode 100644 index 00000000..dca28814 --- /dev/null +++ b/GettingStartedGuides/HoloLens2_GettingStarted/HoloLens2GetStartedApp/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/GettingStartedGuides/HoloLens2_GettingStarted/HoloLens2GetStartedApp/ProjectSettings/XRPackageSettings.asset b/GettingStartedGuides/HoloLens2_GettingStarted/HoloLens2GetStartedApp/ProjectSettings/XRPackageSettings.asset new file mode 100644 index 00000000..7e791e17 --- /dev/null +++ b/GettingStartedGuides/HoloLens2_GettingStarted/HoloLens2GetStartedApp/ProjectSettings/XRPackageSettings.asset @@ -0,0 +1,5 @@ +{ + "m_Settings": [ + "RemoveLegacyInputHelpersForReload" + ] +} \ No newline at end of file diff --git a/GettingStartedGuides/HoloLens2_GettingStarted/HoloLens2GetStartedApp/ProjectSettings/XRSettings.asset b/GettingStartedGuides/HoloLens2_GettingStarted/HoloLens2GetStartedApp/ProjectSettings/XRSettings.asset new file mode 100644 index 00000000..482590c1 --- /dev/null +++ b/GettingStartedGuides/HoloLens2_GettingStarted/HoloLens2GetStartedApp/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/GettingStartedGuides/HoloLens2_GettingStarted/HoloLens2GetStartedApp/ProjectSettings/boot.config b/GettingStartedGuides/HoloLens2_GettingStarted/HoloLens2GetStartedApp/ProjectSettings/boot.config new file mode 100644 index 00000000..e69de29b diff --git a/GettingStartedGuides/HoloLens2_GettingStarted/README.md b/GettingStartedGuides/HoloLens2_GettingStarted/README.md new file mode 100644 index 00000000..9abeedd2 --- /dev/null +++ b/GettingStartedGuides/HoloLens2_GettingStarted/README.md @@ -0,0 +1,28 @@ +--- +description: "Completed Unity project from the tutorial Get started with WebView2 in HoloLens 2 Unity apps." +languages: + - csharp +page_type: sample +products: + - microsoft-edge +urlFragment: HoloLens2_GettingStarted +--- +# Get started with WebView2 in HoloLens 2 Unity apps + +This sample, **HoloLens2_GettingStarted**, is the completed Unity project that results from following the steps in the tutorial [Get started with WebView2 in HoloLens 2 Unity apps](https://learn.microsoft.com/microsoft-edge/webview2/get-started/hololens2). + +![The running app from the finished HoloLens 2 tutorial](screenshots/hololens-getting-started-webview2.png) + + +Follow these steps to get started with this sample code. WebView2 is already included as a Unity package, but you will need to load it via the Mixed Reality Feature Tool. + +1. Clone this repository +2. Launch the Microsoft Mixed Reality Feature Tool + - Click **Start** + - Click the **...** button, navigate to the `HoloLens2GetStartedApp` folder, and select **Open** + - With the project path selected, click **Restore Features** to load the required packages for the Mixed Reality Toolkit and the WebView2 plugin package. +3. Close the Mixed Reality Feature Tool +4. Launch Unity Hub +5. In Unity Hub, click **Open**, navigate to the `HoloLens2GetStartedApp` folder, and select **Open**. This should open the project in the Unity Editor. +6. In the Unity Editor, find the SampleScene in the `Assets/Scenes` folder and double-click to load it. +7. Click the play button in the Unity Editor to quickly test the app. diff --git a/GettingStartedGuides/HoloLens2_GettingStarted/screenshots/hololens-getting-started-webview2.png b/GettingStartedGuides/HoloLens2_GettingStarted/screenshots/hololens-getting-started-webview2.png new file mode 100644 index 00000000..df16b60e Binary files /dev/null and b/GettingStartedGuides/HoloLens2_GettingStarted/screenshots/hololens-getting-started-webview2.png differ