From 223f3ba846e1848245bf498a0b5448e7d00ea8b7 Mon Sep 17 00:00:00 2001 From: Andy Baker Date: Sat, 9 Dec 2023 10:42:06 +0000 Subject: [PATCH] First stab at a passthrough brush [CI BUILD] --- Assets/Manifest_Experimental.asset | 2 + .../Resources/X/Brushes/PassthroughHull.meta | 8 ++ .../HullPrefabPassthrough.prefab | 103 +++++++++++++++ .../HullPrefabPassthrough.prefab.meta | 7 + .../PassthroughHull/PassthroughHull.asset | 90 +++++++++++++ .../PassthroughHull.asset.meta | 8 ++ .../PassthroughHull/PassthroughHull.mat | 98 ++++++++++++++ .../PassthroughHull/PassthroughHull.mat.meta | 8 ++ .../X/Brushes/PassthroughHull/buttonimage.png | Bin 0 -> 18263 bytes .../PassthroughHull/buttonimage.png.meta | 121 ++++++++++++++++++ Assets/Scripts/BrushCatalog.cs | 12 +- Assets/Scripts/VrSdk.cs | 3 + .../Strings/Strings Shared Data.asset | 4 + .../Localization/Strings/Strings_en.asset | 4 + Assets/Shaders/Passthrough.shader | 54 ++++++++ Assets/Shaders/Passthrough.shader.meta | 10 ++ 16 files changed, 527 insertions(+), 5 deletions(-) create mode 100644 Assets/Resources/X/Brushes/PassthroughHull.meta create mode 100644 Assets/Resources/X/Brushes/PassthroughHull/HullPrefabPassthrough.prefab create mode 100644 Assets/Resources/X/Brushes/PassthroughHull/HullPrefabPassthrough.prefab.meta create mode 100644 Assets/Resources/X/Brushes/PassthroughHull/PassthroughHull.asset create mode 100644 Assets/Resources/X/Brushes/PassthroughHull/PassthroughHull.asset.meta create mode 100644 Assets/Resources/X/Brushes/PassthroughHull/PassthroughHull.mat create mode 100644 Assets/Resources/X/Brushes/PassthroughHull/PassthroughHull.mat.meta create mode 100644 Assets/Resources/X/Brushes/PassthroughHull/buttonimage.png create mode 100644 Assets/Resources/X/Brushes/PassthroughHull/buttonimage.png.meta create mode 100644 Assets/Shaders/Passthrough.shader create mode 100644 Assets/Shaders/Passthrough.shader.meta diff --git a/Assets/Manifest_Experimental.asset b/Assets/Manifest_Experimental.asset index 96b5d8072e..ebaa10ad3c 100644 --- a/Assets/Manifest_Experimental.asset +++ b/Assets/Manifest_Experimental.asset @@ -66,6 +66,8 @@ MonoBehaviour: - {fileID: 11400000, guid: 2ac14128061517f47a61f3c85ce26dfa, type: 2} - {fileID: 11400000, guid: 95219c84db13d7c49b0bae92b5f8dc9c, type: 2} - {fileID: 11400000, guid: b9280b7e789abdd49bd5d85c5554afd3, type: 2} + - {fileID: 11400000, guid: d25091db0e878ba458b54227b23cad57, type: 2} Environments: - {fileID: 11400000, guid: c4b465a813a79c044874468d6e60f26c, type: 2} + Locales: [] CompatibilityBrushes: [] diff --git a/Assets/Resources/X/Brushes/PassthroughHull.meta b/Assets/Resources/X/Brushes/PassthroughHull.meta new file mode 100644 index 0000000000..15d4af7ade --- /dev/null +++ b/Assets/Resources/X/Brushes/PassthroughHull.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 20885a1974fccc44da64652851779c05 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/X/Brushes/PassthroughHull/HullPrefabPassthrough.prefab b/Assets/Resources/X/Brushes/PassthroughHull/HullPrefabPassthrough.prefab new file mode 100644 index 0000000000..113937090f --- /dev/null +++ b/Assets/Resources/X/Brushes/PassthroughHull/HullPrefabPassthrough.prefab @@ -0,0 +1,103 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &100000 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 400000} + - component: {fileID: 114000011676573980} + - component: {fileID: 2300000} + - component: {fileID: 3300000} + m_Layer: 0 + m_Name: HullPrefabPassthrough + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &400000 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 100000} + 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_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &114000011676573980 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 100000} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 05481b74b9f47ad45a3f71a4890c7f63, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Faceted: 0 + m_TrackInterior: 1 + m_KnotConversion: 2 + m_Simplification_PS: 0.001 + m_SimplifyMode: 0 +--- !u!23 &2300000 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 100000} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 0 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: ce8b2be5f7b63f344ae603ba6f4b4aec, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &3300000 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 100000} + m_Mesh: {fileID: 0} diff --git a/Assets/Resources/X/Brushes/PassthroughHull/HullPrefabPassthrough.prefab.meta b/Assets/Resources/X/Brushes/PassthroughHull/HullPrefabPassthrough.prefab.meta new file mode 100644 index 0000000000..46fbd278fa --- /dev/null +++ b/Assets/Resources/X/Brushes/PassthroughHull/HullPrefabPassthrough.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: f04947adf1f654f4081f1f32deb5f6d4 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/X/Brushes/PassthroughHull/PassthroughHull.asset b/Assets/Resources/X/Brushes/PassthroughHull/PassthroughHull.asset new file mode 100644 index 0000000000..c749f6bf5e --- /dev/null +++ b/Assets/Resources/X/Brushes/PassthroughHull/PassthroughHull.asset @@ -0,0 +1,90 @@ +%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: c71b2ac88638c5c41a0a0681f70d2512, type: 3} + m_Name: PassthroughHull + m_EditorClassIdentifier: + m_Guid: + m_storage: 355b3579-bf1d-4ff5-a200-704437fe684b + m_DurableName: PassthroughHull + m_CreationVersion: + m_ShaderVersion: 10.0 + m_BrushPrefab: {fileID: 100000, guid: f04947adf1f654f4081f1f32deb5f6d4, type: 3} + m_Tags: + - experimental + - hull + - passthrough + m_Nondeterministic: 0 + m_Supersedes: {fileID: 0} + m_LooksIdentical: 0 + m_ButtonTexture: {fileID: 2800000, guid: 3206c9396267b1b4784c2c545300582c, type: 3} + m_LocalizedDescription: + m_TableReference: + m_TableCollectionName: GUID:c84355079ab3f3e4f8f3812258805f86 + m_TableEntryReference: + m_KeyId: 176764812224364544 + m_Key: + m_FallbackState: 0 + m_WaitForCompletion: 0 + m_LocalVariables: [] + m_DescriptionExtra: + m_BrushAudioLayers: + - {fileID: 8300000, guid: 15b5f6d2886398349b2f6221289deef0, type: 3} + - {fileID: 8300000, guid: 7f3c17c51669e2d48b29fd4056b713a4, type: 3} + - {fileID: 8300000, guid: 80f7380fb57f05b49bf3407ca40404fd, type: 3} + m_BrushAudioBasePitch: 1 + m_BrushAudioMaxPitchShift: 0 + m_BrushAudioMaxVolume: 1 + m_BrushVolumeUpSpeed: 1.2 + m_BrushVolumeDownSpeed: 1.2 + m_VolumeVelocityRangeMultiplier: 1.5 + m_AudioReactive: 0 + m_ButtonAudio: {fileID: 0} + m_Material: {fileID: 2100000, guid: 87f1c57b7bd3e354eb92ac44189367ef, type: 2} + m_TextureAtlasV: 1 + m_TileRate: 0.01 + m_UseBloomSwatchOnColorPicker: 0 + m_BrushSizeRange: {x: 0.005, y: 1} + m_PressureSizeRange: {x: 0.1, y: 1} + m_SizeVariance: 0 + m_PreviewPressureSizeMin: 0.001 + m_Opacity: 1 + m_PressureOpacityRange: {x: 1, y: 1} + m_ColorLuminanceMin: 0 + m_ColorSaturationMax: 1 + m_ParticleSpeed: 0 + m_ParticleRate: 1 + m_ParticleInitialRotationRange: 0 + m_RandomizeAlpha: 0 + m_SprayRateMultiplier: 1 + m_RotationVariance: 360 + m_PositionVariance: 0 + m_SizeRatio: {x: 1, y: 1} + m_M11Compatibility: 1 + m_SolidMinLengthMeters_PS: 0.002 + m_TubeStoreRadiusInTexcoord0Z: 0 + m_RenderBackfaces: 0 + m_BackIsInvisible: 0 + m_BackfaceHueShift: 0 + m_BoundsPadding: 0 + m_PlayBackAtStrokeGranularity: 1 + m_BlendMode: 0 + m_EmissiveFactor: 0 + m_AllowExport: 1 + m_SupportsSimplification: 0 + m_HeadMinPoints: 1 + m_HeadPointStep: 1 + m_TailMinPoints: 1 + m_TailPointStep: 1 + m_MiddlePointStep: 0 + references: + version: 2 + RefIds: [] diff --git a/Assets/Resources/X/Brushes/PassthroughHull/PassthroughHull.asset.meta b/Assets/Resources/X/Brushes/PassthroughHull/PassthroughHull.asset.meta new file mode 100644 index 0000000000..11abfef360 --- /dev/null +++ b/Assets/Resources/X/Brushes/PassthroughHull/PassthroughHull.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: d25091db0e878ba458b54227b23cad57 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/X/Brushes/PassthroughHull/PassthroughHull.mat b/Assets/Resources/X/Brushes/PassthroughHull/PassthroughHull.mat new file mode 100644 index 0000000000..f6b1272b61 --- /dev/null +++ b/Assets/Resources/X/Brushes/PassthroughHull/PassthroughHull.mat @@ -0,0 +1,98 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 8 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: PassthroughHull + m_Shader: {fileID: 4800000, guid: 2e1da1285b95b584383074c95b23dc2e, type: 3} + m_ValidKeywords: [] + m_InvalidKeywords: + - _EMISSION + m_LightmapFlags: 1 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _Bottom: + m_Texture: {fileID: 2800000, guid: 36752f6114447a844a013406d30a3c29, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _BumpMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailAlbedoMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailMask: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailNormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _EmissionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MetallicGlossMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _OcclusionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ParallaxMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _Side: + m_Texture: {fileID: 2800000, guid: 31a0dba64c25fa442a02171bc2131ccc, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _Top: + m_Texture: {fileID: 2800000, guid: 36752f6114447a844a013406d30a3c29, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Ints: [] + m_Floats: + - _BottomScale: 0.3 + - _BumpScale: 1 + - _Cutoff: 0.5 + - _DetailNormalMapScale: 1 + - _DstBlend: 0 + - _GlossMapScale: 1 + - _Glossiness: 0.5 + - _GlossyReflections: 1 + - _Metallic: 0 + - _Mode: 0 + - _OcclusionStrength: 1 + - _Parallax: 0.02 + - _Shininess: 0.574 + - _SideScale: 5.21 + - _SmoothnessTextureChannel: 0 + - _SpecularHighlights: 1 + - _SrcBlend: 1 + - _TopScale: 0.3 + - _UVSec: 0 + - _ZWrite: 1 + m_Colors: + - _Color: {r: 1, g: 1, b: 1, a: 1} + - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} + - _SpecColor: {r: 0.29411763, g: 0.29411763, b: 0.29411763, a: 0} + m_BuildTextureStacks: [] diff --git a/Assets/Resources/X/Brushes/PassthroughHull/PassthroughHull.mat.meta b/Assets/Resources/X/Brushes/PassthroughHull/PassthroughHull.mat.meta new file mode 100644 index 0000000000..f5dc8426c9 --- /dev/null +++ b/Assets/Resources/X/Brushes/PassthroughHull/PassthroughHull.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: ce8b2be5f7b63f344ae603ba6f4b4aec +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 2100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/X/Brushes/PassthroughHull/buttonimage.png b/Assets/Resources/X/Brushes/PassthroughHull/buttonimage.png new file mode 100644 index 0000000000000000000000000000000000000000..823ccb8a31e0b9eec14947ebeeaf9968d9c1982d GIT binary patch literal 18263 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 h&iLikwc@h` includeTags = App.UserConfig.Brushes.IncludeTags.ToList(); + List excludeTags = App.UserConfig.Brushes.ExcludeTags.ToList(); - Dictionary test = App.UserConfig.Brushes.AddTagsToBrushes; - - if (includeTags == null) + if (includeTags.Count == 0) { Debug.LogError("There will be no brushes because there are no 'include' tags."); } + #if PASSTHROUGH_SUPPORTED + excludeTags.Add("passthrough"); + #endif + // Filter m_GuiBrushList down to those that are both 'included' and not 'excluded' Brush[] filteredList = m_GuiBrushList.Where((brush) => { diff --git a/Assets/Scripts/VrSdk.cs b/Assets/Scripts/VrSdk.cs index 5aad078aba..294a20b13a 100644 --- a/Assets/Scripts/VrSdk.cs +++ b/Assets/Scripts/VrSdk.cs @@ -195,6 +195,9 @@ void Awake() { Oculus.Platform.Core.Initialize(appId); } +#if PASSTHROUGH_SUPPORTED + OVRManager.eyeFovPremultipliedAlphaModeEnabled = false; +#endif #endif // OCULUS_SUPPORTED diff --git a/Assets/Settings/Localization/Strings/Strings Shared Data.asset b/Assets/Settings/Localization/Strings/Strings Shared Data.asset index 89c2aa81ce..eb4e5b6b99 100644 --- a/Assets/Settings/Localization/Strings/Strings Shared Data.asset +++ b/Assets/Settings/Localization/Strings/Strings Shared Data.asset @@ -3279,6 +3279,10 @@ MonoBehaviour: m_Key: CONTROLLER_HINT_THUMBPAD_BRUSHSIZE m_Metadata: m_Items: [] + - m_Id: 176764812224364544 + m_Key: BRUSH_PASSTHROUGHHULL + m_Metadata: + m_Items: [] m_Metadata: m_Items: [] m_KeyGenerator: diff --git a/Assets/Settings/Localization/Strings/Strings_en.asset b/Assets/Settings/Localization/Strings/Strings_en.asset index 3ce0ae4026..99c2377066 100644 --- a/Assets/Settings/Localization/Strings/Strings_en.asset +++ b/Assets/Settings/Localization/Strings/Strings_en.asset @@ -3472,6 +3472,10 @@ MonoBehaviour: Brush Size' m_Metadata: m_Items: [] + - m_Id: 176764812224364544 + m_Localized: Passthrough Hull + m_Metadata: + m_Items: [] references: version: 2 RefIds: [] diff --git a/Assets/Shaders/Passthrough.shader b/Assets/Shaders/Passthrough.shader new file mode 100644 index 0000000000..59d164b555 --- /dev/null +++ b/Assets/Shaders/Passthrough.shader @@ -0,0 +1,54 @@ +Shader "Special/Passthrough" +{ + Properties + { + _MainTex ("Texture", 2D) = "white" {} + } + SubShader + { + Tags { "RenderType"="Opaque" } + LOD 100 + + Pass + { + BlendOp RevSub + Blend One Zero, Zero Zero + + CGPROGRAM + + #pragma vertex vert + #pragma fragment frag + + #include "UnityCG.cginc" + + struct appdata + { + float4 vertex : POSITION; + float2 uv : TEXCOORD0; + }; + + struct v2f + { + float2 uv : TEXCOORD0; + float4 vertex : SV_POSITION; + }; + + sampler2D _MainTex; + float4 _MainTex_ST; + + v2f vert (appdata v) + { + v2f o; + o.vertex = UnityObjectToClipPos(v.vertex); + o.uv = TRANSFORM_TEX(v.uv, _MainTex); + return o; + } + + fixed4 frag (v2f i) : SV_Target + { + return float4(0, 0, 0, 0); + } + ENDCG + } + } +} \ No newline at end of file diff --git a/Assets/Shaders/Passthrough.shader.meta b/Assets/Shaders/Passthrough.shader.meta new file mode 100644 index 0000000000..9401106440 --- /dev/null +++ b/Assets/Shaders/Passthrough.shader.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 2e1da1285b95b584383074c95b23dc2e +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + preprocessorOverride: 0 + userData: + assetBundleName: + assetBundleVariant: