From d1239ca70bf04c884d095592b60d2fdd4cf1a840 Mon Sep 17 00:00:00 2001 From: Brajanowski Date: Thu, 17 Jul 2025 00:49:04 +0200 Subject: [PATCH] quickoutline --- Assets/QuickOutline.meta | 8 + Assets/QuickOutline/Readme.txt | 37 + Assets/QuickOutline/Readme.txt.meta | 16 + Assets/QuickOutline/Resources.meta | 10 + Assets/QuickOutline/Resources/Materials.meta | 10 + .../Resources/Materials/OutlineFill.mat | 25 + .../Resources/Materials/OutlineFill.mat.meta | 17 + .../Resources/Materials/OutlineMask.mat | 23 + .../Resources/Materials/OutlineMask.mat.meta | 17 + Assets/QuickOutline/Resources/Shaders.meta | 10 + .../Resources/Shaders/OutlineFill.shader | 81 ++ .../Resources/Shaders/OutlineFill.shader.meta | 17 + .../Resources/Shaders/OutlineMask.shader | 33 + .../Resources/Shaders/OutlineMask.shader.meta | 17 + Assets/QuickOutline/Samples.meta | 10 + Assets/QuickOutline/Samples/Materials.meta | 10 + .../QuickOutline/Samples/Materials/Plane.mat | 76 ++ .../Samples/Materials/Plane.mat.meta | 17 + Assets/QuickOutline/Samples/Scenes.meta | 10 + .../Samples/Scenes/QuickOutline.meta | 8 + .../Samples/Scenes/QuickOutline.unity | 778 ++++++++++++++++++ .../Samples/Scenes/QuickOutline.unity.meta | 16 + .../Scenes/QuickOutline/LightingData.asset | Bin 0 -> 17729 bytes .../QuickOutline/LightingData.asset.meta | 8 + .../Scenes/QuickOutline/ReflectionProbe-0.exr | Bin 0 -> 163661 bytes .../QuickOutline/ReflectionProbe-0.exr.meta | 117 +++ Assets/QuickOutline/Scripts.meta | 10 + Assets/QuickOutline/Scripts/Outline.cs | 309 +++++++ Assets/QuickOutline/Scripts/Outline.cs.meta | 20 + .../QuickOutline/Scripts/QuickOutline.asmdef | 3 + .../Scripts/QuickOutline.asmdef.meta | 7 + Assets/jelycho/Code/ButtonActor.cs | 29 +- Assets/jelycho/Code/IInteractable.cs | 1 + Assets/jelycho/Code/Items/ItemActor.cs | 33 +- .../jelycho/Code/Player/PlayerController.cs | 7 + Assets/jelycho/RebootReality.jelycho.asmdef | 3 +- Assets/jelycho/Worlds/dev/scn_map_dev.unity | 718 +++++++--------- Assets/jelycho/core/Items/item_dagger.prefab | 20 + Assets/jelycho/core/Items/item_egg.prefab | 20 + Assets/jelycho/core/interactables.meta | 8 + .../core/interactables/button_0.prefab | 165 ++++ .../core/interactables/button_0.prefab.meta | 7 + 42 files changed, 2294 insertions(+), 437 deletions(-) create mode 100644 Assets/QuickOutline.meta create mode 100644 Assets/QuickOutline/Readme.txt create mode 100644 Assets/QuickOutline/Readme.txt.meta create mode 100644 Assets/QuickOutline/Resources.meta create mode 100644 Assets/QuickOutline/Resources/Materials.meta create mode 100644 Assets/QuickOutline/Resources/Materials/OutlineFill.mat create mode 100644 Assets/QuickOutline/Resources/Materials/OutlineFill.mat.meta create mode 100644 Assets/QuickOutline/Resources/Materials/OutlineMask.mat create mode 100644 Assets/QuickOutline/Resources/Materials/OutlineMask.mat.meta create mode 100644 Assets/QuickOutline/Resources/Shaders.meta create mode 100644 Assets/QuickOutline/Resources/Shaders/OutlineFill.shader create mode 100644 Assets/QuickOutline/Resources/Shaders/OutlineFill.shader.meta create mode 100644 Assets/QuickOutline/Resources/Shaders/OutlineMask.shader create mode 100644 Assets/QuickOutline/Resources/Shaders/OutlineMask.shader.meta create mode 100644 Assets/QuickOutline/Samples.meta create mode 100644 Assets/QuickOutline/Samples/Materials.meta create mode 100644 Assets/QuickOutline/Samples/Materials/Plane.mat create mode 100644 Assets/QuickOutline/Samples/Materials/Plane.mat.meta create mode 100644 Assets/QuickOutline/Samples/Scenes.meta create mode 100644 Assets/QuickOutline/Samples/Scenes/QuickOutline.meta create mode 100644 Assets/QuickOutline/Samples/Scenes/QuickOutline.unity create mode 100644 Assets/QuickOutline/Samples/Scenes/QuickOutline.unity.meta create mode 100644 Assets/QuickOutline/Samples/Scenes/QuickOutline/LightingData.asset create mode 100644 Assets/QuickOutline/Samples/Scenes/QuickOutline/LightingData.asset.meta create mode 100644 Assets/QuickOutline/Samples/Scenes/QuickOutline/ReflectionProbe-0.exr create mode 100644 Assets/QuickOutline/Samples/Scenes/QuickOutline/ReflectionProbe-0.exr.meta create mode 100644 Assets/QuickOutline/Scripts.meta create mode 100644 Assets/QuickOutline/Scripts/Outline.cs create mode 100644 Assets/QuickOutline/Scripts/Outline.cs.meta create mode 100644 Assets/QuickOutline/Scripts/QuickOutline.asmdef create mode 100644 Assets/QuickOutline/Scripts/QuickOutline.asmdef.meta create mode 100644 Assets/jelycho/core/interactables.meta create mode 100644 Assets/jelycho/core/interactables/button_0.prefab create mode 100644 Assets/jelycho/core/interactables/button_0.prefab.meta diff --git a/Assets/QuickOutline.meta b/Assets/QuickOutline.meta new file mode 100644 index 0000000..2cfcd05 --- /dev/null +++ b/Assets/QuickOutline.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 51eeae86e42355a40a467d31550a296c +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/QuickOutline/Readme.txt b/Assets/QuickOutline/Readme.txt new file mode 100644 index 0000000..183ae24 --- /dev/null +++ b/Assets/QuickOutline/Readme.txt @@ -0,0 +1,37 @@ +Quick Outline +============= + +Developed by Chris Nolet (c) 2018 + + +Instructions +------------ + +To add an outline to an object, drag-and-drop the Outline.cs +script onto the object. The outline materials will be loaded +at runtime. + +You can also add outlines programmatically with: + + var outline = gameObject.AddComponent(); + + outline.OutlineMode = Outline.Mode.OutlineAll; + outline.OutlineColor = Color.yellow; + outline.OutlineWidth = 5f; + +The outline script does a small amount of work in Awake(). +For best results, use outline.enabled to toggle the outline. +Avoid removing and re-adding the component if possible. + +For large meshes, you may also like to enable 'Precompute +Outline' in the editor. This will reduce the amount of work +performed in Awake(). + + +Troubleshooting +--------------- + +If the outline appears off-center, please try the following: + +1. Set 'Read/Write Enabled' on each model's import settings. +2. Disable 'Optimize Mesh Data' in the player settings. diff --git a/Assets/QuickOutline/Readme.txt.meta b/Assets/QuickOutline/Readme.txt.meta new file mode 100644 index 0000000..c3f61b9 --- /dev/null +++ b/Assets/QuickOutline/Readme.txt.meta @@ -0,0 +1,16 @@ +fileFormatVersion: 2 +guid: 5933bfd39d7a5b843a0ed821f85bca19 +timeCreated: 1522619008 +licenseType: Store +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 115488 + packageName: Quick Outline + packageVersion: 1.1 + assetPath: Assets/QuickOutline/Readme.txt + uploadId: 485303 diff --git a/Assets/QuickOutline/Resources.meta b/Assets/QuickOutline/Resources.meta new file mode 100644 index 0000000..6135a95 --- /dev/null +++ b/Assets/QuickOutline/Resources.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 70fd40674751a8042a8b9b2e8d9f915f +folderAsset: yes +timeCreated: 1522559128 +licenseType: Store +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/QuickOutline/Resources/Materials.meta b/Assets/QuickOutline/Resources/Materials.meta new file mode 100644 index 0000000..2508b0f --- /dev/null +++ b/Assets/QuickOutline/Resources/Materials.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 80ac8e52d3c31a94babd161e86bc6b97 +folderAsset: yes +timeCreated: 1522559139 +licenseType: Store +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/QuickOutline/Resources/Materials/OutlineFill.mat b/Assets/QuickOutline/Resources/Materials/OutlineFill.mat new file mode 100644 index 0000000..cb02164 --- /dev/null +++ b/Assets/QuickOutline/Resources/Materials/OutlineFill.mat @@ -0,0 +1,25 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: OutlineFill + m_Shader: {fileID: 4800000, guid: 4e76d4023d7e0411297c670f878973e2, type: 3} + m_ShaderKeywords: + m_LightmapFlags: 4 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: [] + m_Floats: + - _OutlineWidth: 2 + - _ZTest: 8 + m_Colors: + - _OutlineColor: {r: 1, g: 1, b: 1, a: 1} diff --git a/Assets/QuickOutline/Resources/Materials/OutlineFill.mat.meta b/Assets/QuickOutline/Resources/Materials/OutlineFill.mat.meta new file mode 100644 index 0000000..5576b45 --- /dev/null +++ b/Assets/QuickOutline/Resources/Materials/OutlineFill.mat.meta @@ -0,0 +1,17 @@ +fileFormatVersion: 2 +guid: 311313efa011949e98b6761d652ad13c +timeCreated: 1520576285 +licenseType: Store +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 2100000 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 115488 + packageName: Quick Outline + packageVersion: 1.1 + assetPath: Assets/QuickOutline/Resources/Materials/OutlineFill.mat + uploadId: 485303 diff --git a/Assets/QuickOutline/Resources/Materials/OutlineMask.mat b/Assets/QuickOutline/Resources/Materials/OutlineMask.mat new file mode 100644 index 0000000..80d49fa --- /dev/null +++ b/Assets/QuickOutline/Resources/Materials/OutlineMask.mat @@ -0,0 +1,23 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: OutlineMask + m_Shader: {fileID: 4800000, guid: 341b058cd7dee4f5cba5cc59a513619e, type: 3} + m_ShaderKeywords: + m_LightmapFlags: 4 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: [] + m_Floats: + - _ZTest: 8 + m_Colors: [] diff --git a/Assets/QuickOutline/Resources/Materials/OutlineMask.mat.meta b/Assets/QuickOutline/Resources/Materials/OutlineMask.mat.meta new file mode 100644 index 0000000..8ad0794 --- /dev/null +++ b/Assets/QuickOutline/Resources/Materials/OutlineMask.mat.meta @@ -0,0 +1,17 @@ +fileFormatVersion: 2 +guid: 106f3ff43a17d4967a2b64c7a92e49ec +timeCreated: 1520576276 +licenseType: Store +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 2100000 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 115488 + packageName: Quick Outline + packageVersion: 1.1 + assetPath: Assets/QuickOutline/Resources/Materials/OutlineMask.mat + uploadId: 485303 diff --git a/Assets/QuickOutline/Resources/Shaders.meta b/Assets/QuickOutline/Resources/Shaders.meta new file mode 100644 index 0000000..91118d5 --- /dev/null +++ b/Assets/QuickOutline/Resources/Shaders.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 6a63caa2b0e993043a42c11f35ff2d1a +folderAsset: yes +timeCreated: 1522559134 +licenseType: Store +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/QuickOutline/Resources/Shaders/OutlineFill.shader b/Assets/QuickOutline/Resources/Shaders/OutlineFill.shader new file mode 100644 index 0000000..f546473 --- /dev/null +++ b/Assets/QuickOutline/Resources/Shaders/OutlineFill.shader @@ -0,0 +1,81 @@ +// +// OutlineFill.shader +// QuickOutline +// +// Created by Chris Nolet on 2/21/18. +// Copyright © 2018 Chris Nolet. All rights reserved. +// + +Shader "Custom/Outline Fill" { + Properties { + [Enum(UnityEngine.Rendering.CompareFunction)] _ZTest("ZTest", Float) = 0 + + _OutlineColor("Outline Color", Color) = (1, 1, 1, 1) + _OutlineWidth("Outline Width", Range(0, 10)) = 2 + } + + SubShader { + Tags { + "Queue" = "Transparent+110" + "RenderType" = "Transparent" + "DisableBatching" = "True" + } + + Pass { + Name "Fill" + Cull Off + ZTest [_ZTest] + ZWrite Off + Blend SrcAlpha OneMinusSrcAlpha + ColorMask RGB + + Stencil { + Ref 1 + Comp NotEqual + } + + CGPROGRAM + #include "UnityCG.cginc" + + #pragma vertex vert + #pragma fragment frag + + struct appdata { + float4 vertex : POSITION; + float3 normal : NORMAL; + float3 smoothNormal : TEXCOORD3; + UNITY_VERTEX_INPUT_INSTANCE_ID + }; + + struct v2f { + float4 position : SV_POSITION; + fixed4 color : COLOR; + UNITY_VERTEX_OUTPUT_STEREO + }; + + uniform fixed4 _OutlineColor; + uniform float _OutlineWidth; + + v2f vert(appdata input) { + v2f output; + + UNITY_SETUP_INSTANCE_ID(input); + UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(output); + + float3 normal = any(input.smoothNormal) ? input.smoothNormal : input.normal; + float3 viewPosition = UnityObjectToViewPos(input.vertex); + float3 viewNormal = normalize(mul((float3x3)UNITY_MATRIX_IT_MV, normal)); + + output.position = UnityViewToClipPos(viewPosition + viewNormal * -viewPosition.z * _OutlineWidth / 1000.0); + output.color = _OutlineColor; + + return output; + } + + fixed4 frag(v2f input) : SV_Target { + return input.color; + } + ENDCG + } + } +} diff --git a/Assets/QuickOutline/Resources/Shaders/OutlineFill.shader.meta b/Assets/QuickOutline/Resources/Shaders/OutlineFill.shader.meta new file mode 100644 index 0000000..b982c4e --- /dev/null +++ b/Assets/QuickOutline/Resources/Shaders/OutlineFill.shader.meta @@ -0,0 +1,17 @@ +fileFormatVersion: 2 +guid: 4e76d4023d7e0411297c670f878973e2 +timeCreated: 1520575782 +licenseType: Store +ShaderImporter: + externalObjects: {} + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 115488 + packageName: Quick Outline + packageVersion: 1.1 + assetPath: Assets/QuickOutline/Resources/Shaders/OutlineFill.shader + uploadId: 485303 diff --git a/Assets/QuickOutline/Resources/Shaders/OutlineMask.shader b/Assets/QuickOutline/Resources/Shaders/OutlineMask.shader new file mode 100644 index 0000000..530d8c0 --- /dev/null +++ b/Assets/QuickOutline/Resources/Shaders/OutlineMask.shader @@ -0,0 +1,33 @@ +// +// OutlineMask.shader +// QuickOutline +// +// Created by Chris Nolet on 2/21/18. +// Copyright © 2018 Chris Nolet. All rights reserved. +// + +Shader "Custom/Outline Mask" { + Properties { + [Enum(UnityEngine.Rendering.CompareFunction)] _ZTest("ZTest", Float) = 0 + } + + SubShader { + Tags { + "Queue" = "Transparent+100" + "RenderType" = "Transparent" + } + + Pass { + Name "Mask" + Cull Off + ZTest [_ZTest] + ZWrite Off + ColorMask 0 + + Stencil { + Ref 1 + Pass Replace + } + } + } +} diff --git a/Assets/QuickOutline/Resources/Shaders/OutlineMask.shader.meta b/Assets/QuickOutline/Resources/Shaders/OutlineMask.shader.meta new file mode 100644 index 0000000..a20bfde --- /dev/null +++ b/Assets/QuickOutline/Resources/Shaders/OutlineMask.shader.meta @@ -0,0 +1,17 @@ +fileFormatVersion: 2 +guid: 341b058cd7dee4f5cba5cc59a513619e +timeCreated: 1520575773 +licenseType: Store +ShaderImporter: + externalObjects: {} + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 115488 + packageName: Quick Outline + packageVersion: 1.1 + assetPath: Assets/QuickOutline/Resources/Shaders/OutlineMask.shader + uploadId: 485303 diff --git a/Assets/QuickOutline/Samples.meta b/Assets/QuickOutline/Samples.meta new file mode 100644 index 0000000..7d6c23d --- /dev/null +++ b/Assets/QuickOutline/Samples.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 932f8193e5396db4babac4756c406dee +folderAsset: yes +timeCreated: 1522559213 +licenseType: Store +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/QuickOutline/Samples/Materials.meta b/Assets/QuickOutline/Samples/Materials.meta new file mode 100644 index 0000000..cb14819 --- /dev/null +++ b/Assets/QuickOutline/Samples/Materials.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 2b0040b0ed7fbd64693e9195d13d25f9 +folderAsset: yes +timeCreated: 1522615600 +licenseType: Store +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/QuickOutline/Samples/Materials/Plane.mat b/Assets/QuickOutline/Samples/Materials/Plane.mat new file mode 100644 index 0000000..06fa1aa --- /dev/null +++ b/Assets/QuickOutline/Samples/Materials/Plane.mat @@ -0,0 +1,76 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: Plane + m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0} + m_ShaderKeywords: + m_LightmapFlags: 4 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _BumpMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailAlbedoMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailMask: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailNormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _EmissionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MainTex: + m_Texture: {fileID: 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} + m_Floats: + - _BumpScale: 1 + - _Cutoff: 0.5 + - _DetailNormalMapScale: 1 + - _DstBlend: 0 + - _GlossMapScale: 1 + - _Glossiness: 0.5 + - _GlossyReflections: 1 + - _Metallic: 1 + - _Mode: 0 + - _OcclusionStrength: 1 + - _Parallax: 0.02 + - _SmoothnessTextureChannel: 0 + - _SpecularHighlights: 1 + - _SrcBlend: 1 + - _UVSec: 0 + - _ZWrite: 1 + m_Colors: + - _Color: {r: 0.2509804, g: 0.2509804, b: 0.5019608, a: 1} + - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} diff --git a/Assets/QuickOutline/Samples/Materials/Plane.mat.meta b/Assets/QuickOutline/Samples/Materials/Plane.mat.meta new file mode 100644 index 0000000..64e3c3c --- /dev/null +++ b/Assets/QuickOutline/Samples/Materials/Plane.mat.meta @@ -0,0 +1,17 @@ +fileFormatVersion: 2 +guid: f58cf65ea995c4b45be95713bdea8134 +timeCreated: 1522540975 +licenseType: Store +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 2100000 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 115488 + packageName: Quick Outline + packageVersion: 1.1 + assetPath: Assets/QuickOutline/Samples/Materials/Plane.mat + uploadId: 485303 diff --git a/Assets/QuickOutline/Samples/Scenes.meta b/Assets/QuickOutline/Samples/Scenes.meta new file mode 100644 index 0000000..7f5c774 --- /dev/null +++ b/Assets/QuickOutline/Samples/Scenes.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 3916faa55c6a94248959031ee0ad499f +folderAsset: yes +timeCreated: 1522615614 +licenseType: Store +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/QuickOutline/Samples/Scenes/QuickOutline.meta b/Assets/QuickOutline/Samples/Scenes/QuickOutline.meta new file mode 100644 index 0000000..8e37d38 --- /dev/null +++ b/Assets/QuickOutline/Samples/Scenes/QuickOutline.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 40bc971ba8243044fa7223a4cca31bc0 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/QuickOutline/Samples/Scenes/QuickOutline.unity b/Assets/QuickOutline/Samples/Scenes/QuickOutline.unity new file mode 100644 index 0000000..33911b7 --- /dev/null +++ b/Assets/QuickOutline/Samples/Scenes/QuickOutline.unity @@ -0,0 +1,778 @@ +%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: 8 + 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: 820273532} + m_IndirectSpecularColor: {r: 0.18028383, g: 0.22571409, b: 0.30692282, a: 1} +--- !u!157 &3 +LightmapSettings: + m_ObjectHideFlags: 0 + serializedVersion: 9 + m_GIWorkflowMode: 0 + m_GISettings: + serializedVersion: 2 + m_BounceScale: 1 + m_IndirectOutputScale: 1 + m_AlbedoBoost: 1 + m_TemporalCoherenceThreshold: 1 + m_EnvironmentLightingMode: 0 + m_EnableBakedLightmaps: 1 + m_EnableRealtimeLightmaps: 1 + m_LightmapEditorSettings: + serializedVersion: 8 + m_Resolution: 2 + m_BakeResolution: 40 + m_TextureWidth: 1024 + m_TextureHeight: 1024 + m_AO: 0 + m_AOMaxDistance: 1 + m_CompAOExponent: 1 + m_CompAOExponentDirect: 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: 3 + m_BakeBackend: 0 + m_PVRSampling: 1 + m_PVRDirectSampleCount: 32 + m_PVRSampleCount: 500 + m_PVRBounces: 2 + m_PVRFiltering: 0 + m_PVRFilteringMode: 1 + m_PVRCulling: 1 + m_PVRFilteringGaussRadiusDirect: 1 + m_PVRFilteringGaussRadiusIndirect: 5 + m_PVRFilteringGaussRadiusAO: 2 + m_PVRFilteringAtrousColorSigma: 1 + m_PVRFilteringAtrousNormalSigma: 1 + m_PVRFilteringAtrousPositionSigma: 1 + m_LightingDataAsset: {fileID: 0} + m_ShadowMaskMode: 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 + m_NavMeshData: {fileID: 0} +--- !u!1 &122269556 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 122269561} + - component: {fileID: 122269560} + - component: {fileID: 122269558} + - component: {fileID: 122269557} + 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 &122269557 +AudioListener: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 122269556} + m_Enabled: 1 +--- !u!124 &122269558 +Behaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 122269556} + m_Enabled: 1 +--- !u!20 &122269560 +Camera: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 122269556} + m_Enabled: 1 + serializedVersion: 2 + m_ClearFlags: 1 + m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0} + m_NormalizedViewPortRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + near clip plane: 0.3 + far clip plane: 1000 + field of view: 60 + orthographic: 0 + orthographic size: 5 + m_Depth: -1 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingPath: -1 + m_TargetTexture: {fileID: 0} + m_TargetDisplay: 0 + m_TargetEye: 3 + m_HDR: 1 + m_AllowMSAA: 1 + m_ForceIntoRT: 0 + m_OcclusionCulling: 1 + m_StereoConvergence: 10 + m_StereoSeparation: 0.022 + m_StereoMirrorMode: 0 +--- !u!4 &122269561 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 122269556} + m_LocalRotation: {x: 0.3420201, y: 0, z: 0, w: 0.9396927} + m_LocalPosition: {x: 0, y: 3, z: -4} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 40, y: 0, z: 0} +--- !u!1 &124162633 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 124162634} + - component: {fileID: 124162638} + - component: {fileID: 124162636} + - component: {fileID: 124162635} + m_Layer: 0 + m_Name: Outline Hidden + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &124162634 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 124162633} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -2, y: 0, z: 0} + m_LocalScale: {x: 1, y: 0.5, z: 1} + m_Children: [] + m_Father: {fileID: 935070115} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &124162635 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 124162633} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5fea29bb7c508c244a1f805a5fd3fc4d, type: 3} + m_Name: + m_EditorClassIdentifier: + outlineMode: 2 + outlineColor: {r: 1, g: 0.2509804, b: 0.2509804, a: 1} + outlineWidth: 6 +--- !u!23 &124162636 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 124162633} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 1 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 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 +--- !u!33 &124162638 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 124162633} + m_Mesh: {fileID: 10206, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &796971894 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 796971895} + - component: {fileID: 796971899} + - component: {fileID: 796971897} + - component: {fileID: 796971896} + m_Layer: 0 + m_Name: Outline And Silhouette + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &796971895 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 796971894} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 2, y: 0, z: 0} + m_LocalScale: {x: 1, y: 0.5, z: 1} + m_Children: [] + m_Father: {fileID: 935070115} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &796971896 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 796971894} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5fea29bb7c508c244a1f805a5fd3fc4d, type: 3} + m_Name: + m_EditorClassIdentifier: + outlineMode: 3 + outlineColor: {r: 0.2509804, g: 1, b: 1, a: 1} + outlineWidth: 6 +--- !u!23 &796971897 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 796971894} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 1 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 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 +--- !u!33 &796971899 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 796971894} + m_Mesh: {fileID: 10206, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &820273531 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 820273533} + - component: {fileID: 820273532} + 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 &820273532 +Light: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 820273531} + m_Enabled: 1 + serializedVersion: 8 + m_Type: 1 + m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1} + m_Intensity: 1 + m_Range: 10 + m_SpotAngle: 30 + 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_Cookie: {fileID: 0} + m_DrawHalo: 0 + m_Flare: {fileID: 0} + m_RenderMode: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_Lightmapping: 4 + m_AreaSize: {x: 1, y: 1} + m_BounceIntensity: 1 + m_ColorTemperature: 6570 + m_UseColorTemperature: 0 + m_ShadowRadius: 0 + m_ShadowAngle: 0 +--- !u!4 &820273533 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 820273531} + m_LocalRotation: {x: 0.40821788, y: 0.23456976, z: -0.10938167, w: 0.8754261} + m_LocalPosition: {x: 0, y: 3, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 50, y: 30, z: 0} +--- !u!1 &935070114 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 935070115} + m_Layer: 0 + m_Name: Outlined Objects + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &935070115 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 935070114} + 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: 1781008194} + - {fileID: 124162634} + - {fileID: 1346396411} + - {fileID: 796971895} + - {fileID: 1083549395} + m_Father: {fileID: 0} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1083549394 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1083549395} + - component: {fileID: 1083549399} + - component: {fileID: 1083549397} + - component: {fileID: 1083549396} + m_Layer: 0 + m_Name: Outline Visible + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1083549395 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1083549394} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 4, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 935070115} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1083549396 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1083549394} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5fea29bb7c508c244a1f805a5fd3fc4d, type: 3} + m_Name: + m_EditorClassIdentifier: + outlineMode: 1 + outlineColor: {r: 0.2509804, g: 1, b: 0.2509804, a: 1} + outlineWidth: 6 +--- !u!23 &1083549397 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1083549394} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 1 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 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 +--- !u!33 &1083549399 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1083549394} + m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1346396410 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1346396411} + - component: {fileID: 1346396415} + - component: {fileID: 1346396413} + - component: {fileID: 1346396412} + m_Layer: 0 + m_Name: Outline All + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1346396411 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1346396410} + 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: 935070115} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1346396412 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1346396410} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5fea29bb7c508c244a1f805a5fd3fc4d, type: 3} + m_Name: + m_EditorClassIdentifier: + outlineMode: 0 + outlineColor: {r: 1, g: 1, b: 0.2509804, a: 1} + outlineWidth: 6 +--- !u!23 &1346396413 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1346396410} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 1 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 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 +--- !u!33 &1346396415 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1346396410} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1580478821 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1580478825} + - component: {fileID: 1580478824} + - component: {fileID: 1580478822} + m_Layer: 0 + m_Name: Plane + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!23 &1580478822 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1580478821} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 2100000, guid: f58cf65ea995c4b45be95713bdea8134, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 1 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 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 +--- !u!33 &1580478824 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1580478821} + m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0} +--- !u!4 &1580478825 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1580478821} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 10, y: 1, z: 10} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1781008193 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1781008194} + - component: {fileID: 1781008198} + - component: {fileID: 1781008196} + - component: {fileID: 1781008195} + m_Layer: 0 + m_Name: Silhouette Only + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1781008194 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1781008193} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -4, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 935070115} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1781008195 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1781008193} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5fea29bb7c508c244a1f805a5fd3fc4d, type: 3} + m_Name: + m_EditorClassIdentifier: + outlineMode: 4 + outlineColor: {r: 1, g: 1, b: 1, a: 1} + outlineWidth: 6 +--- !u!23 &1781008196 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1781008193} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 1 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 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 +--- !u!33 &1781008198 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1781008193} + m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0} diff --git a/Assets/QuickOutline/Samples/Scenes/QuickOutline.unity.meta b/Assets/QuickOutline/Samples/Scenes/QuickOutline.unity.meta new file mode 100644 index 0000000..f1107a5 --- /dev/null +++ b/Assets/QuickOutline/Samples/Scenes/QuickOutline.unity.meta @@ -0,0 +1,16 @@ +fileFormatVersion: 2 +guid: f23712c79adc910408e872b127e825cf +timeCreated: 1522615825 +licenseType: Store +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 115488 + packageName: Quick Outline + packageVersion: 1.1 + assetPath: Assets/QuickOutline/Samples/Scenes/QuickOutline.unity + uploadId: 485303 diff --git a/Assets/QuickOutline/Samples/Scenes/QuickOutline/LightingData.asset b/Assets/QuickOutline/Samples/Scenes/QuickOutline/LightingData.asset new file mode 100644 index 0000000000000000000000000000000000000000..10806c3c59aecdfb96517a89fc0f1577e830e238 GIT binary patch literal 17729 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≤@o(DTVjL!3B*Z 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 registeredMeshes = new HashSet(); + + public enum Mode { + OutlineAll, + OutlineVisible, + OutlineHidden, + OutlineAndSilhouette, + SilhouetteOnly + } + + public Mode OutlineMode { + get { return outlineMode; } + set { + outlineMode = value; + needsUpdate = true; + } + } + + public Color OutlineColor { + get { return outlineColor; } + set { + outlineColor = value; + needsUpdate = true; + } + } + + public float OutlineWidth { + get { return outlineWidth; } + set { + outlineWidth = value; + needsUpdate = true; + } + } + + [Serializable] + private class ListVector3 { + public List data; + } + + [SerializeField] + private Mode outlineMode; + + [SerializeField] + private Color outlineColor = Color.white; + + [SerializeField, Range(0f, 10f)] + private float outlineWidth = 2f; + + [Header("Optional")] + + [SerializeField, Tooltip("Precompute enabled: Per-vertex calculations are performed in the editor and serialized with the object. " + + "Precompute disabled: Per-vertex calculations are performed at runtime in Awake(). This may cause a pause for large meshes.")] + private bool precomputeOutline; + + [SerializeField, HideInInspector] + private List bakeKeys = new List(); + + [SerializeField, HideInInspector] + private List bakeValues = new List(); + + private Renderer[] renderers; + private Material outlineMaskMaterial; + private Material outlineFillMaterial; + + private bool needsUpdate; + + void Awake() { + + // Cache renderers + renderers = GetComponentsInChildren(); + + // Instantiate outline materials + outlineMaskMaterial = Instantiate(Resources.Load(@"Materials/OutlineMask")); + outlineFillMaterial = Instantiate(Resources.Load(@"Materials/OutlineFill")); + + outlineMaskMaterial.name = "OutlineMask (Instance)"; + outlineFillMaterial.name = "OutlineFill (Instance)"; + + // Retrieve or generate smooth normals + LoadSmoothNormals(); + + // Apply material properties immediately + needsUpdate = true; + } + + void OnEnable() { + foreach (var renderer in renderers) { + + // Append outline shaders + var materials = renderer.sharedMaterials.ToList(); + + materials.Add(outlineMaskMaterial); + materials.Add(outlineFillMaterial); + + renderer.materials = materials.ToArray(); + } + } + + void OnValidate() { + + // Update material properties + needsUpdate = true; + + // Clear cache when baking is disabled or corrupted + if (!precomputeOutline && bakeKeys.Count != 0 || bakeKeys.Count != bakeValues.Count) { + bakeKeys.Clear(); + bakeValues.Clear(); + } + + // Generate smooth normals when baking is enabled + if (precomputeOutline && bakeKeys.Count == 0) { + Bake(); + } + } + + void Update() { + if (needsUpdate) { + needsUpdate = false; + + UpdateMaterialProperties(); + } + } + + void OnDisable() { + foreach (var renderer in renderers) { + + // Remove outline shaders + var materials = renderer.sharedMaterials.ToList(); + + materials.Remove(outlineMaskMaterial); + materials.Remove(outlineFillMaterial); + + renderer.materials = materials.ToArray(); + } + } + + void OnDestroy() { + + // Destroy material instances + Destroy(outlineMaskMaterial); + Destroy(outlineFillMaterial); + } + + void Bake() { + + // Generate smooth normals for each mesh + var bakedMeshes = new HashSet(); + + foreach (var meshFilter in GetComponentsInChildren()) { + + // Skip duplicates + if (!bakedMeshes.Add(meshFilter.sharedMesh)) { + continue; + } + + // Serialize smooth normals + var smoothNormals = SmoothNormals(meshFilter.sharedMesh); + + bakeKeys.Add(meshFilter.sharedMesh); + bakeValues.Add(new ListVector3() { data = smoothNormals }); + } + } + + void LoadSmoothNormals() { + + // Retrieve or generate smooth normals + foreach (var meshFilter in GetComponentsInChildren()) { + + // Skip if smooth normals have already been adopted + if (!registeredMeshes.Add(meshFilter.sharedMesh)) { + continue; + } + + // Retrieve or generate smooth normals + var index = bakeKeys.IndexOf(meshFilter.sharedMesh); + var smoothNormals = (index >= 0) ? bakeValues[index].data : SmoothNormals(meshFilter.sharedMesh); + + // Store smooth normals in UV3 + meshFilter.sharedMesh.SetUVs(3, smoothNormals); + + // Combine submeshes + var renderer = meshFilter.GetComponent(); + + if (renderer != null) { + CombineSubmeshes(meshFilter.sharedMesh, renderer.sharedMaterials); + } + } + + // Clear UV3 on skinned mesh renderers + foreach (var skinnedMeshRenderer in GetComponentsInChildren()) { + + // Skip if UV3 has already been reset + if (!registeredMeshes.Add(skinnedMeshRenderer.sharedMesh)) { + continue; + } + + // Clear UV3 + skinnedMeshRenderer.sharedMesh.uv4 = new Vector2[skinnedMeshRenderer.sharedMesh.vertexCount]; + + // Combine submeshes + CombineSubmeshes(skinnedMeshRenderer.sharedMesh, skinnedMeshRenderer.sharedMaterials); + } + } + + List SmoothNormals(Mesh mesh) { + + // Group vertices by location + var groups = mesh.vertices.Select((vertex, index) => new KeyValuePair(vertex, index)).GroupBy(pair => pair.Key); + + // Copy normals to a new list + var smoothNormals = new List(mesh.normals); + + // Average normals for grouped vertices + foreach (var group in groups) { + + // Skip single vertices + if (group.Count() == 1) { + continue; + } + + // Calculate the average normal + var smoothNormal = Vector3.zero; + + foreach (var pair in group) { + smoothNormal += smoothNormals[pair.Value]; + } + + smoothNormal.Normalize(); + + // Assign smooth normal to each vertex + foreach (var pair in group) { + smoothNormals[pair.Value] = smoothNormal; + } + } + + return smoothNormals; + } + + void CombineSubmeshes(Mesh mesh, Material[] materials) { + + // Skip meshes with a single submesh + if (mesh.subMeshCount == 1) { + return; + } + + // Skip if submesh count exceeds material count + if (mesh.subMeshCount > materials.Length) { + return; + } + + // Append combined submesh + mesh.subMeshCount++; + mesh.SetTriangles(mesh.triangles, mesh.subMeshCount - 1); + } + + void UpdateMaterialProperties() { + + // Apply properties according to mode + outlineFillMaterial.SetColor("_OutlineColor", outlineColor); + + switch (outlineMode) { + case Mode.OutlineAll: + outlineMaskMaterial.SetFloat("_ZTest", (float)UnityEngine.Rendering.CompareFunction.Always); + outlineFillMaterial.SetFloat("_ZTest", (float)UnityEngine.Rendering.CompareFunction.Always); + outlineFillMaterial.SetFloat("_OutlineWidth", outlineWidth); + break; + + case Mode.OutlineVisible: + outlineMaskMaterial.SetFloat("_ZTest", (float)UnityEngine.Rendering.CompareFunction.Always); + outlineFillMaterial.SetFloat("_ZTest", (float)UnityEngine.Rendering.CompareFunction.LessEqual); + outlineFillMaterial.SetFloat("_OutlineWidth", outlineWidth); + break; + + case Mode.OutlineHidden: + outlineMaskMaterial.SetFloat("_ZTest", (float)UnityEngine.Rendering.CompareFunction.Always); + outlineFillMaterial.SetFloat("_ZTest", (float)UnityEngine.Rendering.CompareFunction.Greater); + outlineFillMaterial.SetFloat("_OutlineWidth", outlineWidth); + break; + + case Mode.OutlineAndSilhouette: + outlineMaskMaterial.SetFloat("_ZTest", (float)UnityEngine.Rendering.CompareFunction.LessEqual); + outlineFillMaterial.SetFloat("_ZTest", (float)UnityEngine.Rendering.CompareFunction.Always); + outlineFillMaterial.SetFloat("_OutlineWidth", outlineWidth); + break; + + case Mode.SilhouetteOnly: + outlineMaskMaterial.SetFloat("_ZTest", (float)UnityEngine.Rendering.CompareFunction.LessEqual); + outlineFillMaterial.SetFloat("_ZTest", (float)UnityEngine.Rendering.CompareFunction.Greater); + outlineFillMaterial.SetFloat("_OutlineWidth", 0f); + break; + } + } +} diff --git a/Assets/QuickOutline/Scripts/Outline.cs.meta b/Assets/QuickOutline/Scripts/Outline.cs.meta new file mode 100644 index 0000000..3c3932c --- /dev/null +++ b/Assets/QuickOutline/Scripts/Outline.cs.meta @@ -0,0 +1,20 @@ +fileFormatVersion: 2 +guid: 5fea29bb7c508c244a1f805a5fd3fc4d +timeCreated: 1522369084 +licenseType: Store +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 115488 + packageName: Quick Outline + packageVersion: 1.1 + assetPath: Assets/QuickOutline/Scripts/Outline.cs + uploadId: 485303 diff --git a/Assets/QuickOutline/Scripts/QuickOutline.asmdef b/Assets/QuickOutline/Scripts/QuickOutline.asmdef new file mode 100644 index 0000000..03fdb9a --- /dev/null +++ b/Assets/QuickOutline/Scripts/QuickOutline.asmdef @@ -0,0 +1,3 @@ +{ + "name": "QuickOutline" +} diff --git a/Assets/QuickOutline/Scripts/QuickOutline.asmdef.meta b/Assets/QuickOutline/Scripts/QuickOutline.asmdef.meta new file mode 100644 index 0000000..01808f6 --- /dev/null +++ b/Assets/QuickOutline/Scripts/QuickOutline.asmdef.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 21f2291e6889b15478ccb0ee25050878 +AssemblyDefinitionImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/jelycho/Code/ButtonActor.cs b/Assets/jelycho/Code/ButtonActor.cs index 0606748..419e95b 100644 --- a/Assets/jelycho/Code/ButtonActor.cs +++ b/Assets/jelycho/Code/ButtonActor.cs @@ -3,9 +3,13 @@ using Cysharp.Threading.Tasks; using RebootKit.Engine.Simulation; using UnityEngine; using UnityEngine.Events; +using Logger = RebootKit.Engine.Foundation.Logger; namespace RebootReality.jelycho { public class ButtonActor : Actor, IInteractable { + static readonly Logger s_Logger = new Logger(nameof(ButtonActor)); + + [SerializeField] Outline m_Outline; [SerializeField] Transform m_Graphics; [SerializeField] float m_CooldownDuration = 0.5f; @@ -13,6 +17,17 @@ namespace RebootReality.jelycho { public UnityEvent pressed = new UnityEvent(); + // + // @MARK: Unity callbacks + // + void Awake() { + SetHighlight(false); + m_LastPressTime = DateTime.MinValue; + } + + // + // @MARK: Actor + // protected override IActorData CreateActorData() { return new NoActorData(); } @@ -42,10 +57,22 @@ namespace RebootReality.jelycho { async UniTask PressAsync() { m_Graphics.localScale = new Vector3(1, 0.1f, 1); - await UniTask.Delay(TimeSpan.FromSeconds(1.0f)); + await UniTask.Delay(TimeSpan.FromSeconds(m_CooldownDuration), cancellationToken: destroyCancellationToken); m_Graphics.localScale = new Vector3(1, 1, 1); } + // + // @MARK: IInteractable + // + public void SetHighlight(bool highlight) { + if (m_Outline == null) { + Debug.LogError("ButtonActor does not have an Outline component."); + return; + } + + m_Outline.enabled = highlight; + } + public void Interact() { SendActorCommand((ushort) ButtonActorCommands.Press); } diff --git a/Assets/jelycho/Code/IInteractable.cs b/Assets/jelycho/Code/IInteractable.cs index 0114867..572d81b 100644 --- a/Assets/jelycho/Code/IInteractable.cs +++ b/Assets/jelycho/Code/IInteractable.cs @@ -1,5 +1,6 @@ namespace RebootReality.jelycho { public interface IInteractable { + void SetHighlight(bool highlight); void Interact(); } } \ No newline at end of file diff --git a/Assets/jelycho/Code/Items/ItemActor.cs b/Assets/jelycho/Code/Items/ItemActor.cs index b282279..99d00af 100644 --- a/Assets/jelycho/Code/Items/ItemActor.cs +++ b/Assets/jelycho/Code/Items/ItemActor.cs @@ -10,21 +10,42 @@ namespace RebootReality.jelycho.Items { class ItemActorData : IActorData { public ItemConfig Config; - public void Serialize(FastBufferWriter writer) { - } - public void Deserialize(FastBufferReader reader) { - } + public void Serialize(FastBufferWriter writer) { } + public void Deserialize(FastBufferReader reader) { } } - + [field: SerializeField] public ItemConfig Config { get; private set; } + [SerializeField] Outline m_Outline; + + // + // @MARK: Unity callbacks + // + void Awake() { + SetHighlight(false); + } + + // + // @MARK: Actor + // protected override IActorData CreateActorData() { return new ItemActorData { Config = Config }; } - public void Interact() { + // + // @MARK: IInteractable + // + public void SetHighlight(bool highlight) { + if (m_Outline == null) { + s_Logger.Error("ItemActor does not have an Outline component."); + return; + } + + m_Outline.enabled = highlight; } + + public void Interact() { } } } \ No newline at end of file diff --git a/Assets/jelycho/Code/Player/PlayerController.cs b/Assets/jelycho/Code/Player/PlayerController.cs index acecddc..84fc759 100755 --- a/Assets/jelycho/Code/Player/PlayerController.cs +++ b/Assets/jelycho/Code/Player/PlayerController.cs @@ -21,6 +21,8 @@ namespace RebootReality.jelycho.Player { DisposableBag m_OwnerActorDisposableBag = new DisposableBag(); IDisposable m_TargetInteractableLabelDisposable; + IInteractable m_Interactable; + public override void OnNetworkSpawn() { base.OnNetworkSpawn(); @@ -64,11 +66,16 @@ namespace RebootReality.jelycho.Player { m_OwnerActorDisposableBag = new DisposableBag(); m_Actor.TargetInteractable.Subscribe(interactable => { + m_Interactable?.SetHighlight(false); + if (m_TargetInteractableLabelDisposable != null) { m_TargetInteractableLabelDisposable.Dispose(); m_TargetInteractableLabelDisposable = null; } + m_Interactable = interactable; + m_Interactable?.SetHighlight(true); + if (interactable is Actor interactableActor) { m_TargetInteractableLabelDisposable = m_HUD.ObjectsLabels.CreateLabel(interactableActor.transform, diff --git a/Assets/jelycho/RebootReality.jelycho.asmdef b/Assets/jelycho/RebootReality.jelycho.asmdef index 97e933f..bbf2609 100644 --- a/Assets/jelycho/RebootReality.jelycho.asmdef +++ b/Assets/jelycho/RebootReality.jelycho.asmdef @@ -17,7 +17,8 @@ "GUID:84651a3751eca9349aac36a66bba901b", "GUID:6055be8ebefd69e48b49212b09b47b2f", "GUID:df380645f10b7bc4b97d4f5eb6303d95", - "GUID:15fc0a57446b3144c949da3e2b9737a9" + "GUID:15fc0a57446b3144c949da3e2b9737a9", + "GUID:21f2291e6889b15478ccb0ee25050878" ], "includePlatforms": [], "excludePlatforms": [], diff --git a/Assets/jelycho/Worlds/dev/scn_map_dev.unity b/Assets/jelycho/Worlds/dev/scn_map_dev.unity index 335e516..7331656 100644 --- a/Assets/jelycho/Worlds/dev/scn_map_dev.unity +++ b/Assets/jelycho/Worlds/dev/scn_map_dev.unity @@ -1541,68 +1541,6 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 413792787} m_CullTransparentMesh: 1 ---- !u!1001 &473149240 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - serializedVersion: 3 - m_TransformParent: {fileID: 770822629} - m_Modifications: - - target: {fileID: -8679921383154817045, guid: 5de98fe51d9476a46b97732c355b6283, type: 3} - propertyPath: m_LocalPosition.x - value: -0 - objectReference: {fileID: 0} - - target: {fileID: -8679921383154817045, guid: 5de98fe51d9476a46b97732c355b6283, type: 3} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: -8679921383154817045, guid: 5de98fe51d9476a46b97732c355b6283, type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: -8679921383154817045, guid: 5de98fe51d9476a46b97732c355b6283, type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: -8679921383154817045, guid: 5de98fe51d9476a46b97732c355b6283, type: 3} - propertyPath: m_LocalRotation.x - value: 0.000000021855694 - objectReference: {fileID: 0} - - target: {fileID: -8679921383154817045, guid: 5de98fe51d9476a46b97732c355b6283, type: 3} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: -8679921383154817045, guid: 5de98fe51d9476a46b97732c355b6283, type: 3} - propertyPath: m_LocalRotation.z - value: -0 - objectReference: {fileID: 0} - - target: {fileID: -8679921383154817045, guid: 5de98fe51d9476a46b97732c355b6283, type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: -8679921383154817045, guid: 5de98fe51d9476a46b97732c355b6283, type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: -8679921383154817045, guid: 5de98fe51d9476a46b97732c355b6283, type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 919132149155446097, guid: 5de98fe51d9476a46b97732c355b6283, type: 3} - propertyPath: m_Name - value: Button - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_RemovedGameObjects: [] - m_AddedGameObjects: [] - m_AddedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: 5de98fe51d9476a46b97732c355b6283, type: 3} ---- !u!4 &473149241 stripped -Transform: - m_CorrespondingSourceObject: {fileID: -8679921383154817045, guid: 5de98fe51d9476a46b97732c355b6283, type: 3} - m_PrefabInstance: {fileID: 473149240} - m_PrefabAsset: {fileID: 0} --- !u!1001 &543437226 PrefabInstance: m_ObjectHideFlags: 0 @@ -2156,99 +2094,6 @@ Transform: m_Children: [] m_Father: {fileID: 0} m_LocalEulerAnglesHint: {x: 90, y: 0, z: 90} ---- !u!1 &631862179 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 631862182} - - component: {fileID: 631862181} - - component: {fileID: 631862180} - m_Layer: 0 - m_Name: button_0_dagger - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!65 &631862180 -BoxCollider: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 631862179} - m_Material: {fileID: 0} - m_IncludeLayers: - serializedVersion: 2 - m_Bits: 0 - m_ExcludeLayers: - serializedVersion: 2 - m_Bits: 0 - m_LayerOverridePriority: 0 - m_IsTrigger: 0 - m_ProvidesContacts: 0 - m_Enabled: 1 - serializedVersion: 3 - m_Size: {x: 0.3108216, y: 0.2376185, z: 0.30895576} - m_Center: {x: 0, y: 0.111489624, z: 0} ---- !u!114 &631862181 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 631862179} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: d10f6d33b0194c67966bb1a1b891ff3e, type: 3} - m_Name: - m_EditorClassIdentifier: - k__BackingField: - k__BackingField: 4778235417374537984 - m_ActorName: Spawner - actorRigidbody: {fileID: 0} - m_OverrideActorColliders: [] - m_SetKinematicOnMount: 1 - m_DisableCollidersOnMount: 1 - transformSyncMode: 0 - m_AttachmentSockets: [] - m_Graphics: {fileID: 1632172045} - m_CooldownDuration: 0.5 - pressed: - m_PersistentCalls: - m_Calls: - - m_Target: {fileID: 1152925069} - m_TargetAssemblyTypeName: RebootReality.jelycho.ActorSpawner, RebootReality.jelycho - m_MethodName: SpawnActor - m_Mode: 1 - m_Arguments: - m_ObjectArgument: {fileID: 0} - m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine - m_IntArgument: 0 - m_FloatArgument: 0 - m_StringArgument: - m_BoolArgument: 0 - m_CallState: 2 ---- !u!4 &631862182 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 631862179} - serializedVersion: 2 - m_LocalRotation: {x: -0, y: 0.7071062, z: -0, w: 0.7071075} - m_LocalPosition: {x: -11.204, y: 1.308, z: 12.46} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 1632172045} - m_Father: {fileID: 0} - m_LocalEulerAnglesHint: {x: 0, y: 90, z: 0} --- !u!1 &634762286 GameObject: m_ObjectHideFlags: 0 @@ -2521,99 +2366,95 @@ MeshFilter: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 729232292} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} ---- !u!1 &770822626 -GameObject: +--- !u!1001 &744008967 +PrefabInstance: m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 770822629} - - component: {fileID: 770822628} - - component: {fileID: 770822627} - m_Layer: 0 - m_Name: button_0_egg - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!65 &770822627 -BoxCollider: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 770822626} - m_Material: {fileID: 0} - m_IncludeLayers: - serializedVersion: 2 - m_Bits: 0 - m_ExcludeLayers: - serializedVersion: 2 - m_Bits: 0 - m_LayerOverridePriority: 0 - m_IsTrigger: 0 - m_ProvidesContacts: 0 - m_Enabled: 1 - serializedVersion: 3 - m_Size: {x: 0.3108216, y: 0.2376185, z: 0.30895576} - m_Center: {x: 0, y: 0.111489624, z: 0} ---- !u!114 &770822628 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 770822626} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: d10f6d33b0194c67966bb1a1b891ff3e, type: 3} - m_Name: - m_EditorClassIdentifier: - k__BackingField: - k__BackingField: 5414479772555047714 - m_ActorName: Spawner - actorRigidbody: {fileID: 0} - m_OverrideActorColliders: [] - m_SetKinematicOnMount: 1 - m_DisableCollidersOnMount: 1 - transformSyncMode: 0 - m_AttachmentSockets: [] - m_Graphics: {fileID: 473149241} - m_CooldownDuration: 0.5 - pressed: - m_PersistentCalls: - m_Calls: - - m_Target: {fileID: 355652067} - m_TargetAssemblyTypeName: RebootReality.jelycho.ActorSpawner, RebootReality.jelycho - m_MethodName: SpawnActor - m_Mode: 1 - m_Arguments: - m_ObjectArgument: {fileID: 0} - m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine - m_IntArgument: 0 - m_FloatArgument: 0 - m_StringArgument: - m_BoolArgument: 0 - m_CallState: 2 ---- !u!4 &770822629 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 770822626} serializedVersion: 2 - m_LocalRotation: {x: -0, y: 0.7071062, z: -0, w: 0.7071075} - m_LocalPosition: {x: -11.204, y: 1.308, z: 15.93} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 473149241} - m_Father: {fileID: 0} - m_LocalEulerAnglesHint: {x: 0, y: 90, z: 0} + m_Modification: + serializedVersion: 3 + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 711698021777897586, guid: 972c6cd5ba00fa143a466d6fd55fc7b2, type: 3} + propertyPath: k__BackingField + value: 4912413802321069990 + objectReference: {fileID: 0} + - target: {fileID: 711698021777897586, guid: 972c6cd5ba00fa143a466d6fd55fc7b2, type: 3} + propertyPath: pressed.m_PersistentCalls.m_Calls.Array.size + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 711698021777897586, guid: 972c6cd5ba00fa143a466d6fd55fc7b2, type: 3} + propertyPath: pressed.m_PersistentCalls.m_Calls.Array.data[0].m_Mode + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 711698021777897586, guid: 972c6cd5ba00fa143a466d6fd55fc7b2, type: 3} + propertyPath: pressed.m_PersistentCalls.m_Calls.Array.data[0].m_Target + value: + objectReference: {fileID: 355652067} + - target: {fileID: 711698021777897586, guid: 972c6cd5ba00fa143a466d6fd55fc7b2, type: 3} + propertyPath: pressed.m_PersistentCalls.m_Calls.Array.data[0].m_CallState + value: 2 + objectReference: {fileID: 0} + - target: {fileID: 711698021777897586, guid: 972c6cd5ba00fa143a466d6fd55fc7b2, type: 3} + propertyPath: pressed.m_PersistentCalls.m_Calls.Array.data[0].m_MethodName + value: SpawnActor + objectReference: {fileID: 0} + - target: {fileID: 711698021777897586, guid: 972c6cd5ba00fa143a466d6fd55fc7b2, type: 3} + propertyPath: pressed.m_PersistentCalls.m_Calls.Array.data[0].m_TargetAssemblyTypeName + value: RebootReality.jelycho.ActorSpawner, RebootReality.jelycho + objectReference: {fileID: 0} + - target: {fileID: 711698021777897586, guid: 972c6cd5ba00fa143a466d6fd55fc7b2, type: 3} + propertyPath: pressed.m_PersistentCalls.m_Calls.Array.data[0].m_Arguments.m_ObjectArgumentAssemblyTypeName + value: UnityEngine.Object, UnityEngine + objectReference: {fileID: 0} + - target: {fileID: 1922569912310619096, guid: 972c6cd5ba00fa143a466d6fd55fc7b2, type: 3} + propertyPath: m_LocalPosition.x + value: -11.2 + objectReference: {fileID: 0} + - target: {fileID: 1922569912310619096, guid: 972c6cd5ba00fa143a466d6fd55fc7b2, type: 3} + propertyPath: m_LocalPosition.y + value: 1.308 + objectReference: {fileID: 0} + - target: {fileID: 1922569912310619096, guid: 972c6cd5ba00fa143a466d6fd55fc7b2, type: 3} + propertyPath: m_LocalPosition.z + value: 16.06 + objectReference: {fileID: 0} + - target: {fileID: 1922569912310619096, guid: 972c6cd5ba00fa143a466d6fd55fc7b2, type: 3} + propertyPath: m_LocalRotation.w + value: 0.7071075 + objectReference: {fileID: 0} + - target: {fileID: 1922569912310619096, guid: 972c6cd5ba00fa143a466d6fd55fc7b2, type: 3} + propertyPath: m_LocalRotation.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 1922569912310619096, guid: 972c6cd5ba00fa143a466d6fd55fc7b2, type: 3} + propertyPath: m_LocalRotation.y + value: 0.7071062 + objectReference: {fileID: 0} + - target: {fileID: 1922569912310619096, guid: 972c6cd5ba00fa143a466d6fd55fc7b2, type: 3} + propertyPath: m_LocalRotation.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 1922569912310619096, guid: 972c6cd5ba00fa143a466d6fd55fc7b2, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1922569912310619096, guid: 972c6cd5ba00fa143a466d6fd55fc7b2, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 90 + objectReference: {fileID: 0} + - target: {fileID: 1922569912310619096, guid: 972c6cd5ba00fa143a466d6fd55fc7b2, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4849713159452277179, guid: 972c6cd5ba00fa143a466d6fd55fc7b2, type: 3} + propertyPath: m_Name + value: button_0 (1) + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_RemovedGameObjects: [] + m_AddedGameObjects: [] + m_AddedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 972c6cd5ba00fa143a466d6fd55fc7b2, type: 3} --- !u!1 &776976392 GameObject: m_ObjectHideFlags: 0 @@ -2894,68 +2735,6 @@ Canvas: m_SortingLayerID: 0 m_SortingOrder: 0 m_TargetDisplay: 0 ---- !u!1001 &824577072 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - serializedVersion: 3 - m_TransformParent: {fileID: 1407465632} - m_Modifications: - - target: {fileID: -8679921383154817045, guid: 5de98fe51d9476a46b97732c355b6283, type: 3} - propertyPath: m_LocalPosition.x - value: -0 - objectReference: {fileID: 0} - - target: {fileID: -8679921383154817045, guid: 5de98fe51d9476a46b97732c355b6283, type: 3} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: -8679921383154817045, guid: 5de98fe51d9476a46b97732c355b6283, type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: -8679921383154817045, guid: 5de98fe51d9476a46b97732c355b6283, type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: -8679921383154817045, guid: 5de98fe51d9476a46b97732c355b6283, type: 3} - propertyPath: m_LocalRotation.x - value: 0.000000021855694 - objectReference: {fileID: 0} - - target: {fileID: -8679921383154817045, guid: 5de98fe51d9476a46b97732c355b6283, type: 3} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: -8679921383154817045, guid: 5de98fe51d9476a46b97732c355b6283, type: 3} - propertyPath: m_LocalRotation.z - value: -0 - objectReference: {fileID: 0} - - target: {fileID: -8679921383154817045, guid: 5de98fe51d9476a46b97732c355b6283, type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: -8679921383154817045, guid: 5de98fe51d9476a46b97732c355b6283, type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: -8679921383154817045, guid: 5de98fe51d9476a46b97732c355b6283, type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 919132149155446097, guid: 5de98fe51d9476a46b97732c355b6283, type: 3} - propertyPath: m_Name - value: Button - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_RemovedGameObjects: [] - m_AddedGameObjects: [] - m_AddedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: 5de98fe51d9476a46b97732c355b6283, type: 3} ---- !u!4 &824577073 stripped -Transform: - m_CorrespondingSourceObject: {fileID: -8679921383154817045, guid: 5de98fe51d9476a46b97732c355b6283, type: 3} - m_PrefabInstance: {fileID: 824577072} - m_PrefabAsset: {fileID: 0} --- !u!1 &832575517 GameObject: m_ObjectHideFlags: 0 @@ -3934,99 +3713,6 @@ Transform: m_Children: [] m_Father: {fileID: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &1407465629 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1407465632} - - component: {fileID: 1407465631} - - component: {fileID: 1407465630} - m_Layer: 0 - m_Name: button_0_zombie - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!65 &1407465630 -BoxCollider: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1407465629} - m_Material: {fileID: 0} - m_IncludeLayers: - serializedVersion: 2 - m_Bits: 0 - m_ExcludeLayers: - serializedVersion: 2 - m_Bits: 0 - m_LayerOverridePriority: 0 - m_IsTrigger: 0 - m_ProvidesContacts: 0 - m_Enabled: 1 - serializedVersion: 3 - m_Size: {x: 0.3108216, y: 0.2376185, z: 0.30895576} - m_Center: {x: 0, y: 0.111489624, z: 0} ---- !u!114 &1407465631 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1407465629} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: d10f6d33b0194c67966bb1a1b891ff3e, type: 3} - m_Name: - m_EditorClassIdentifier: - k__BackingField: - k__BackingField: 4980958500468326374 - m_ActorName: Spawner - actorRigidbody: {fileID: 0} - m_OverrideActorColliders: [] - m_SetKinematicOnMount: 1 - m_DisableCollidersOnMount: 1 - transformSyncMode: 0 - m_AttachmentSockets: [] - m_Graphics: {fileID: 824577073} - m_CooldownDuration: 0.5 - pressed: - m_PersistentCalls: - m_Calls: - - m_Target: {fileID: 177390762} - m_TargetAssemblyTypeName: RebootReality.jelycho.ActorSpawner, RebootReality.jelycho - m_MethodName: SpawnActor - m_Mode: 1 - m_Arguments: - m_ObjectArgument: {fileID: 0} - m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine - m_IntArgument: 0 - m_FloatArgument: 0 - m_StringArgument: - m_BoolArgument: 0 - m_CallState: 2 ---- !u!4 &1407465632 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1407465629} - serializedVersion: 2 - m_LocalRotation: {x: -0, y: 1, z: -0, w: 0.0000009685755} - m_LocalPosition: {x: 1.6959984, y: 1.308, z: 21.271002} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 824577073} - m_Father: {fileID: 0} - m_LocalEulerAnglesHint: {x: 0, y: 180, z: 0} --- !u!1 &1443285066 GameObject: m_ObjectHideFlags: 0 @@ -4459,68 +4145,67 @@ MeshFilter: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1601196691} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} ---- !u!1001 &1632172044 +--- !u!1001 &1637678466 PrefabInstance: m_ObjectHideFlags: 0 serializedVersion: 2 m_Modification: serializedVersion: 3 - m_TransformParent: {fileID: 631862182} + m_TransformParent: {fileID: 0} m_Modifications: - - target: {fileID: -8679921383154817045, guid: 5de98fe51d9476a46b97732c355b6283, type: 3} + - target: {fileID: 711236274234327174, guid: 50a5e87baaedf5b46ba52646e8e88b74, type: 3} propertyPath: m_LocalPosition.x - value: -0 - objectReference: {fileID: 0} - - target: {fileID: -8679921383154817045, guid: 5de98fe51d9476a46b97732c355b6283, type: 3} - propertyPath: m_LocalPosition.y value: 0 objectReference: {fileID: 0} - - target: {fileID: -8679921383154817045, guid: 5de98fe51d9476a46b97732c355b6283, type: 3} + - target: {fileID: 711236274234327174, guid: 50a5e87baaedf5b46ba52646e8e88b74, type: 3} + propertyPath: m_LocalPosition.y + value: 5.37 + objectReference: {fileID: 0} + - target: {fileID: 711236274234327174, guid: 50a5e87baaedf5b46ba52646e8e88b74, type: 3} propertyPath: m_LocalPosition.z value: 0 objectReference: {fileID: 0} - - target: {fileID: -8679921383154817045, guid: 5de98fe51d9476a46b97732c355b6283, type: 3} + - target: {fileID: 711236274234327174, guid: 50a5e87baaedf5b46ba52646e8e88b74, type: 3} propertyPath: m_LocalRotation.w value: 1 objectReference: {fileID: 0} - - target: {fileID: -8679921383154817045, guid: 5de98fe51d9476a46b97732c355b6283, type: 3} + - target: {fileID: 711236274234327174, guid: 50a5e87baaedf5b46ba52646e8e88b74, type: 3} propertyPath: m_LocalRotation.x - value: 0.000000021855694 + value: 0 objectReference: {fileID: 0} - - target: {fileID: -8679921383154817045, guid: 5de98fe51d9476a46b97732c355b6283, type: 3} + - target: {fileID: 711236274234327174, guid: 50a5e87baaedf5b46ba52646e8e88b74, type: 3} propertyPath: m_LocalRotation.y value: 0 objectReference: {fileID: 0} - - target: {fileID: -8679921383154817045, guid: 5de98fe51d9476a46b97732c355b6283, type: 3} + - target: {fileID: 711236274234327174, guid: 50a5e87baaedf5b46ba52646e8e88b74, type: 3} propertyPath: m_LocalRotation.z - value: -0 + value: 0 objectReference: {fileID: 0} - - target: {fileID: -8679921383154817045, guid: 5de98fe51d9476a46b97732c355b6283, type: 3} + - target: {fileID: 711236274234327174, guid: 50a5e87baaedf5b46ba52646e8e88b74, type: 3} propertyPath: m_LocalEulerAnglesHint.x value: 0 objectReference: {fileID: 0} - - target: {fileID: -8679921383154817045, guid: 5de98fe51d9476a46b97732c355b6283, type: 3} + - target: {fileID: 711236274234327174, guid: 50a5e87baaedf5b46ba52646e8e88b74, type: 3} propertyPath: m_LocalEulerAnglesHint.y value: 0 objectReference: {fileID: 0} - - target: {fileID: -8679921383154817045, guid: 5de98fe51d9476a46b97732c355b6283, type: 3} + - target: {fileID: 711236274234327174, guid: 50a5e87baaedf5b46ba52646e8e88b74, type: 3} propertyPath: m_LocalEulerAnglesHint.z value: 0 objectReference: {fileID: 0} - - target: {fileID: 919132149155446097, guid: 5de98fe51d9476a46b97732c355b6283, type: 3} + - target: {fileID: 3623051023707969355, guid: 50a5e87baaedf5b46ba52646e8e88b74, type: 3} + propertyPath: k__BackingField + value: 4640091262378877913 + objectReference: {fileID: 0} + - target: {fileID: 7390605608055178527, guid: 50a5e87baaedf5b46ba52646e8e88b74, type: 3} propertyPath: m_Name - value: Button + value: item_dagger objectReference: {fileID: 0} m_RemovedComponents: [] m_RemovedGameObjects: [] m_AddedGameObjects: [] m_AddedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: 5de98fe51d9476a46b97732c355b6283, type: 3} ---- !u!4 &1632172045 stripped -Transform: - m_CorrespondingSourceObject: {fileID: -8679921383154817045, guid: 5de98fe51d9476a46b97732c355b6283, type: 3} - m_PrefabInstance: {fileID: 1632172044} - m_PrefabAsset: {fileID: 0} + m_SourcePrefab: {fileID: 100100000, guid: 50a5e87baaedf5b46ba52646e8e88b74, type: 3} --- !u!1 &1665226599 GameObject: m_ObjectHideFlags: 0 @@ -4937,6 +4622,95 @@ PrefabInstance: m_AddedGameObjects: [] m_AddedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: 2fb503c7c7d54464f9bc16d97113b9e8, type: 3} +--- !u!1001 &1862566735 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + serializedVersion: 3 + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 711698021777897586, guid: 972c6cd5ba00fa143a466d6fd55fc7b2, type: 3} + propertyPath: k__BackingField + value: 4889376104694775875 + objectReference: {fileID: 0} + - target: {fileID: 711698021777897586, guid: 972c6cd5ba00fa143a466d6fd55fc7b2, type: 3} + propertyPath: pressed.m_PersistentCalls.m_Calls.Array.size + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 711698021777897586, guid: 972c6cd5ba00fa143a466d6fd55fc7b2, type: 3} + propertyPath: pressed.m_PersistentCalls.m_Calls.Array.data[0].m_Mode + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 711698021777897586, guid: 972c6cd5ba00fa143a466d6fd55fc7b2, type: 3} + propertyPath: pressed.m_PersistentCalls.m_Calls.Array.data[0].m_Target + value: + objectReference: {fileID: 177390762} + - target: {fileID: 711698021777897586, guid: 972c6cd5ba00fa143a466d6fd55fc7b2, type: 3} + propertyPath: pressed.m_PersistentCalls.m_Calls.Array.data[0].m_CallState + value: 2 + objectReference: {fileID: 0} + - target: {fileID: 711698021777897586, guid: 972c6cd5ba00fa143a466d6fd55fc7b2, type: 3} + propertyPath: pressed.m_PersistentCalls.m_Calls.Array.data[0].m_MethodName + value: SpawnActor + objectReference: {fileID: 0} + - target: {fileID: 711698021777897586, guid: 972c6cd5ba00fa143a466d6fd55fc7b2, type: 3} + propertyPath: pressed.m_PersistentCalls.m_Calls.Array.data[0].m_TargetAssemblyTypeName + value: RebootReality.jelycho.ActorSpawner, RebootReality.jelycho + objectReference: {fileID: 0} + - target: {fileID: 711698021777897586, guid: 972c6cd5ba00fa143a466d6fd55fc7b2, type: 3} + propertyPath: pressed.m_PersistentCalls.m_Calls.Array.data[0].m_Arguments.m_ObjectArgumentAssemblyTypeName + value: UnityEngine.Object, UnityEngine + objectReference: {fileID: 0} + - target: {fileID: 1922569912310619096, guid: 972c6cd5ba00fa143a466d6fd55fc7b2, type: 3} + propertyPath: m_LocalPosition.x + value: 1.81 + objectReference: {fileID: 0} + - target: {fileID: 1922569912310619096, guid: 972c6cd5ba00fa143a466d6fd55fc7b2, type: 3} + propertyPath: m_LocalPosition.y + value: 1.308 + objectReference: {fileID: 0} + - target: {fileID: 1922569912310619096, guid: 972c6cd5ba00fa143a466d6fd55fc7b2, type: 3} + propertyPath: m_LocalPosition.z + value: 20.97 + objectReference: {fileID: 0} + - target: {fileID: 1922569912310619096, guid: 972c6cd5ba00fa143a466d6fd55fc7b2, type: 3} + propertyPath: m_LocalRotation.w + value: 0.7071075 + objectReference: {fileID: 0} + - target: {fileID: 1922569912310619096, guid: 972c6cd5ba00fa143a466d6fd55fc7b2, type: 3} + propertyPath: m_LocalRotation.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 1922569912310619096, guid: 972c6cd5ba00fa143a466d6fd55fc7b2, type: 3} + propertyPath: m_LocalRotation.y + value: 0.7071062 + objectReference: {fileID: 0} + - target: {fileID: 1922569912310619096, guid: 972c6cd5ba00fa143a466d6fd55fc7b2, type: 3} + propertyPath: m_LocalRotation.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 1922569912310619096, guid: 972c6cd5ba00fa143a466d6fd55fc7b2, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1922569912310619096, guid: 972c6cd5ba00fa143a466d6fd55fc7b2, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 90 + objectReference: {fileID: 0} + - target: {fileID: 1922569912310619096, guid: 972c6cd5ba00fa143a466d6fd55fc7b2, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4849713159452277179, guid: 972c6cd5ba00fa143a466d6fd55fc7b2, type: 3} + propertyPath: m_Name + value: button_0 (2) + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_RemovedGameObjects: [] + m_AddedGameObjects: [] + m_AddedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 972c6cd5ba00fa143a466d6fd55fc7b2, type: 3} --- !u!1 &1913099148 GameObject: m_ObjectHideFlags: 0 @@ -5479,6 +5253,91 @@ MeshFilter: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 2142333103} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1001 &3335188186334991367 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + serializedVersion: 3 + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 711698021777897586, guid: 972c6cd5ba00fa143a466d6fd55fc7b2, type: 3} + propertyPath: pressed.m_PersistentCalls.m_Calls.Array.size + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 711698021777897586, guid: 972c6cd5ba00fa143a466d6fd55fc7b2, type: 3} + propertyPath: pressed.m_PersistentCalls.m_Calls.Array.data[0].m_Mode + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 711698021777897586, guid: 972c6cd5ba00fa143a466d6fd55fc7b2, type: 3} + propertyPath: pressed.m_PersistentCalls.m_Calls.Array.data[0].m_Target + value: + objectReference: {fileID: 1152925069} + - target: {fileID: 711698021777897586, guid: 972c6cd5ba00fa143a466d6fd55fc7b2, type: 3} + propertyPath: pressed.m_PersistentCalls.m_Calls.Array.data[0].m_CallState + value: 2 + objectReference: {fileID: 0} + - target: {fileID: 711698021777897586, guid: 972c6cd5ba00fa143a466d6fd55fc7b2, type: 3} + propertyPath: pressed.m_PersistentCalls.m_Calls.Array.data[0].m_MethodName + value: SpawnActor + objectReference: {fileID: 0} + - target: {fileID: 711698021777897586, guid: 972c6cd5ba00fa143a466d6fd55fc7b2, type: 3} + propertyPath: pressed.m_PersistentCalls.m_Calls.Array.data[0].m_TargetAssemblyTypeName + value: RebootReality.jelycho.ActorSpawner, RebootReality.jelycho + objectReference: {fileID: 0} + - target: {fileID: 711698021777897586, guid: 972c6cd5ba00fa143a466d6fd55fc7b2, type: 3} + propertyPath: pressed.m_PersistentCalls.m_Calls.Array.data[0].m_Arguments.m_ObjectArgumentAssemblyTypeName + value: UnityEngine.Object, UnityEngine + objectReference: {fileID: 0} + - target: {fileID: 1922569912310619096, guid: 972c6cd5ba00fa143a466d6fd55fc7b2, type: 3} + propertyPath: m_LocalPosition.x + value: -11.204 + objectReference: {fileID: 0} + - target: {fileID: 1922569912310619096, guid: 972c6cd5ba00fa143a466d6fd55fc7b2, type: 3} + propertyPath: m_LocalPosition.y + value: 1.308 + objectReference: {fileID: 0} + - target: {fileID: 1922569912310619096, guid: 972c6cd5ba00fa143a466d6fd55fc7b2, type: 3} + propertyPath: m_LocalPosition.z + value: 12.46 + objectReference: {fileID: 0} + - target: {fileID: 1922569912310619096, guid: 972c6cd5ba00fa143a466d6fd55fc7b2, type: 3} + propertyPath: m_LocalRotation.w + value: 0.7071075 + objectReference: {fileID: 0} + - target: {fileID: 1922569912310619096, guid: 972c6cd5ba00fa143a466d6fd55fc7b2, type: 3} + propertyPath: m_LocalRotation.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 1922569912310619096, guid: 972c6cd5ba00fa143a466d6fd55fc7b2, type: 3} + propertyPath: m_LocalRotation.y + value: 0.7071062 + objectReference: {fileID: 0} + - target: {fileID: 1922569912310619096, guid: 972c6cd5ba00fa143a466d6fd55fc7b2, type: 3} + propertyPath: m_LocalRotation.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 1922569912310619096, guid: 972c6cd5ba00fa143a466d6fd55fc7b2, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1922569912310619096, guid: 972c6cd5ba00fa143a466d6fd55fc7b2, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 90 + objectReference: {fileID: 0} + - target: {fileID: 1922569912310619096, guid: 972c6cd5ba00fa143a466d6fd55fc7b2, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4849713159452277179, guid: 972c6cd5ba00fa143a466d6fd55fc7b2, type: 3} + propertyPath: m_Name + value: button_0 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_RemovedGameObjects: [] + m_AddedGameObjects: [] + m_AddedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 972c6cd5ba00fa143a466d6fd55fc7b2, type: 3} --- !u!1660057539 &9223372036854775807 SceneRoots: m_ObjectHideFlags: 0 @@ -5499,11 +5358,12 @@ SceneRoots: - {fileID: 30536490} - {fileID: 1949892186} - {fileID: 2023481773} - - {fileID: 631862182} + - {fileID: 3335188186334991367} - {fileID: 1152925070} - - {fileID: 770822629} + - {fileID: 744008967} - {fileID: 355652068} - - {fileID: 1407465632} + - {fileID: 1862566735} - {fileID: 177390763} - {fileID: 1803449077} - {fileID: 355103136} + - {fileID: 1637678466} diff --git a/Assets/jelycho/core/Items/item_dagger.prefab b/Assets/jelycho/core/Items/item_dagger.prefab index 7029c28..c23ded1 100644 --- a/Assets/jelycho/core/Items/item_dagger.prefab +++ b/Assets/jelycho/core/Items/item_dagger.prefab @@ -12,6 +12,7 @@ GameObject: - component: {fileID: 3623051023707969355} - component: {fileID: 695493513755002537} - component: {fileID: 3445042364824966478} + - component: {fileID: 7914013011722124926} m_Layer: 8 m_Name: item_dagger m_TagString: Untagged @@ -63,6 +64,7 @@ MonoBehaviour: isChargeable: 0 chargeDuration: 0.5 chargeCooldown: 1 + m_Outline: {fileID: 7914013011722124926} --- !u!54 &695493513755002537 Rigidbody: m_ObjectHideFlags: 0 @@ -111,6 +113,24 @@ BoxCollider: serializedVersion: 3 m_Size: {x: 0.1929968, y: 1.3103356, z: 0.06497225} m_Center: {x: 0, y: 0.35144886, z: 0} +--- !u!114 &7914013011722124926 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7390605608055178527} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5fea29bb7c508c244a1f805a5fd3fc4d, type: 3} + m_Name: + m_EditorClassIdentifier: + outlineMode: 0 + outlineColor: {r: 1, g: 1, b: 1, a: 1} + outlineWidth: 2 + precomputeOutline: 0 + bakeKeys: [] + bakeValues: [] --- !u!1001 &8487670479205696809 PrefabInstance: m_ObjectHideFlags: 0 diff --git a/Assets/jelycho/core/Items/item_egg.prefab b/Assets/jelycho/core/Items/item_egg.prefab index 367b995..fa6d6c9 100644 --- a/Assets/jelycho/core/Items/item_egg.prefab +++ b/Assets/jelycho/core/Items/item_egg.prefab @@ -12,6 +12,7 @@ GameObject: - component: {fileID: 7929351721218922398} - component: {fileID: 6762445103522978435} - component: {fileID: 1953172795149118101} + - component: {fileID: 6438309764977597389} m_Layer: 8 m_Name: item_egg m_TagString: Untagged @@ -64,6 +65,7 @@ MonoBehaviour: isChargeable: 0 chargeDuration: 0.5 chargeCooldown: 1 + m_Outline: {fileID: 6438309764977597389} --- !u!54 &6762445103522978435 Rigidbody: m_ObjectHideFlags: 0 @@ -112,6 +114,24 @@ SphereCollider: serializedVersion: 3 m_Radius: 0.05 m_Center: {x: 0, y: 0, z: 0} +--- !u!114 &6438309764977597389 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8301825931372056919} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5fea29bb7c508c244a1f805a5fd3fc4d, type: 3} + m_Name: + m_EditorClassIdentifier: + outlineMode: 0 + outlineColor: {r: 1, g: 1, b: 1, a: 1} + outlineWidth: 2 + precomputeOutline: 0 + bakeKeys: [] + bakeValues: [] --- !u!1001 &9518845739383610 PrefabInstance: m_ObjectHideFlags: 0 diff --git a/Assets/jelycho/core/interactables.meta b/Assets/jelycho/core/interactables.meta new file mode 100644 index 0000000..dfe0cfa --- /dev/null +++ b/Assets/jelycho/core/interactables.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 0a287814965422e46b090c745662b5e5 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/jelycho/core/interactables/button_0.prefab b/Assets/jelycho/core/interactables/button_0.prefab new file mode 100644 index 0000000..e31ba95 --- /dev/null +++ b/Assets/jelycho/core/interactables/button_0.prefab @@ -0,0 +1,165 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &4849713159452277179 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1922569912310619096} + - component: {fileID: 711698021777897586} + - component: {fileID: 1698991612548083951} + - component: {fileID: 4363283694752970860} + m_Layer: 0 + m_Name: button_0 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1922569912310619096 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4849713159452277179} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: 0.7071062, z: -0, w: 0.7071075} + m_LocalPosition: {x: -11.204, y: 1.308, z: 12.46} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 5668387886077798210} + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 90, z: 0} +--- !u!114 &711698021777897586 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4849713159452277179} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d10f6d33b0194c67966bb1a1b891ff3e, type: 3} + m_Name: + m_EditorClassIdentifier: + k__BackingField: + k__BackingField: 4778235417374537984 + m_ActorName: Button + actorRigidbody: {fileID: 0} + m_OverrideActorColliders: [] + m_SetKinematicOnMount: 1 + m_DisableCollidersOnMount: 1 + transformSyncMode: 0 + m_AttachmentSockets: [] + m_Outline: {fileID: 4363283694752970860} + m_Graphics: {fileID: 5668387886077798210} + m_CooldownDuration: 0.5 + pressed: + m_PersistentCalls: + m_Calls: [] +--- !u!65 &1698991612548083951 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4849713159452277179} + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_IsTrigger: 0 + m_ProvidesContacts: 0 + m_Enabled: 1 + serializedVersion: 3 + m_Size: {x: 0.3108216, y: 0.2376185, z: 0.30895576} + m_Center: {x: 0, y: 0.111489624, z: 0} +--- !u!114 &4363283694752970860 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4849713159452277179} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5fea29bb7c508c244a1f805a5fd3fc4d, type: 3} + m_Name: + m_EditorClassIdentifier: + outlineMode: 0 + outlineColor: {r: 1, g: 1, b: 1, a: 1} + outlineWidth: 2 + precomputeOutline: 0 + bakeKeys: [] + bakeValues: [] +--- !u!1001 &5269371828588380329 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + serializedVersion: 3 + m_TransformParent: {fileID: 1922569912310619096} + m_Modifications: + - target: {fileID: -8679921383154817045, guid: 5de98fe51d9476a46b97732c355b6283, type: 3} + propertyPath: m_LocalPosition.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: 5de98fe51d9476a46b97732c355b6283, type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: 5de98fe51d9476a46b97732c355b6283, type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: 5de98fe51d9476a46b97732c355b6283, type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: 5de98fe51d9476a46b97732c355b6283, type: 3} + propertyPath: m_LocalRotation.x + value: 0.000000021855694 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: 5de98fe51d9476a46b97732c355b6283, type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: 5de98fe51d9476a46b97732c355b6283, type: 3} + propertyPath: m_LocalRotation.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: 5de98fe51d9476a46b97732c355b6283, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: 5de98fe51d9476a46b97732c355b6283, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: 5de98fe51d9476a46b97732c355b6283, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 919132149155446097, guid: 5de98fe51d9476a46b97732c355b6283, type: 3} + propertyPath: m_Name + value: Button + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_RemovedGameObjects: [] + m_AddedGameObjects: [] + m_AddedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 5de98fe51d9476a46b97732c355b6283, type: 3} +--- !u!4 &5668387886077798210 stripped +Transform: + m_CorrespondingSourceObject: {fileID: -8679921383154817045, guid: 5de98fe51d9476a46b97732c355b6283, type: 3} + m_PrefabInstance: {fileID: 5269371828588380329} + m_PrefabAsset: {fileID: 0} diff --git a/Assets/jelycho/core/interactables/button_0.prefab.meta b/Assets/jelycho/core/interactables/button_0.prefab.meta new file mode 100644 index 0000000..44d4803 --- /dev/null +++ b/Assets/jelycho/core/interactables/button_0.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 972c6cd5ba00fa143a466d6fd55fc7b2 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: