From 267ac50603ee61ea01a26178a3ea86e444f650ed Mon Sep 17 00:00:00 2001 From: Marcel Wiessler Date: Mon, 23 Sep 2024 11:24:20 +0200 Subject: [PATCH] Shadetoy example scene --- .../FaceFilter.codegen/ShaderToyFaceFilter.cs | 3 +- .../FaceFilter~/src/examples/ShaderToy.ts | 17 +- ...Needle Face Filter Shadertoy Example.unity | 562 ++++++++++++++++++ ...e Face Filter Shadertoy Example.unity.meta | 7 + 4 files changed, 581 insertions(+), 8 deletions(-) create mode 100644 package/Runtime/Facefilter/Needle Face Filter Shadertoy Example.unity create mode 100644 package/Runtime/Facefilter/Needle Face Filter Shadertoy Example.unity.meta diff --git a/package/Runtime/Facefilter/FaceFilter.codegen/ShaderToyFaceFilter.cs b/package/Runtime/Facefilter/FaceFilter.codegen/ShaderToyFaceFilter.cs index 91a3dfcd..cadda98a 100644 --- a/package/Runtime/Facefilter/FaceFilter.codegen/ShaderToyFaceFilter.cs +++ b/package/Runtime/Facefilter/FaceFilter.codegen/ShaderToyFaceFilter.cs @@ -8,9 +8,10 @@ namespace Needle.Typescript.GeneratedComponents public partial class ShaderToyFaceFilter : Needle.Typescript.GeneratedComponents.FaceMeshBehaviour { public UnityEngine.Texture @mask; - public void update(){} + public void awake(){} public void OnEnable(){} public void OnDisable(){} + public void update(){} } } diff --git a/package/Runtime/Facefilter/FaceFilter~/src/examples/ShaderToy.ts b/package/Runtime/Facefilter/FaceFilter~/src/examples/ShaderToy.ts index 1d1b35dc..897c2277 100644 --- a/package/Runtime/Facefilter/FaceFilter~/src/examples/ShaderToy.ts +++ b/package/Runtime/Facefilter/FaceFilter~/src/examples/ShaderToy.ts @@ -1,4 +1,4 @@ -import { Behaviour, Context, getParam, makeIdFromRandomWords, serializable, setParam, setParamWithoutReload, showBalloonWarning, syncField } from "@needle-tools/engine"; +import { Behaviour, Context, getParam, makeIdFromRandomWords, serializable, setParam, setParamWithoutReload, showBalloonMessage, showBalloonWarning, syncField } from "@needle-tools/engine"; import { FaceMeshBehaviour } from "../facemesh/FaceMeshBehaviour"; import { Material, ShaderMaterial, ShaderMaterialParameters, Texture, Vector3, Vector4 } from "three"; @@ -121,12 +121,8 @@ export class ShaderToyFaceFilter extends FaceMeshBehaviour { } }) } - - update(): void { - const material = this.material as ShaderToyMaterial; - if (material) { - material.update(this) - } + awake() { + showBalloonMessage(`Copy paste shadertoy shaders (the whole code) to use as a face filter.
For example this one or this one or create your own.`); } onEnable(): void { super.onEnable(); @@ -148,6 +144,13 @@ export class ShaderToyFaceFilter extends FaceMeshBehaviour { } } + update(): void { + const material = this.material as ShaderToyMaterial; + if (material) { + material.update(this) + } + } + @syncField(ShaderToyFaceFilter.prototype.onShaderChanged) private _networkedShader: string | null = null; diff --git a/package/Runtime/Facefilter/Needle Face Filter Shadertoy Example.unity b/package/Runtime/Facefilter/Needle Face Filter Shadertoy Example.unity new file mode 100644 index 00000000..93766862 --- /dev/null +++ b/package/Runtime/Facefilter/Needle Face Filter Shadertoy Example.unity @@ -0,0 +1,562 @@ +%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.2830189, g: 0.2830189, b: 0.2830189, 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: 2100000, guid: 72feea222597bb04f87ee0846009bf6c, type: 2} + m_HaloStrength: 0.5 + m_FlareStrength: 1 + m_FlareFadeSpeed: 3 + m_HaloTexture: {fileID: 0} + m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0} + m_DefaultReflectionMode: 1 + m_DefaultReflectionResolution: 128 + m_ReflectionBounces: 1 + m_ReflectionIntensity: 1 + m_CustomReflection: {fileID: 8900000, guid: ee6535eea7974dc44bf7204aca0223da, type: 3} + m_Sun: {fileID: 0} + m_IndirectSpecularColor: {r: 0.74677277, g: 0.6931995, b: 0.58606195, 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: 512 + m_PVRBounces: 2 + m_PVREnvironmentSampleCount: 256 + m_PVREnvironmentReferencePointCount: 2048 + m_PVRFilteringMode: 1 + m_PVRDenoiserTypeDirect: 1 + m_PVRDenoiserTypeIndirect: 1 + m_PVRDenoiserTypeAO: 1 + m_PVRFilterTypeDirect: 0 + m_PVRFilterTypeIndirect: 0 + m_PVRFilterTypeAO: 0 + m_PVREnvironmentMIS: 1 + 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: 4890085278179872738, guid: 0ac50fafacacd6546b443712e3732c60, type: 2} +--- !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 &186278008 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 186278010} + - component: {fileID: 186278009} + - component: {fileID: 186278011} + m_Layer: 0 + m_Name: Shadertoy + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &186278009 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 186278008} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 791cb3849729d715dbd62568d4ce52e9, type: 3} + m_Name: + m_EditorClassIdentifier: Needle.Typescript.GeneratedComponents.FaceFilterRoot, + Needle.Engine-Samples.Runtime + overrideDefaultOccluder: 0 +--- !u!4 &186278010 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 186278008} + 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: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &186278011 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 186278008} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 473e8aa962036e2298c3784337857253, type: 3} + m_Name: + m_EditorClassIdentifier: Needle.Typescript.GeneratedComponents.ShaderToyFaceFilter, + Needle.Engine-Samples.Runtime + allowDrop: 1 + mask: {fileID: 2800000, guid: 654a21ed4f3ea5d4c8b60471f0198ca3, type: 3} +--- !u!1 &706762903 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 706762906} + - component: {fileID: 706762905} + - component: {fileID: 706762904} + - component: {fileID: 706762907} + - component: {fileID: 706762908} + m_Layer: 0 + m_Name: Camera + m_TagString: MainCamera + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!81 &706762904 +AudioListener: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 706762903} + m_Enabled: 1 +--- !u!20 &706762905 +Camera: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 706762903} + m_Enabled: 1 + serializedVersion: 2 + m_ClearFlags: 2 + m_BackGroundColor: {r: 0.4056604, g: 0.4056604, b: 0.4056604, 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: 100 + field of view: 60 + orthographic: 0 + orthographic size: 5 + m_Depth: 10 + 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 &706762906 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 706762903} + m_LocalRotation: {x: -0.011361758, y: -0.9780264, z: 0.20079692, w: -0.054917034} + m_LocalPosition: {x: -0.57766765, y: 3.0762982, z: 5.4967937} + m_LocalScale: {x: 1, y: 0.99999994, z: 1.0000004} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &706762907 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 706762903} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: e6c38416c1a949c1a024aacb22e308af, type: 3} + m_Name: + m_EditorClassIdentifier: Needle.Engine.Components.OrbitControls, Needle.Engine + $ GlobalObjectId_V1-2-d541a43e59ef6e94b8483da1bfc954ea-706762907-0 + autoTarget: 0 + autoFit: 0 + enableRotate: 1 + autoRotate: 0 + autoRotateSpeed: 0.3 + minPolarAngle: 0 + maxPolarAngle: 3.1415927 + minAzimuthAngle: Infinity + maxAzimuthAngle: Infinity + enableZoom: 1 + minZoom: 0 + maxZoom: 80 + zoomSpeed: 1 + zoomToCursor: 0 + enablePan: 1 + enableDamping: 1 + dampingFactor: 0.1 + targetLerpDuration: 1 + enableKeys: 1 + middleClickToFocus: 1 + doubleClickToFocus: 1 + clickBackgroundToFitScene: 2 + allowInterrupt: 1 + lookAtConstraint: {fileID: 0} +--- !u!114 &706762908 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 706762903} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: a79441f348de89743a2939f4d699eac1, type: 3} + m_Name: + m_EditorClassIdentifier: UnityEngine.Rendering.Universal.UniversalAdditionalCameraData, + Unity.RenderPipelines.Universal.Runtime $ GlobalObjectId_V1-2-d541a43e59ef6e94b8483da1bfc954ea-706762908-0 + m_RenderShadows: 1 + m_RequiresDepthTextureOption: 2 + m_RequiresOpaqueTextureOption: 2 + m_CameraType: 0 + m_Cameras: [] + m_RendererIndex: -1 + m_VolumeLayerMask: + serializedVersion: 2 + m_Bits: 1 + m_VolumeTrigger: {fileID: 0} + m_VolumeFrameworkUpdateModeOption: 2 + m_RenderPostProcessing: 0 + m_Antialiasing: 0 + m_AntialiasingQuality: 2 + m_StopNaN: 0 + m_Dithering: 0 + m_ClearDepth: 1 + m_AllowXRRendering: 1 + m_RequiresDepthTexture: 0 + m_RequiresColorTexture: 0 + m_Version: 2 +--- !u!1 &784234922 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 784234924} + - component: {fileID: 784234923} + - component: {fileID: 784234925} + - component: {fileID: 784234928} + - component: {fileID: 784234929} + - component: {fileID: 784234927} + - component: {fileID: 784234930} + - component: {fileID: 784234931} + - component: {fileID: 784234932} + m_Layer: 0 + m_Name: Export + m_TagString: EditorOnly + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &784234923 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 784234922} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 986a3a93ac16ec0428d8989979ec0966, type: 3} + m_Name: + m_EditorClassIdentifier: Needle.Engine.ExportInfo, Needle.Engine.Common $ GlobalObjectId_V1-2-d541a43e59ef6e94b8483da1bfc954ea-784234923-0 + DirectoryName: Library/Needle/Sample + RemoteUrl: + AutoExport: 1 + AutoCompress: 0 + Dependencies: + - Name: '@needle-tools/facefilter' + VersionOrPath: Packages/com.needle.engine-samples/Runtime/Facefilter/FaceFilter.npmdef + Guid: 06489df698d9822449a39c8043f44a32 +--- !u!4 &784234924 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 784234922} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 1.079, y: 0.08, z: 0.39} + 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 &784234925 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 784234922} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 438e3fec673b477cbc6d39ba011bf158, type: 3} + m_Name: + m_EditorClassIdentifier: Needle.Engine.Codegen.ComponentGenerator, Needle.Engine + $ GlobalObjectId_V1-2-d541a43e59ef6e94b8483da1bfc954ea-784234925-0 + compilerDirectory: Library/Needle/Sample/node_modules/@needle-tools/needle-component-compiler/src + Debug: 0 +--- !u!114 &784234927 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 784234922} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: cf2ffc5481d126c498a97e14b35c2fb0, type: 3} + m_Name: + m_EditorClassIdentifier: Needle.Engine.HtmlMeta, Needle.Engine.Meta $ GlobalObjectId_V1-2-4b0acd05539d50444975840c4da7864b-784234927-0 + meta: + title: Facefilter + description: + image: {fileID: 0} +--- !u!114 &784234928 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 784234922} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4b98ea17d00d4b13963c594067a209be, type: 3} + m_Name: + m_EditorClassIdentifier: Needle.Engine.Shaders.SkyboxExportSettings, Needle.Engine.Shaders + $ GlobalObjectId_V1-2-d541a43e59ef6e94b8483da1bfc954ea-784234928-0 + k__BackingField: 256 + k__BackingField: 1 +--- !u!114 &784234929 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 784234922} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 032be61c99af4d068a11adffb37721ad, type: 3} + m_Name: + m_EditorClassIdentifier: Needle.Engine.Deployment.DeployToFTP, Needle.Engine.Deployment + $ GlobalObjectId_V1-2-4b0acd05539d50444975840c4da7864b-784234929-0 + FTPServer: {fileID: 11400000, guid: b302aecddeb36624eada38ec53765003, type: 2} + Path: /facefilter + OverrideGzipCompression: 1 + UseGzipCompression: 0 +--- !u!114 &784234930 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 784234922} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: bcc605ea0754e9a4aab7a0e867f70e01, type: 3} + m_Name: + m_EditorClassIdentifier: Needle.Engine.Deployment.DeployToNeedleCloud, Needle.Engine.Deployment + projectName: face-filter +--- !u!114 &784234931 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 784234922} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 3b6166c533b54254a033bb2509157705, type: 3} + m_Name: + m_EditorClassIdentifier: Needle.Engine.Gltf.Experimental.MeshCompression, Needle.Engine.GltfExport + Compression: 1 +--- !u!114 &784234932 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 784234922} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 52882cd15871496cba5a3596b2e735c1, type: 3} + m_Name: + m_EditorClassIdentifier: Needle.Engine.Gltf.Experimental.progressive.ProgressiveTexturesSettings, + Needle.Engine.GltfExport + AllowProgressiveLoading: 1 + UseMaxSize: 1 + MaxSize: 128 + GenerateLODs: 0 +--- !u!1 &1387623546 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1387623548} + - component: {fileID: 1387623547} + m_Layer: 0 + m_Name: Filter Manager + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1387623547 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1387623546} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 6353b3654683b8d00cb8547a2642cc07, type: 3} + m_Name: + m_EditorClassIdentifier: Needle.Typescript.GeneratedComponents.NeedleFilterTrackingManager, + Needle.Engine-Samples.Runtime + filters: + - {fileID: 186278010} + occlusionMesh: {fileID: 4211051851420010255, guid: 496edac131102f446961c476f29dcd72, type: 3} + createOcclusionMesh: 1 + createMenuButton: 1 + testVideo: [] + customLogo: {fileID: 0} + downloadName: +--- !u!4 &1387623548 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1387623546} + 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: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} diff --git a/package/Runtime/Facefilter/Needle Face Filter Shadertoy Example.unity.meta b/package/Runtime/Facefilter/Needle Face Filter Shadertoy Example.unity.meta new file mode 100644 index 00000000..2f0dafbe --- /dev/null +++ b/package/Runtime/Facefilter/Needle Face Filter Shadertoy Example.unity.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 45885fcfb004eb24c9044de10662464e +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: