diff --git a/Assets/Scenes/Marcin/DebugScene.unity b/Assets/Scenes/Marcin/DebugScene.unity index e67f1ac29..c5d63e099 100644 --- a/Assets/Scenes/Marcin/DebugScene.unity +++ b/Assets/Scenes/Marcin/DebugScene.unity @@ -4519,43 +4519,6 @@ PrefabInstance: m_AddedGameObjects: [] m_AddedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: 4c0287977ce906244bdc19e4e9fdba37, type: 3} ---- !u!84 &185365053 -RenderTexture: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: - m_ImageContentsHash: - serializedVersion: 2 - Hash: 00000000000000000000000000000000 - m_IsAlphaChannelOptional: 0 - serializedVersion: 6 - m_Width: 512 - m_Height: 512 - m_AntiAliasing: 1 - m_MipCount: -1 - m_DepthStencilFormat: 90 - m_ColorFormat: 4 - m_MipMap: 0 - m_GenerateMips: 1 - m_SRGB: 1 - m_UseDynamicScale: 0 - m_UseDynamicScaleExplicit: 0 - m_BindMS: 0 - m_EnableCompatibleFormat: 1 - m_EnableRandomWrite: 0 - m_TextureSettings: - serializedVersion: 2 - m_FilterMode: 1 - m_Aniso: 1 - m_MipBias: 0 - m_WrapU: 1 - m_WrapV: 1 - m_WrapW: 1 - m_Dimension: 2 - m_VolumeDepth: 1 - m_ShadowSamplingMode: 2 --- !u!1001 &209249256 PrefabInstance: m_ObjectHideFlags: 0 @@ -4647,6 +4610,171 @@ Animator: type: 3} m_PrefabInstance: {fileID: 44831531} m_PrefabAsset: {fileID: 0} +--- !u!43 &247765714 +Mesh: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: FluidContainer + serializedVersion: 11 + m_SubMeshes: + - serializedVersion: 2 + firstByte: 0 + indexCount: 36 + topology: 0 + baseVertex: 0 + firstVertex: 0 + vertexCount: 24 + localAABB: + m_Center: {x: 0, y: 0, z: 0} + m_Extent: {x: 10, y: 10, z: 9} + m_Shapes: + vertices: [] + shapes: [] + channels: [] + fullWeights: [] + m_BindPose: [] + m_BoneNameHashes: + m_RootBoneNameHash: 0 + m_BonesAABB: [] + m_VariableBoneCountWeights: + m_Data: + m_MeshCompression: 0 + m_IsReadable: 1 + m_KeepVertices: 0 + m_KeepIndices: 0 + m_IndexFormat: 1 + m_IndexBuffer: 00000000010000000300000001000000020000000300000004000000050000000700000005000000060000000700000008000000090000000b000000090000000a0000000b0000000c0000000d0000000f0000000d0000000e0000000f000000100000001100000013000000110000001200000013000000140000001500000017000000150000001600000017000000 + m_VertexData: + serializedVersion: 3 + m_VertexCount: 24 + m_Channels: + - stream: 0 + offset: 0 + format: 0 + dimension: 3 + - stream: 0 + offset: 12 + format: 0 + dimension: 3 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 24 + format: 0 + dimension: 2 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + m_DataSize: 768 + _typelessdata: 000020c1000020c100001041000000800000803f000000800000803f0000803f00002041000020c100001041000000800000803f00000080000000000000803f00002041000020c1000010c1000000800000803f000000800000000000000000000020c1000020c1000010c1000000800000803f000000800000803f00000000000020c100002041000010c10000803f00000080000000800000803f0000803f000020c100002041000010410000803f0000008000000080000000000000803f000020c1000020c1000010410000803f00000080000000800000000000000000000020c1000020c1000010c10000803f00000080000000800000803f00000000000020c100002041000010410000008000000080000080bf0000803f0000803f0000204100002041000010410000008000000080000080bf000000000000803f00002041000020c1000010410000008000000080000080bf0000000000000000000020c1000020c1000010410000008000000080000080bf0000803f000000000000204100002041000010c100000080000000800000803f0000803f0000803f000020c100002041000010c100000080000000800000803f000000000000803f000020c1000020c1000010c100000080000000800000803f000000000000000000002041000020c1000010c100000080000000800000803f0000803f00000000000020410000204100001041000080bf00000080000000800000803f0000803f0000204100002041000010c1000080bf0000008000000080000000000000803f00002041000020c1000010c1000080bf0000008000000080000000000000000000002041000020c100001041000080bf00000080000000800000803f00000000000020c100002041000010c100000080000080bf000000800000803f0000803f0000204100002041000010c100000080000080bf00000080000000000000803f00002041000020410000104100000080000080bf000000800000000000000000000020c1000020410000104100000080000080bf000000800000803f00000000 + m_CompressedMesh: + m_Vertices: + m_NumItems: 0 + m_Range: 0 + m_Start: 0 + m_Data: + m_BitSize: 0 + m_UV: + m_NumItems: 0 + m_Range: 0 + m_Start: 0 + m_Data: + m_BitSize: 0 + m_Normals: + m_NumItems: 0 + m_Range: 0 + m_Start: 0 + m_Data: + m_BitSize: 0 + m_Tangents: + m_NumItems: 0 + m_Range: 0 + m_Start: 0 + m_Data: + m_BitSize: 0 + m_Weights: + m_NumItems: 0 + m_Data: + m_BitSize: 0 + m_NormalSigns: + m_NumItems: 0 + m_Data: + m_BitSize: 0 + m_TangentSigns: + m_NumItems: 0 + m_Data: + m_BitSize: 0 + m_FloatColors: + m_NumItems: 0 + m_Range: 0 + m_Start: 0 + m_Data: + m_BitSize: 0 + m_BoneIndices: + m_NumItems: 0 + m_Data: + m_BitSize: 0 + m_Triangles: + m_NumItems: 0 + m_Data: + m_BitSize: 0 + m_UVInfo: 0 + m_LocalAABB: + m_Center: {x: 0, y: 0, z: 0} + m_Extent: {x: 10, y: 10, z: 9} + m_MeshUsageFlags: 0 + m_CookingOptions: 30 + m_BakedConvexCollisionMesh: + m_BakedTriangleCollisionMesh: + 'm_MeshMetrics[0]': 1 + 'm_MeshMetrics[1]': 1 + m_MeshOptimizationFlags: 1 + m_StreamData: + serializedVersion: 2 + offset: 0 + size: 0 + path: --- !u!1 &267127504 GameObject: m_ObjectHideFlags: 0 @@ -4821,6 +4949,7 @@ Material: RenderType: Transparent disabledShaderPasses: - DepthOnly + - MOTIONVECTORS m_LockedProperties: m_SavedProperties: serializedVersion: 3 @@ -4909,12 +5038,14 @@ Material: - USEFRESNEL: 1 - Vector1_473704f964214ae2bc68475022d1524b: 0.05 - _AlphaClip: 0 + - _AlphaToMask: 0 - _BendEffect: 0 - _BendMaxDistance: 1 - _BendMaxHeight: 0 - _BendMinDistance: 0.2 - _BendMinHeight: 1 - _Blend: 0 + - _BlendModePreserveSpecular: 0 - _BumpScale: 1 - _CastShadows: 1 - _ClearCoatMask: 0 @@ -4927,10 +5058,12 @@ Material: - _EffectThreshold: 0 - _EnvironmentReflections: 1 - _FadeDistance: 0 + - _FarFadeDistance: 500 - _GlossMapScale: 0 - _Glossiness: 0 - _GlossyReflections: 0 - _InverseFadeRange: 1 + - _InverseFarFadeRange: 0.5 - _Metallic: 0 - _OcclusionStrength: 1 - _Parallax: 0.005 @@ -6385,131 +6518,6 @@ PrefabInstance: m_AddedGameObjects: [] m_AddedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: 59165210a2e6bd04ca12087794c54b5e, type: 3} ---- !u!21 &528799933 -Material: - serializedVersion: 8 - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: PortalMat (Instance) (Instance) (Instance) (Instance) (Instance) (Instance) - (Instance) (Instance) (Instance) (Instance) (Instance) (Instance) (Instance) - (Instance) (Instance) (Instance) (Instance) (Instance) (Instance) (Instance) - (Instance) (Instance) (Instance) (Instance) (Instance) (Instance) (Instance) - (Instance) (Instance) (Instance) (Instance) (Instance) (Instance) (Instance) - (Instance) (Instance) (Instance) (Instance) (Instance) (Instance) (Instance) - (Instance) (Instance) (Instance) (Instance) (Instance) (Instance) (Instance) - (Instance) (Instance) (Instance) (Instance) (Instance) (Instance) (Instance) - (Instance) (Instance) (Instance) (Instance) (Instance) (Instance) (Instance) - (Instance) (Instance) (Instance) (Instance) - m_Shader: {fileID: -6465566751694194690, guid: f90138ae641de784cb4b453bdc734b14, - type: 3} - m_Parent: {fileID: 0} - m_ModifiedSerializedProperties: 0 - m_ValidKeywords: [] - m_InvalidKeywords: [] - m_LightmapFlags: 4 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: -1 - stringTagMap: {} - disabledShaderPasses: - - MOTIONVECTORS - m_LockedProperties: - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - _BaseMap: - m_Texture: {fileID: 185365053} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BumpMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _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} - - _MaskMap: - m_Texture: {fileID: 2800000, guid: 84487d73ca4b791498332d8f6858417f, type: 3} - 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} - - _NormalMap: - m_Texture: {fileID: 2800000, guid: 9d67afb2ebc87cc43b5be99e1b689960, type: 3} - 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} - - _SpecGlossMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _Texture2DAsset_EAC75755_Out_0: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_Lightmaps: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_LightmapsInd: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_ShadowMasks: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Ints: [] - m_Floats: - - _AlphaClip: 0 - - _Blend: 0 - - _BumpScale: 1 - - _Cull: 2 - - _Cutoff: 0.5 - - _DstBlend: 0 - - _EnvironmentReflections: 1 - - _GlossMapScale: 0 - - _Glossiness: 0 - - _GlossyReflections: 0 - - _Metallic: 0 - - _NormalSpeed: 0.36 - - _NormalStrength: 0.49 - - _NormalTiling: 0.41 - - _OcclusionStrength: 1 - - _OffsetStrength: 0.1 - - _PortalBrightness: 2 - - _QueueControl: 0 - - _QueueOffset: 0 - - _ReceiveShadows: 1 - - _Smoothness: 0.5 - - _SmoothnessTextureChannel: 0 - - _SpecularHighlights: 1 - - _Speed: 0.5 - - _SrcBlend: 1 - - _Surface: 0 - - _TwirlPower: 8 - - _WorkflowMode: 1 - - _ZWrite: 1 - m_Colors: - - _BaseColor: {r: 1, g: 1, b: 1, a: 1} - - _Color: {r: 1, g: 1, b: 1, a: 1} - - _EffectColor: {r: 0, g: 0.7548079, b: 1, a: 0} - - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} - - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1} - m_BuildTextureStacks: [] - m_AllowLocking: 1 --- !u!1 &540906067 GameObject: m_ObjectHideFlags: 0 @@ -6791,11 +6799,185 @@ PrefabInstance: propertyPath: m_AnchorMax.y value: 1 objectReference: {fileID: 0} - m_RemovedComponents: [] + m_RemovedComponents: + - {fileID: 6963020348023764796, guid: 8d2175a927c971743a0b8406545c605b, type: 3} m_RemovedGameObjects: [] m_AddedGameObjects: [] m_AddedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: 8d2175a927c971743a0b8406545c605b, type: 3} +--- !u!43 &610775398 +Mesh: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Quad Instance Instance Instance Instance Instance Instance Instance Instance + Instance Instance Instance Instance Instance Instance Instance Instance Instance + Instance Instance Instance Instance Instance Instance Instance Instance Instance + Instance Instance Instance Instance Instance Instance Instance Instance Instance + Instance Instance Instance Instance Instance Instance Instance Instance Instance + Instance Instance Instance Instance Instance Instance Instance Instance Instance + Instance Instance Instance Instance Instance Instance Instance Instance Instance + Instance Instance Instance Instance Instance Instance Instance Instance Instance + Instance + serializedVersion: 11 + m_SubMeshes: + - serializedVersion: 2 + firstByte: 0 + indexCount: 6 + topology: 0 + baseVertex: 0 + firstVertex: 0 + vertexCount: 4 + localAABB: + m_Center: {x: 0, y: 0, z: 0} + m_Extent: {x: 0.5, y: 0.5, z: 3.0616168e-17} + m_Shapes: + vertices: [] + shapes: [] + channels: [] + fullWeights: [] + m_BindPose: [] + m_BoneNameHashes: + m_RootBoneNameHash: 0 + m_BonesAABB: [] + m_VariableBoneCountWeights: + m_Data: + m_MeshCompression: 0 + m_IsReadable: 1 + m_KeepVertices: 1 + m_KeepIndices: 1 + m_IndexFormat: 0 + m_IndexBuffer: 000003000100030000000200 + m_VertexData: + serializedVersion: 3 + m_VertexCount: 4 + m_Channels: + - stream: 0 + offset: 0 + format: 0 + dimension: 3 + - stream: 0 + offset: 12 + format: 0 + dimension: 3 + - stream: 0 + offset: 24 + format: 0 + dimension: 4 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 40 + format: 0 + dimension: 2 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + m_DataSize: 192 + _typelessdata: 000000bf000000bf31310da40000000000000000000080bf0000803f0000000000000000000080bf00000000000000000000003f000000bf31310da40000000000000000000080bf0000803f0000000000000000000080bf0000803f00000000000000bf0000003f31310d240000000000000000000080bf0000803f0000000000000000000080bf000000000000803f0000003f0000003f31310d240000000000000000000080bf0000803f0000000000000000000080bf0000803f0000803f + m_CompressedMesh: + m_Vertices: + m_NumItems: 0 + m_Range: 0 + m_Start: 0 + m_Data: + m_BitSize: 0 + m_UV: + m_NumItems: 0 + m_Range: 0 + m_Start: 0 + m_Data: + m_BitSize: 0 + m_Normals: + m_NumItems: 0 + m_Range: 0 + m_Start: 0 + m_Data: + m_BitSize: 0 + m_Tangents: + m_NumItems: 0 + m_Range: 0 + m_Start: 0 + m_Data: + m_BitSize: 0 + m_Weights: + m_NumItems: 0 + m_Data: + m_BitSize: 0 + m_NormalSigns: + m_NumItems: 0 + m_Data: + m_BitSize: 0 + m_TangentSigns: + m_NumItems: 0 + m_Data: + m_BitSize: 0 + m_FloatColors: + m_NumItems: 0 + m_Range: 0 + m_Start: 0 + m_Data: + m_BitSize: 0 + m_BoneIndices: + m_NumItems: 0 + m_Data: + m_BitSize: 0 + m_Triangles: + m_NumItems: 0 + m_Data: + m_BitSize: 0 + m_UVInfo: 0 + m_LocalAABB: + m_Center: {x: 0, y: 0, z: 0} + m_Extent: {x: 0.5, y: 0.5, z: 3.0616168e-17} + m_MeshUsageFlags: 0 + m_CookingOptions: 30 + m_BakedConvexCollisionMesh: + m_BakedTriangleCollisionMesh: + 'm_MeshMetrics[0]': 1 + 'm_MeshMetrics[1]': 1 + m_MeshOptimizationFlags: 0 + m_StreamData: + serializedVersion: 2 + offset: 0 + size: 0 + path: --- !u!4 &635985467 stripped Transform: m_CorrespondingSourceObject: {fileID: 4438953459364064, guid: ff64d8a96dc97764b98e7420139d018a, @@ -6822,6 +7004,43 @@ MonoBehaviour: m_EditorClassIdentifier: timeScale: 1 startFixedDeltaTime: 0 +--- !u!84 &743391742 +RenderTexture: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: + m_ImageContentsHash: + serializedVersion: 2 + Hash: 00000000000000000000000000000000 + m_IsAlphaChannelOptional: 0 + serializedVersion: 6 + m_Width: 512 + m_Height: 512 + m_AntiAliasing: 1 + m_MipCount: -1 + m_DepthStencilFormat: 90 + m_ColorFormat: 4 + m_MipMap: 0 + m_GenerateMips: 1 + m_SRGB: 1 + m_UseDynamicScale: 0 + m_UseDynamicScaleExplicit: 0 + m_BindMS: 0 + m_EnableCompatibleFormat: 1 + m_EnableRandomWrite: 0 + m_TextureSettings: + serializedVersion: 2 + m_FilterMode: 1 + m_Aniso: 1 + m_MipBias: 0 + m_WrapU: 1 + m_WrapV: 1 + m_WrapW: 1 + m_Dimension: 2 + m_VolumeDepth: 1 + m_ShadowSamplingMode: 2 --- !u!1001 &775315289 PrefabInstance: m_ObjectHideFlags: 0 @@ -7464,6 +7683,132 @@ PrefabInstance: m_AddedGameObjects: [] m_AddedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: 79fa65a7e138311468db4997a5358dc6, type: 3} +--- !u!21 &848068048 +Material: + serializedVersion: 8 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: PortalMat (Instance) (Instance) (Instance) (Instance) (Instance) (Instance) + (Instance) (Instance) (Instance) (Instance) (Instance) (Instance) (Instance) + (Instance) (Instance) (Instance) (Instance) (Instance) (Instance) (Instance) + (Instance) (Instance) (Instance) (Instance) (Instance) (Instance) (Instance) + (Instance) (Instance) (Instance) (Instance) (Instance) (Instance) (Instance) + (Instance) (Instance) (Instance) (Instance) (Instance) (Instance) (Instance) + (Instance) (Instance) (Instance) (Instance) (Instance) (Instance) (Instance) + (Instance) (Instance) (Instance) (Instance) (Instance) (Instance) (Instance) + (Instance) (Instance) (Instance) (Instance) (Instance) (Instance) (Instance) + (Instance) (Instance) (Instance) (Instance) (Instance) (Instance) (Instance) + (Instance) (Instance) (Instance) + m_Shader: {fileID: -6465566751694194690, guid: f90138ae641de784cb4b453bdc734b14, + type: 3} + m_Parent: {fileID: 0} + m_ModifiedSerializedProperties: 0 + m_ValidKeywords: [] + m_InvalidKeywords: [] + m_LightmapFlags: 4 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: + - MOTIONVECTORS + m_LockedProperties: + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _BaseMap: + m_Texture: {fileID: 984900876} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _BumpMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _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} + - _MaskMap: + m_Texture: {fileID: 2800000, guid: 84487d73ca4b791498332d8f6858417f, type: 3} + 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} + - _NormalMap: + m_Texture: {fileID: 2800000, guid: 9d67afb2ebc87cc43b5be99e1b689960, type: 3} + 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} + - _SpecGlossMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _Texture2DAsset_EAC75755_Out_0: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_Lightmaps: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_LightmapsInd: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_ShadowMasks: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Ints: [] + m_Floats: + - _AlphaClip: 0 + - _Blend: 0 + - _BumpScale: 1 + - _Cull: 2 + - _Cutoff: 0.5 + - _DstBlend: 0 + - _EnvironmentReflections: 1 + - _GlossMapScale: 0 + - _Glossiness: 0 + - _GlossyReflections: 0 + - _Metallic: 0 + - _NormalSpeed: 0.36 + - _NormalStrength: 0.49 + - _NormalTiling: 0.41 + - _OcclusionStrength: 1 + - _OffsetStrength: 0.1 + - _PortalBrightness: 2 + - _QueueControl: 0 + - _QueueOffset: 0 + - _ReceiveShadows: 1 + - _Smoothness: 0.5 + - _SmoothnessTextureChannel: 0 + - _SpecularHighlights: 1 + - _Speed: 0.5 + - _SrcBlend: 1 + - _Surface: 0 + - _TwirlPower: 8 + - _WorkflowMode: 1 + - _ZWrite: 1 + m_Colors: + - _BaseColor: {r: 1, g: 1, b: 1, a: 1} + - _Color: {r: 1, g: 1, b: 1, a: 1} + - _EffectColor: {r: 0, g: 0.7548079, b: 1, a: 0} + - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} + - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1} + m_BuildTextureStacks: [] + m_AllowLocking: 1 --- !u!1 &885468786 GameObject: m_ObjectHideFlags: 0 @@ -7529,7 +7874,7 @@ MeshRenderer: m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: - - {fileID: 2030695058} + - {fileID: 848068048} m_StaticBatchInfo: firstSubMesh: 0 subMeshCount: 0 @@ -7558,7 +7903,7 @@ MeshFilter: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 885468786} - m_Mesh: {fileID: 2111569260} + m_Mesh: {fileID: 610775398} --- !u!4 &885468790 Transform: m_ObjectHideFlags: 0 @@ -8072,6 +8417,208 @@ PrefabInstance: insertIndex: -1 addedObject: {fileID: 49351266} m_SourcePrefab: {fileID: 100100000, guid: 7ce2eefa82dba4510a1a6086c08adcfd, type: 3} +--- !u!43 &977750099 +Mesh: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: FluidContainer + serializedVersion: 11 + m_SubMeshes: + - serializedVersion: 2 + firstByte: 0 + indexCount: 36 + topology: 0 + baseVertex: 0 + firstVertex: 0 + vertexCount: 24 + localAABB: + m_Center: {x: 0, y: 0, z: 0} + m_Extent: {x: 10, y: 10, z: 9} + m_Shapes: + vertices: [] + shapes: [] + channels: [] + fullWeights: [] + m_BindPose: [] + m_BoneNameHashes: + m_RootBoneNameHash: 0 + m_BonesAABB: [] + m_VariableBoneCountWeights: + m_Data: + m_MeshCompression: 0 + m_IsReadable: 1 + m_KeepVertices: 0 + m_KeepIndices: 0 + m_IndexFormat: 1 + m_IndexBuffer: 00000000010000000300000001000000020000000300000004000000050000000700000005000000060000000700000008000000090000000b000000090000000a0000000b0000000c0000000d0000000f0000000d0000000e0000000f000000100000001100000013000000110000001200000013000000140000001500000017000000150000001600000017000000 + m_VertexData: + serializedVersion: 3 + m_VertexCount: 24 + m_Channels: + - stream: 0 + offset: 0 + format: 0 + dimension: 3 + - stream: 0 + offset: 12 + format: 0 + dimension: 3 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 24 + format: 0 + dimension: 2 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + m_DataSize: 768 + _typelessdata: 000020c1000020c100001041000000800000803f000000800000803f0000803f00002041000020c100001041000000800000803f00000080000000000000803f00002041000020c1000010c1000000800000803f000000800000000000000000000020c1000020c1000010c1000000800000803f000000800000803f00000000000020c100002041000010c10000803f00000080000000800000803f0000803f000020c100002041000010410000803f0000008000000080000000000000803f000020c1000020c1000010410000803f00000080000000800000000000000000000020c1000020c1000010c10000803f00000080000000800000803f00000000000020c100002041000010410000008000000080000080bf0000803f0000803f0000204100002041000010410000008000000080000080bf000000000000803f00002041000020c1000010410000008000000080000080bf0000000000000000000020c1000020c1000010410000008000000080000080bf0000803f000000000000204100002041000010c100000080000000800000803f0000803f0000803f000020c100002041000010c100000080000000800000803f000000000000803f000020c1000020c1000010c100000080000000800000803f000000000000000000002041000020c1000010c100000080000000800000803f0000803f00000000000020410000204100001041000080bf00000080000000800000803f0000803f0000204100002041000010c1000080bf0000008000000080000000000000803f00002041000020c1000010c1000080bf0000008000000080000000000000000000002041000020c100001041000080bf00000080000000800000803f00000000000020c100002041000010c100000080000080bf000000800000803f0000803f0000204100002041000010c100000080000080bf00000080000000000000803f00002041000020410000104100000080000080bf000000800000000000000000000020c1000020410000104100000080000080bf000000800000803f00000000 + m_CompressedMesh: + m_Vertices: + m_NumItems: 0 + m_Range: 0 + m_Start: 0 + m_Data: + m_BitSize: 0 + m_UV: + m_NumItems: 0 + m_Range: 0 + m_Start: 0 + m_Data: + m_BitSize: 0 + m_Normals: + m_NumItems: 0 + m_Range: 0 + m_Start: 0 + m_Data: + m_BitSize: 0 + m_Tangents: + m_NumItems: 0 + m_Range: 0 + m_Start: 0 + m_Data: + m_BitSize: 0 + m_Weights: + m_NumItems: 0 + m_Data: + m_BitSize: 0 + m_NormalSigns: + m_NumItems: 0 + m_Data: + m_BitSize: 0 + m_TangentSigns: + m_NumItems: 0 + m_Data: + m_BitSize: 0 + m_FloatColors: + m_NumItems: 0 + m_Range: 0 + m_Start: 0 + m_Data: + m_BitSize: 0 + m_BoneIndices: + m_NumItems: 0 + m_Data: + m_BitSize: 0 + m_Triangles: + m_NumItems: 0 + m_Data: + m_BitSize: 0 + m_UVInfo: 0 + m_LocalAABB: + m_Center: {x: 0, y: 0, z: 0} + m_Extent: {x: 10, y: 10, z: 9} + m_MeshUsageFlags: 0 + m_CookingOptions: 30 + m_BakedConvexCollisionMesh: + m_BakedTriangleCollisionMesh: + 'm_MeshMetrics[0]': 1 + 'm_MeshMetrics[1]': 1 + m_MeshOptimizationFlags: 1 + m_StreamData: + serializedVersion: 2 + offset: 0 + size: 0 + path: +--- !u!84 &984900876 +RenderTexture: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: + m_ImageContentsHash: + serializedVersion: 2 + Hash: 00000000000000000000000000000000 + m_IsAlphaChannelOptional: 0 + serializedVersion: 6 + m_Width: 512 + m_Height: 512 + m_AntiAliasing: 1 + m_MipCount: -1 + m_DepthStencilFormat: 90 + m_ColorFormat: 4 + m_MipMap: 0 + m_GenerateMips: 1 + m_SRGB: 1 + m_UseDynamicScale: 0 + m_UseDynamicScaleExplicit: 0 + m_BindMS: 0 + m_EnableCompatibleFormat: 1 + m_EnableRandomWrite: 0 + m_TextureSettings: + serializedVersion: 2 + m_FilterMode: 1 + m_Aniso: 1 + m_MipBias: 0 + m_WrapU: 1 + m_WrapV: 1 + m_WrapW: 1 + m_Dimension: 2 + m_VolumeDepth: 1 + m_ShadowSamplingMode: 2 --- !u!1001 &986702592 PrefabInstance: m_ObjectHideFlags: 0 @@ -10692,6 +11239,132 @@ PrefabInstance: m_AddedGameObjects: [] m_AddedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: f907b1416ebdbf645a73183ab47aa2b8, type: 3} +--- !u!21 &1029848291 +Material: + serializedVersion: 8 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: PortalMat (Instance) (Instance) (Instance) (Instance) (Instance) (Instance) + (Instance) (Instance) (Instance) (Instance) (Instance) (Instance) (Instance) + (Instance) (Instance) (Instance) (Instance) (Instance) (Instance) (Instance) + (Instance) (Instance) (Instance) (Instance) (Instance) (Instance) (Instance) + (Instance) (Instance) (Instance) (Instance) (Instance) (Instance) (Instance) + (Instance) (Instance) (Instance) (Instance) (Instance) (Instance) (Instance) + (Instance) (Instance) (Instance) (Instance) (Instance) (Instance) (Instance) + (Instance) (Instance) (Instance) (Instance) (Instance) (Instance) (Instance) + (Instance) (Instance) (Instance) (Instance) (Instance) (Instance) (Instance) + (Instance) (Instance) (Instance) (Instance) (Instance) (Instance) (Instance) + (Instance) (Instance) (Instance) (Instance) + m_Shader: {fileID: -6465566751694194690, guid: f90138ae641de784cb4b453bdc734b14, + type: 3} + m_Parent: {fileID: 0} + m_ModifiedSerializedProperties: 0 + m_ValidKeywords: [] + m_InvalidKeywords: [] + m_LightmapFlags: 4 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: + - MOTIONVECTORS + m_LockedProperties: + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _BaseMap: + m_Texture: {fileID: 743391742} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _BumpMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _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} + - _MaskMap: + m_Texture: {fileID: 2800000, guid: 84487d73ca4b791498332d8f6858417f, type: 3} + 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} + - _NormalMap: + m_Texture: {fileID: 2800000, guid: 9d67afb2ebc87cc43b5be99e1b689960, type: 3} + 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} + - _SpecGlossMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _Texture2DAsset_EAC75755_Out_0: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_Lightmaps: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_LightmapsInd: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_ShadowMasks: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Ints: [] + m_Floats: + - _AlphaClip: 0 + - _Blend: 0 + - _BumpScale: 1 + - _Cull: 2 + - _Cutoff: 0.5 + - _DstBlend: 0 + - _EnvironmentReflections: 1 + - _GlossMapScale: 0 + - _Glossiness: 0 + - _GlossyReflections: 0 + - _Metallic: 0 + - _NormalSpeed: 0.36 + - _NormalStrength: 0.49 + - _NormalTiling: 0.41 + - _OcclusionStrength: 1 + - _OffsetStrength: 0.1 + - _PortalBrightness: 2 + - _QueueControl: 0 + - _QueueOffset: 0 + - _ReceiveShadows: 1 + - _Smoothness: 0.5 + - _SmoothnessTextureChannel: 0 + - _SpecularHighlights: 1 + - _Speed: 0.5 + - _SrcBlend: 1 + - _Surface: 0 + - _TwirlPower: 8 + - _WorkflowMode: 1 + - _ZWrite: 1 + m_Colors: + - _BaseColor: {r: 1, g: 1, b: 1, a: 1} + - _Color: {r: 1, g: 1, b: 1, a: 1} + - _EffectColor: {r: 0, g: 0.7548079, b: 1, a: 0} + - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} + - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1} + m_BuildTextureStacks: [] + m_AllowLocking: 1 --- !u!4 &1059460069 stripped Transform: m_CorrespondingSourceObject: {fileID: 7508311979942609670, guid: bb6aaff8bcadd764096de77181a0bf0a, @@ -10949,6 +11622,7 @@ Material: RenderType: Transparent disabledShaderPasses: - DepthOnly + - MOTIONVECTORS m_LockedProperties: m_SavedProperties: serializedVersion: 3 @@ -11037,12 +11711,14 @@ Material: - USEFRESNEL: 1 - Vector1_473704f964214ae2bc68475022d1524b: 0.05 - _AlphaClip: 0 + - _AlphaToMask: 0 - _BendEffect: 0 - _BendMaxDistance: 1 - _BendMaxHeight: 0 - _BendMinDistance: 0.2 - _BendMinHeight: 1 - _Blend: 0 + - _BlendModePreserveSpecular: 0 - _BumpScale: 1 - _CastShadows: 1 - _ClearCoatMask: 0 @@ -11055,10 +11731,12 @@ Material: - _EffectThreshold: 0 - _EnvironmentReflections: 1 - _FadeDistance: 0 + - _FarFadeDistance: 500 - _GlossMapScale: 0 - _Glossiness: 0 - _GlossyReflections: 0 - _InverseFadeRange: 1 + - _InverseFarFadeRange: 0.5 - _Metallic: 0 - _OcclusionStrength: 1 - _Parallax: 0.005 @@ -11164,6 +11842,155 @@ PrefabInstance: m_AddedGameObjects: [] m_AddedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: dfe451d451ca24340b6d0ff311e4f3f0, type: 3} +--- !u!1001 &1172516992 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + serializedVersion: 3 + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 2378996164383353648, guid: b52fce9a517ed1142bb8edef5301445b, + type: 3} + propertyPath: m_LocalPosition.x + value: -153.37651 + objectReference: {fileID: 0} + - target: {fileID: 2378996164383353648, guid: b52fce9a517ed1142bb8edef5301445b, + type: 3} + propertyPath: m_LocalPosition.y + value: 30.114182 + objectReference: {fileID: 0} + - target: {fileID: 2378996164383353648, guid: b52fce9a517ed1142bb8edef5301445b, + type: 3} + propertyPath: m_LocalPosition.z + value: 275.0286 + objectReference: {fileID: 0} + - target: {fileID: 2378996164383353648, guid: b52fce9a517ed1142bb8edef5301445b, + type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 2378996164383353648, guid: b52fce9a517ed1142bb8edef5301445b, + type: 3} + propertyPath: m_LocalRotation.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 2378996164383353648, guid: b52fce9a517ed1142bb8edef5301445b, + type: 3} + propertyPath: m_LocalRotation.y + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 2378996164383353648, guid: b52fce9a517ed1142bb8edef5301445b, + type: 3} + propertyPath: m_LocalRotation.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 2378996164383353648, guid: b52fce9a517ed1142bb8edef5301445b, + type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2378996164383353648, guid: b52fce9a517ed1142bb8edef5301445b, + type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2378996164383353648, guid: b52fce9a517ed1142bb8edef5301445b, + type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 5041577070322549982, guid: b52fce9a517ed1142bb8edef5301445b, + type: 3} + propertyPath: m_audioSource + value: + objectReference: {fileID: 1860084610} + - target: {fileID: 5041577070322549982, guid: b52fce9a517ed1142bb8edef5301445b, + type: 3} + propertyPath: m_barks.Array.size + value: 76 + objectReference: {fileID: 0} + - target: {fileID: 5041577070322549982, guid: b52fce9a517ed1142bb8edef5301445b, + type: 3} + propertyPath: m_barks.Array.data[75].playOnce + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 5041577070322549982, guid: b52fce9a517ed1142bb8edef5301445b, + type: 3} + propertyPath: m_barks.Array.data[75].customOutput + value: + objectReference: {fileID: 7461429802988689633, guid: 5dd761199ee4b7045a10fd9b79e36026, + type: 2} + - target: {fileID: 5041577070322549982, guid: b52fce9a517ed1142bb8edef5301445b, + type: 3} + propertyPath: m_barks.Array.data[74].barks.Array.size + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 5041577070322549982, guid: b52fce9a517ed1142bb8edef5301445b, + type: 3} + propertyPath: m_barks.Array.data[75].barks.Array.size + value: 4 + objectReference: {fileID: 0} + - target: {fileID: 5041577070322549982, guid: b52fce9a517ed1142bb8edef5301445b, + type: 3} + propertyPath: m_barks.Array.data[74].barks.Array.data[1].clip + value: + objectReference: {fileID: 8300000, guid: 4be26921608363f42aab2eba1e4f3baa, type: 3} + - target: {fileID: 5041577070322549982, guid: b52fce9a517ed1142bb8edef5301445b, + type: 3} + propertyPath: m_barks.Array.data[75].barks.Array.data[0].clip + value: + objectReference: {fileID: 8300000, guid: 8e5301e9b1571494c93023bdbae797cc, type: 3} + - target: {fileID: 5041577070322549982, guid: b52fce9a517ed1142bb8edef5301445b, + type: 3} + propertyPath: m_barks.Array.data[75].barks.Array.data[1].clip + value: + objectReference: {fileID: 8300000, guid: db90fd6129c18094e9e18608802cfaf3, type: 3} + - target: {fileID: 5041577070322549982, guid: b52fce9a517ed1142bb8edef5301445b, + type: 3} + propertyPath: m_barks.Array.data[75].barks.Array.data[2].clip + value: + objectReference: {fileID: 8300000, guid: 4be26921608363f42aab2eba1e4f3baa, type: 3} + - target: {fileID: 5041577070322549982, guid: b52fce9a517ed1142bb8edef5301445b, + type: 3} + propertyPath: m_barks.Array.data[75].barks.Array.data[3].clip + value: + objectReference: {fileID: 8300000, guid: 453a22dabbb5b3a4c9a1a23ff1a4d791, type: 3} + - target: {fileID: 5041577070322549982, guid: b52fce9a517ed1142bb8edef5301445b, + type: 3} + propertyPath: m_barks.Array.data[74].barks.Array.data[1].barkConversation + value: CH01/WASTELAND/CH01_wasteland_cs_portal_sword_03 + objectReference: {fileID: 0} + - target: {fileID: 5041577070322549982, guid: b52fce9a517ed1142bb8edef5301445b, + type: 3} + propertyPath: m_barks.Array.data[75].barks.Array.data[0].barkConversation + value: CH01/WASTELAND/CH01_wasteland_vo_opening_wanderer_01 + objectReference: {fileID: 0} + - target: {fileID: 5041577070322549982, guid: b52fce9a517ed1142bb8edef5301445b, + type: 3} + propertyPath: m_barks.Array.data[75].barks.Array.data[1].barkConversation + value: CH01/WASTELAND/CH01_wasteland_vo_opening_wanderer_02 + objectReference: {fileID: 0} + - target: {fileID: 5041577070322549982, guid: b52fce9a517ed1142bb8edef5301445b, + type: 3} + propertyPath: m_barks.Array.data[75].barks.Array.data[2].barkConversation + value: CH01/WASTELAND/CH01_wasteland_cs_portal_sword_03 + objectReference: {fileID: 0} + - target: {fileID: 5041577070322549982, guid: b52fce9a517ed1142bb8edef5301445b, + type: 3} + propertyPath: m_barks.Array.data[75].barks.Array.data[3].barkConversation + value: CH01/WASTELAND/CH01_wasteland_vo_opening_wanderer_03 + objectReference: {fileID: 0} + - target: {fileID: 5532578592629425599, guid: b52fce9a517ed1142bb8edef5301445b, + type: 3} + propertyPath: m_Name + value: BARKS + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_RemovedGameObjects: [] + m_AddedGameObjects: [] + m_AddedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: b52fce9a517ed1142bb8edef5301445b, type: 3} --- !u!21 &1192932572 Material: serializedVersion: 8 @@ -11190,6 +12017,7 @@ Material: RenderType: Transparent disabledShaderPasses: - DepthOnly + - MOTIONVECTORS m_LockedProperties: m_SavedProperties: serializedVersion: 3 @@ -11278,12 +12106,14 @@ Material: - USEFRESNEL: 1 - Vector1_473704f964214ae2bc68475022d1524b: 0.05 - _AlphaClip: 0 + - _AlphaToMask: 0 - _BendEffect: 0 - _BendMaxDistance: 1 - _BendMaxHeight: 0 - _BendMinDistance: 0.2 - _BendMinHeight: 1 - _Blend: 0 + - _BlendModePreserveSpecular: 0 - _BumpScale: 1 - _CastShadows: 1 - _ClearCoatMask: 0 @@ -11296,10 +12126,12 @@ Material: - _EffectThreshold: 0 - _EnvironmentReflections: 1 - _FadeDistance: 0 + - _FarFadeDistance: 500 - _GlossMapScale: 0 - _Glossiness: 0 - _GlossyReflections: 0 - _InverseFadeRange: 1 + - _InverseFarFadeRange: 0.5 - _Metallic: 0 - _OcclusionStrength: 1 - _Parallax: 0.005 @@ -11435,7 +12267,7 @@ MeshRenderer: m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: - - {fileID: 528799933} + - {fileID: 1029848291} m_StaticBatchInfo: firstSubMesh: 0 subMeshCount: 0 @@ -11464,7 +12296,7 @@ MeshFilter: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1272116024} - m_Mesh: {fileID: 2003950826} + m_Mesh: {fileID: 1811204608} --- !u!1001 &1307530043 PrefabInstance: m_ObjectHideFlags: 0 @@ -13310,43 +14142,6 @@ Transform: m_Children: [] m_Father: {fileID: 0} m_LocalEulerAnglesHint: {x: 0, y: -55.34, z: 0} ---- !u!84 &1439104893 -RenderTexture: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: - m_ImageContentsHash: - serializedVersion: 2 - Hash: 00000000000000000000000000000000 - m_IsAlphaChannelOptional: 0 - serializedVersion: 6 - m_Width: 512 - m_Height: 512 - m_AntiAliasing: 1 - m_MipCount: -1 - m_DepthStencilFormat: 90 - m_ColorFormat: 4 - m_MipMap: 0 - m_GenerateMips: 1 - m_SRGB: 1 - m_UseDynamicScale: 0 - m_UseDynamicScaleExplicit: 0 - m_BindMS: 0 - m_EnableCompatibleFormat: 1 - m_EnableRandomWrite: 0 - m_TextureSettings: - serializedVersion: 2 - m_FilterMode: 1 - m_Aniso: 1 - m_MipBias: 0 - m_WrapU: 1 - m_WrapV: 1 - m_WrapW: 1 - m_Dimension: 2 - m_VolumeDepth: 1 - m_ShadowSamplingMode: 2 --- !u!1 &1445433408 GameObject: m_ObjectHideFlags: 0 @@ -14602,7 +15397,7 @@ Camera: serializedVersion: 2 m_Bits: 1410332535 m_RenderingPath: -1 - m_TargetTexture: {fileID: 185365053} + m_TargetTexture: {fileID: 743391742} m_TargetDisplay: 0 m_TargetEye: 3 m_HDR: 1 @@ -15417,6 +16212,7 @@ Material: RenderType: Transparent disabledShaderPasses: - DepthOnly + - MOTIONVECTORS m_LockedProperties: m_SavedProperties: serializedVersion: 3 @@ -15505,12 +16301,14 @@ Material: - USEFRESNEL: 1 - Vector1_473704f964214ae2bc68475022d1524b: 0.05 - _AlphaClip: 0 + - _AlphaToMask: 0 - _BendEffect: 0 - _BendMaxDistance: 1 - _BendMaxHeight: 0 - _BendMinDistance: 0.2 - _BendMinHeight: 1 - _Blend: 0 + - _BlendModePreserveSpecular: 0 - _BumpScale: 1 - _CastShadows: 1 - _ClearCoatMask: 0 @@ -15523,10 +16321,12 @@ Material: - _EffectThreshold: 0 - _EnvironmentReflections: 1 - _FadeDistance: 0 + - _FarFadeDistance: 500 - _GlossMapScale: 0 - _Glossiness: 0 - _GlossyReflections: 0 - _InverseFadeRange: 1 + - _InverseFarFadeRange: 0.5 - _Metallic: 0 - _OcclusionStrength: 1 - _Parallax: 0.005 @@ -15592,6 +16392,179 @@ Transform: - {fileID: 1059460069} m_Father: {fileID: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!43 &1811204608 +Mesh: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Quad Instance Instance Instance Instance Instance Instance Instance Instance + Instance Instance Instance Instance Instance Instance Instance Instance Instance + Instance Instance Instance Instance Instance Instance Instance Instance Instance + Instance Instance Instance Instance Instance Instance Instance Instance Instance + Instance Instance Instance Instance Instance Instance Instance Instance Instance + Instance Instance Instance Instance Instance Instance Instance Instance Instance + Instance Instance Instance Instance Instance Instance Instance Instance Instance + Instance Instance Instance Instance Instance Instance Instance Instance Instance + Instance Instance + serializedVersion: 11 + m_SubMeshes: + - serializedVersion: 2 + firstByte: 0 + indexCount: 6 + topology: 0 + baseVertex: 0 + firstVertex: 0 + vertexCount: 4 + localAABB: + m_Center: {x: 0, y: 0, z: 0} + m_Extent: {x: 0.5, y: 0.5, z: 3.0616168e-17} + m_Shapes: + vertices: [] + shapes: [] + channels: [] + fullWeights: [] + m_BindPose: [] + m_BoneNameHashes: + m_RootBoneNameHash: 0 + m_BonesAABB: [] + m_VariableBoneCountWeights: + m_Data: + m_MeshCompression: 0 + m_IsReadable: 1 + m_KeepVertices: 1 + m_KeepIndices: 1 + m_IndexFormat: 0 + m_IndexBuffer: 000003000100030000000200 + m_VertexData: + serializedVersion: 3 + m_VertexCount: 4 + m_Channels: + - stream: 0 + offset: 0 + format: 0 + dimension: 3 + - stream: 0 + offset: 12 + format: 0 + dimension: 3 + - stream: 0 + offset: 24 + format: 0 + dimension: 4 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 40 + format: 0 + dimension: 2 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + m_DataSize: 192 + _typelessdata: 000000bf000000bf31310da40000000000000000000080bf0000803f0000000000000000000080bf00000000000000000000003f000000bf31310da40000000000000000000080bf0000803f0000000000000000000080bf0000803f00000000000000bf0000003f31310d240000000000000000000080bf0000803f0000000000000000000080bf000000000000803f0000003f0000003f31310d240000000000000000000080bf0000803f0000000000000000000080bf0000803f0000803f + m_CompressedMesh: + m_Vertices: + m_NumItems: 0 + m_Range: 0 + m_Start: 0 + m_Data: + m_BitSize: 0 + m_UV: + m_NumItems: 0 + m_Range: 0 + m_Start: 0 + m_Data: + m_BitSize: 0 + m_Normals: + m_NumItems: 0 + m_Range: 0 + m_Start: 0 + m_Data: + m_BitSize: 0 + m_Tangents: + m_NumItems: 0 + m_Range: 0 + m_Start: 0 + m_Data: + m_BitSize: 0 + m_Weights: + m_NumItems: 0 + m_Data: + m_BitSize: 0 + m_NormalSigns: + m_NumItems: 0 + m_Data: + m_BitSize: 0 + m_TangentSigns: + m_NumItems: 0 + m_Data: + m_BitSize: 0 + m_FloatColors: + m_NumItems: 0 + m_Range: 0 + m_Start: 0 + m_Data: + m_BitSize: 0 + m_BoneIndices: + m_NumItems: 0 + m_Data: + m_BitSize: 0 + m_Triangles: + m_NumItems: 0 + m_Data: + m_BitSize: 0 + m_UVInfo: 0 + m_LocalAABB: + m_Center: {x: 0, y: 0, z: 0} + m_Extent: {x: 0.5, y: 0.5, z: 3.0616168e-17} + m_MeshUsageFlags: 0 + m_CookingOptions: 30 + m_BakedConvexCollisionMesh: + m_BakedTriangleCollisionMesh: + 'm_MeshMetrics[0]': 1 + 'm_MeshMetrics[1]': 1 + m_MeshOptimizationFlags: 0 + m_StreamData: + serializedVersion: 2 + offset: 0 + size: 0 + path: --- !u!1 &1812159858 GameObject: m_ObjectHideFlags: 0 @@ -16007,7 +16980,8 @@ Material: m_DoubleSidedGI: 0 m_CustomRenderQueue: -1 stringTagMap: {} - disabledShaderPasses: [] + disabledShaderPasses: + - MOTIONVECTORS m_LockedProperties: m_SavedProperties: serializedVersion: 3 @@ -16224,6 +17198,238 @@ PrefabInstance: m_AddedGameObjects: [] m_AddedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: 40e14eebf106752499b89d8662838a60, type: 3} +--- !u!1 &1860084609 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1860084615} + - component: {fileID: 1860084614} + - component: {fileID: 1860084613} + - component: {fileID: 1860084612} + - component: {fileID: 1860084611} + - component: {fileID: 1860084610} + m_Layer: 0 + m_Name: BarkPlayerTest + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!82 &1860084610 +AudioSource: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1860084609} + m_Enabled: 1 + serializedVersion: 4 + OutputAudioMixerGroup: {fileID: 0} + m_audioClip: {fileID: 0} + m_Resource: {fileID: 0} + m_PlayOnAwake: 1 + m_Volume: 1 + m_Pitch: 1 + Loop: 0 + Mute: 0 + Spatialize: 0 + SpatializePostEffects: 0 + Priority: 128 + DopplerLevel: 1.22 + MinDistance: 1 + MaxDistance: 5 + Pan2D: 0 + rolloffMode: 0 + BypassEffects: 0 + BypassListenerEffects: 0 + BypassReverbZones: 0 + rolloffCustomCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + panLevelCustomCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + spreadCustomCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + reverbZoneMixCustomCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 +--- !u!114 &1860084611 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1860084609} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 82f8f534f4d73499ea554681a3e99a4a, type: 3} + m_Name: + m_EditorClassIdentifier: + m_key: 'some test ' + m_appendSaverTypeToKey: 0 + m_saveAcrossSceneChanges: 1 + m_restoreStateOnStart: 0 + barkManagerEntryIndex: 75 + delayBetweenBarks: 0.5 + shuffleOrder: 0 + loopWhileInside: 1 + triggeringLayers: + serializedVersion: 2 + m_Bits: 0 + nextBarkSequenceIndex: 0 + isTriggeringObjectInside: 0 +--- !u!135 &1860084612 +SphereCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1860084609} + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_IsTrigger: 1 + m_ProvidesContacts: 0 + m_Enabled: 1 + serializedVersion: 3 + m_Radius: 0.5 + m_Center: {x: 0, y: 0, z: 0} +--- !u!23 &1860084613 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1860084609} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 31321ba15b8f8eb4c954353edc038b1d, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &1860084614 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1860084609} + m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0} +--- !u!4 &1860084615 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1860084609} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -16.45, y: -1.11, z: 25.97} + m_LocalScale: {x: 5, y: 5, z: 5} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &1870409346 GameObject: m_ObjectHideFlags: 0 @@ -17412,7 +18618,8 @@ Material: m_DoubleSidedGI: 0 m_CustomRenderQueue: -1 stringTagMap: {} - disabledShaderPasses: [] + disabledShaderPasses: + - MOTIONVECTORS m_LockedProperties: m_SavedProperties: serializedVersion: 3 @@ -17678,303 +18885,79 @@ PrefabInstance: m_AddedGameObjects: [] m_AddedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: 111f99aa5bba3d048b7db7e69c8d886d, type: 3} ---- !u!43 &2003950826 -Mesh: +--- !u!1001 &2056480735 +PrefabInstance: m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: Quad Instance Instance Instance Instance Instance Instance Instance Instance - Instance Instance Instance Instance Instance Instance Instance Instance Instance - Instance Instance Instance Instance Instance Instance Instance Instance Instance - Instance Instance Instance Instance Instance Instance Instance Instance Instance - Instance Instance Instance Instance Instance Instance Instance Instance Instance - Instance Instance Instance Instance Instance Instance Instance Instance Instance - Instance Instance Instance Instance Instance Instance Instance Instance Instance - Instance Instance Instance Instance - serializedVersion: 11 - m_SubMeshes: - - serializedVersion: 2 - firstByte: 0 - indexCount: 6 - topology: 0 - baseVertex: 0 - firstVertex: 0 - vertexCount: 4 - localAABB: - m_Center: {x: 0, y: 0, z: 0} - m_Extent: {x: 0.5, y: 0.5, z: 3.0616168e-17} - m_Shapes: - vertices: [] - shapes: [] - channels: [] - fullWeights: [] - m_BindPose: [] - m_BoneNameHashes: - m_RootBoneNameHash: 0 - m_BonesAABB: [] - m_VariableBoneCountWeights: - m_Data: - m_MeshCompression: 0 - m_IsReadable: 1 - m_KeepVertices: 1 - m_KeepIndices: 1 - m_IndexFormat: 0 - m_IndexBuffer: 000003000100030000000200 - m_VertexData: + serializedVersion: 2 + m_Modification: serializedVersion: 3 - m_VertexCount: 4 - m_Channels: - - stream: 0 - offset: 0 - format: 0 - dimension: 3 - - stream: 0 - offset: 12 - format: 0 - dimension: 3 - - stream: 0 - offset: 24 - format: 0 - dimension: 4 - - stream: 0 - offset: 0 - format: 0 - dimension: 0 - - stream: 0 - offset: 40 - format: 0 - dimension: 2 - - stream: 0 - offset: 0 - format: 0 - dimension: 0 - - stream: 0 - offset: 0 - format: 0 - dimension: 0 - - stream: 0 - offset: 0 - format: 0 - dimension: 0 - - stream: 0 - offset: 0 - format: 0 - dimension: 0 - - stream: 0 - offset: 0 - format: 0 - dimension: 0 - - stream: 0 - offset: 0 - format: 0 - dimension: 0 - - stream: 0 - offset: 0 - format: 0 - dimension: 0 - - stream: 0 - offset: 0 - format: 0 - dimension: 0 - - stream: 0 - offset: 0 - format: 0 - dimension: 0 - m_DataSize: 192 - _typelessdata: 000000bf000000bf31310da40000000000000000000080bf0000803f0000000000000000000080bf00000000000000000000003f000000bf31310da40000000000000000000080bf0000803f0000000000000000000080bf0000803f00000000000000bf0000003f31310d240000000000000000000080bf0000803f0000000000000000000080bf000000000000803f0000003f0000003f31310d240000000000000000000080bf0000803f0000000000000000000080bf0000803f0000803f - m_CompressedMesh: - m_Vertices: - m_NumItems: 0 - m_Range: 0 - m_Start: 0 - m_Data: - m_BitSize: 0 - m_UV: - m_NumItems: 0 - m_Range: 0 - m_Start: 0 - m_Data: - m_BitSize: 0 - m_Normals: - m_NumItems: 0 - m_Range: 0 - m_Start: 0 - m_Data: - m_BitSize: 0 - m_Tangents: - m_NumItems: 0 - m_Range: 0 - m_Start: 0 - m_Data: - m_BitSize: 0 - m_Weights: - m_NumItems: 0 - m_Data: - m_BitSize: 0 - m_NormalSigns: - m_NumItems: 0 - m_Data: - m_BitSize: 0 - m_TangentSigns: - m_NumItems: 0 - m_Data: - m_BitSize: 0 - m_FloatColors: - m_NumItems: 0 - m_Range: 0 - m_Start: 0 - m_Data: - m_BitSize: 0 - m_BoneIndices: - m_NumItems: 0 - m_Data: - m_BitSize: 0 - m_Triangles: - m_NumItems: 0 - m_Data: - m_BitSize: 0 - m_UVInfo: 0 - m_LocalAABB: - m_Center: {x: 0, y: 0, z: 0} - m_Extent: {x: 0.5, y: 0.5, z: 3.0616168e-17} - m_MeshUsageFlags: 0 - m_CookingOptions: 30 - m_BakedConvexCollisionMesh: - m_BakedTriangleCollisionMesh: - 'm_MeshMetrics[0]': 1 - 'm_MeshMetrics[1]': 1 - m_MeshOptimizationFlags: 0 - m_StreamData: - serializedVersion: 2 - offset: 0 - size: 0 - path: ---- !u!21 &2030695058 -Material: - serializedVersion: 8 - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: PortalMat (Instance) (Instance) (Instance) (Instance) (Instance) (Instance) - (Instance) (Instance) (Instance) (Instance) (Instance) (Instance) (Instance) - (Instance) (Instance) (Instance) (Instance) (Instance) (Instance) (Instance) - (Instance) (Instance) (Instance) (Instance) (Instance) (Instance) (Instance) - (Instance) (Instance) (Instance) (Instance) (Instance) (Instance) (Instance) - (Instance) (Instance) (Instance) (Instance) (Instance) (Instance) (Instance) - (Instance) (Instance) (Instance) (Instance) (Instance) (Instance) (Instance) - (Instance) (Instance) (Instance) (Instance) (Instance) (Instance) (Instance) - (Instance) (Instance) (Instance) (Instance) (Instance) (Instance) (Instance) - (Instance) (Instance) (Instance) - m_Shader: {fileID: -6465566751694194690, guid: f90138ae641de784cb4b453bdc734b14, - type: 3} - m_Parent: {fileID: 0} - m_ModifiedSerializedProperties: 0 - m_ValidKeywords: [] - m_InvalidKeywords: [] - m_LightmapFlags: 4 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: -1 - stringTagMap: {} - disabledShaderPasses: - - MOTIONVECTORS - m_LockedProperties: - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - _BaseMap: - m_Texture: {fileID: 1439104893} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BumpMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _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} - - _MaskMap: - m_Texture: {fileID: 2800000, guid: 84487d73ca4b791498332d8f6858417f, type: 3} - 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} - - _NormalMap: - m_Texture: {fileID: 2800000, guid: 9d67afb2ebc87cc43b5be99e1b689960, type: 3} - 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} - - _SpecGlossMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _Texture2DAsset_EAC75755_Out_0: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_Lightmaps: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_LightmapsInd: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_ShadowMasks: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Ints: [] - m_Floats: - - _AlphaClip: 0 - - _Blend: 0 - - _BumpScale: 1 - - _Cull: 2 - - _Cutoff: 0.5 - - _DstBlend: 0 - - _EnvironmentReflections: 1 - - _GlossMapScale: 0 - - _Glossiness: 0 - - _GlossyReflections: 0 - - _Metallic: 0 - - _NormalSpeed: 0.36 - - _NormalStrength: 0.49 - - _NormalTiling: 0.41 - - _OcclusionStrength: 1 - - _OffsetStrength: 0.1 - - _PortalBrightness: 2 - - _QueueControl: 0 - - _QueueOffset: 0 - - _ReceiveShadows: 1 - - _Smoothness: 0.5 - - _SmoothnessTextureChannel: 0 - - _SpecularHighlights: 1 - - _Speed: 0.5 - - _SrcBlend: 1 - - _Surface: 0 - - _TwirlPower: 8 - - _WorkflowMode: 1 - - _ZWrite: 1 - m_Colors: - - _BaseColor: {r: 1, g: 1, b: 1, a: 1} - - _Color: {r: 1, g: 1, b: 1, a: 1} - - _EffectColor: {r: 0, g: 0.7548079, b: 1, a: 0} - - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} - - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1} - m_BuildTextureStacks: [] - m_AllowLocking: 1 + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 6799591510228445222, guid: 170cc915240b5e648b25eb8733f19040, + type: 3} + propertyPath: m_LocalPosition.x + value: -42.425 + objectReference: {fileID: 0} + - target: {fileID: 6799591510228445222, guid: 170cc915240b5e648b25eb8733f19040, + type: 3} + propertyPath: m_LocalPosition.y + value: 40.897 + objectReference: {fileID: 0} + - target: {fileID: 6799591510228445222, guid: 170cc915240b5e648b25eb8733f19040, + type: 3} + propertyPath: m_LocalPosition.z + value: -17.78 + objectReference: {fileID: 0} + - target: {fileID: 6799591510228445222, guid: 170cc915240b5e648b25eb8733f19040, + type: 3} + propertyPath: m_LocalRotation.w + value: 0.7071068 + objectReference: {fileID: 0} + - target: {fileID: 6799591510228445222, guid: 170cc915240b5e648b25eb8733f19040, + type: 3} + propertyPath: m_LocalRotation.x + value: 0.7071068 + objectReference: {fileID: 0} + - target: {fileID: 6799591510228445222, guid: 170cc915240b5e648b25eb8733f19040, + type: 3} + propertyPath: m_LocalRotation.y + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 6799591510228445222, guid: 170cc915240b5e648b25eb8733f19040, + type: 3} + propertyPath: m_LocalRotation.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 6799591510228445222, guid: 170cc915240b5e648b25eb8733f19040, + type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 90 + objectReference: {fileID: 0} + - target: {fileID: 6799591510228445222, guid: 170cc915240b5e648b25eb8733f19040, + type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6799591510228445222, guid: 170cc915240b5e648b25eb8733f19040, + type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6799591510228445225, guid: 170cc915240b5e648b25eb8733f19040, + type: 3} + propertyPath: m_Mesh + value: + objectReference: {fileID: 247765714} + - target: {fileID: 6799591510228445229, guid: 170cc915240b5e648b25eb8733f19040, + type: 3} + propertyPath: m_Name + value: bigFog + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_RemovedGameObjects: [] + m_AddedGameObjects: [] + m_AddedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 170cc915240b5e648b25eb8733f19040, type: 3} --- !u!1 &2071722877 GameObject: m_ObjectHideFlags: 0 @@ -18110,7 +19093,7 @@ Camera: serializedVersion: 2 m_Bits: 1410332535 m_RenderingPath: -1 - m_TargetTexture: {fileID: 1439104893} + m_TargetTexture: {fileID: 984900876} m_TargetDisplay: 0 m_TargetEye: 3 m_HDR: 1 @@ -18301,178 +19284,6 @@ Transform: m_Children: [] m_Father: {fileID: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!43 &2111569260 -Mesh: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: Quad Instance Instance Instance Instance Instance Instance Instance Instance - Instance Instance Instance Instance Instance Instance Instance Instance Instance - Instance Instance Instance Instance Instance Instance Instance Instance Instance - Instance Instance Instance Instance Instance Instance Instance Instance Instance - Instance Instance Instance Instance Instance Instance Instance Instance Instance - Instance Instance Instance Instance Instance Instance Instance Instance Instance - Instance Instance Instance Instance Instance Instance Instance Instance Instance - Instance Instance Instance - serializedVersion: 11 - m_SubMeshes: - - serializedVersion: 2 - firstByte: 0 - indexCount: 6 - topology: 0 - baseVertex: 0 - firstVertex: 0 - vertexCount: 4 - localAABB: - m_Center: {x: 0, y: 0, z: 0} - m_Extent: {x: 0.5, y: 0.5, z: 3.0616168e-17} - m_Shapes: - vertices: [] - shapes: [] - channels: [] - fullWeights: [] - m_BindPose: [] - m_BoneNameHashes: - m_RootBoneNameHash: 0 - m_BonesAABB: [] - m_VariableBoneCountWeights: - m_Data: - m_MeshCompression: 0 - m_IsReadable: 1 - m_KeepVertices: 1 - m_KeepIndices: 1 - m_IndexFormat: 0 - m_IndexBuffer: 000003000100030000000200 - m_VertexData: - serializedVersion: 3 - m_VertexCount: 4 - m_Channels: - - stream: 0 - offset: 0 - format: 0 - dimension: 3 - - stream: 0 - offset: 12 - format: 0 - dimension: 3 - - stream: 0 - offset: 24 - format: 0 - dimension: 4 - - stream: 0 - offset: 0 - format: 0 - dimension: 0 - - stream: 0 - offset: 40 - format: 0 - dimension: 2 - - stream: 0 - offset: 0 - format: 0 - dimension: 0 - - stream: 0 - offset: 0 - format: 0 - dimension: 0 - - stream: 0 - offset: 0 - format: 0 - dimension: 0 - - stream: 0 - offset: 0 - format: 0 - dimension: 0 - - stream: 0 - offset: 0 - format: 0 - dimension: 0 - - stream: 0 - offset: 0 - format: 0 - dimension: 0 - - stream: 0 - offset: 0 - format: 0 - dimension: 0 - - stream: 0 - offset: 0 - format: 0 - dimension: 0 - - stream: 0 - offset: 0 - format: 0 - dimension: 0 - m_DataSize: 192 - _typelessdata: 000000bf000000bf31310da40000000000000000000080bf0000803f0000000000000000000080bf00000000000000000000003f000000bf31310da40000000000000000000080bf0000803f0000000000000000000080bf0000803f00000000000000bf0000003f31310d240000000000000000000080bf0000803f0000000000000000000080bf000000000000803f0000003f0000003f31310d240000000000000000000080bf0000803f0000000000000000000080bf0000803f0000803f - m_CompressedMesh: - m_Vertices: - m_NumItems: 0 - m_Range: 0 - m_Start: 0 - m_Data: - m_BitSize: 0 - m_UV: - m_NumItems: 0 - m_Range: 0 - m_Start: 0 - m_Data: - m_BitSize: 0 - m_Normals: - m_NumItems: 0 - m_Range: 0 - m_Start: 0 - m_Data: - m_BitSize: 0 - m_Tangents: - m_NumItems: 0 - m_Range: 0 - m_Start: 0 - m_Data: - m_BitSize: 0 - m_Weights: - m_NumItems: 0 - m_Data: - m_BitSize: 0 - m_NormalSigns: - m_NumItems: 0 - m_Data: - m_BitSize: 0 - m_TangentSigns: - m_NumItems: 0 - m_Data: - m_BitSize: 0 - m_FloatColors: - m_NumItems: 0 - m_Range: 0 - m_Start: 0 - m_Data: - m_BitSize: 0 - m_BoneIndices: - m_NumItems: 0 - m_Data: - m_BitSize: 0 - m_Triangles: - m_NumItems: 0 - m_Data: - m_BitSize: 0 - m_UVInfo: 0 - m_LocalAABB: - m_Center: {x: 0, y: 0, z: 0} - m_Extent: {x: 0.5, y: 0.5, z: 3.0616168e-17} - m_MeshUsageFlags: 0 - m_CookingOptions: 30 - m_BakedConvexCollisionMesh: - m_BakedTriangleCollisionMesh: - 'm_MeshMetrics[0]': 1 - 'm_MeshMetrics[1]': 1 - m_MeshOptimizationFlags: 0 - m_StreamData: - serializedVersion: 2 - offset: 0 - size: 0 - path: --- !u!4 &543450652227933697 stripped Transform: m_CorrespondingSourceObject: {fileID: 4745570059773410385, guid: 522b5cc88fa2e734b87247785b85c8fb, @@ -18719,6 +19530,8 @@ PrefabInstance: SceneRoots: m_ObjectHideFlags: 0 m_Roots: + - {fileID: 2056480735} + - {fileID: 1172516992} - {fileID: 1714629799} - {fileID: 829254892} - {fileID: 1806682156} @@ -18771,3 +19584,4 @@ SceneRoots: - {fileID: 939335672} - {fileID: 890901947} - {fileID: 1384229523} + - {fileID: 1860084615} diff --git a/Assets/Scripts/Utils/BarkManager.cs b/Assets/Scripts/Utils/BarkManager.cs index 977202d32..f1e3f3958 100644 --- a/Assets/Scripts/Utils/BarkManager.cs +++ b/Assets/Scripts/Utils/BarkManager.cs @@ -9,26 +9,39 @@ using UnityEngine; using UnityEngine.Audio; using Random = UnityEngine.Random; -namespace Beyond +namespace Beyond // Ensure this namespace matches your project structure { + // Forward declare Player if it's in a different namespace or assembly, + // or ensure 'using Beyond.PlayerNamespace;' if applicable. + // Assuming Player class might be in the same 'Beyond' namespace for simplicity here. + // If Player class is defined elsewhere, you might need: + // using YourPlayerNamespace; + public class BarkManager : Saver { + // --- Inner Classes (Bark, BarkEntry, SaveData) remain the same --- [Serializable] public class Bark { [Tooltip("Conversation to get bark content from.")] [ConversationPopup(false)] - public string barkConversation = string.Empty; + public string barkConversation = string.Empty; + [Tooltip("Direct text to bark if Conversation is empty.")] public string barkText; + [Tooltip("Audio clip for the bark.")] public AudioClip clip; } [Serializable] public class BarkEntry { + [Tooltip("If true, this entire entry can only be triggered once via PlayBark(int) or PlayBark(string). BarkPlayer ignores this for sequential playback.")] public bool playOnce = true; + [Tooltip("Delay before the bark starts playing (applies to the first bark triggered externally or random barks).")] public float delayToStart = 0f; + [Tooltip("Optional custom audio mixer group for barks in this entry.")] public AudioMixerGroup customOutput; + [Tooltip("The list of barks for this entry.")] public Bark[] barks; } @@ -38,189 +51,328 @@ namespace Beyond [Serializable] public class SaveData { - public bool[] wasPlayed; + public bool[] wasEntryPlayed; + } + public SaveData m_saveData = new SaveData(); + + private Queue m_barkQueue = new Queue(); + private struct QueuedBarkRequest + { + public int entryIndex; + public Transform target; // Can be null if default (Player) is intended } - public SaveData m_saveData = new SaveData(); - public Queue m_barkQueue = new Queue(); public AudioSource m_audioSource; - private Dictionary m_conversationToEntry = new Dictionary(); private static BarkManager s_instance; - public static BarkManager Instance => s_instance; + public bool IsPlaying => m_audioSource != null && m_audioSource.isPlaying; + + // --- Core Methods --- + public override void Awake() { base.Awake(); - if (s_instance != null) + if (s_instance != null && s_instance != this) { - Debug.LogError("BarkManager instance already exists! destroying..."); - Destroy(this); + Debug.LogError("BarkManager instance already exists! Destroying this duplicate.", this); + Destroy(gameObject); } else { s_instance = this; + // Optional: DontDestroyOnLoad(gameObject); } + SetupAudioSource(); } - public void PlayBark(int num) - { - m_barkQueue.Enqueue(num); - /* - if (num >= 0 && num < m_barks.Length) - { - if (Player.Instance == null) - return; - var bark = m_barks[num]; - if (bark.playOnce && m_saveData.wasPlayed[num]) - { - return; - } - - if (bark.barks != null && m_barks.Length > 0) - { - var b = bark.barks[Random.Range(0, bark.barks.Length)]; - if (b.clip != null) - { - Player.Instance.AudioSource.clip = b.clip; - Player.Instance.AudioSource.Play(); - } - if (!string.IsNullOrEmpty(b.barkText)) - { - DialogueManager.BarkString(b.barkText, Player.Instance.transform); - } - } - - m_saveData.wasPlayed[num] = true; - } - */ - } - - public void PlayBark(string conversation) - { - if (m_conversationToEntry.ContainsKey(conversation)) - { - m_barkQueue.Enqueue(m_conversationToEntry[conversation]); - - } - else - { - Debug.LogError("BarkManager: Conversation not found: "+conversation, this); - } - } - - //private AudioSource audioSourceLast; - //private GameObject audioSource => Player.Instance.audioSource; - - private void PlayInternal(int num) - { - if (num >= 0 && num < m_barks.Length) - { - if (Player.Instance == null) - return; - var bark = m_barks[num]; - if (bark.playOnce && m_saveData.wasPlayed[num]) - { - return; - } - - if (bark.barks != null && m_barks.Length > 0) - { - if (bark.delayToStart > 0) - { - StartCoroutine(PlayBarkWithDelayCoroutine(bark)); - } - else - { - PlayBarkImmediately(bark); - } - } - - m_saveData.wasPlayed[num] = true; - } - } - - private IEnumerator PlayBarkWithDelayCoroutine(BarkEntry bark) - { - yield return new WaitForSecondsRealtime(bark.delayToStart); - PlayBarkImmediately(bark); - } - - private void PlayBarkImmediately(BarkEntry bark) - { - var b = bark.barks[Random.Range(0, bark.barks.Length)]; - if (b.clip != null) - { - //GameObject audioObject = Instantiate(audioSource, Player.Instance.transform.position, transform.rotation) as GameObject; - //audioSourceLast = audioObject.GetComponent(); - m_audioSource.outputAudioMixerGroup = bark.customOutput != null ? bark.customOutput : null; - m_audioSource.PlayOneShot(b.clip); - } - if (!string.IsNullOrWhiteSpace(b.barkConversation)) - { - DialogueManager.Bark(b.barkConversation, Player.Instance.transform); - } - if (!string.IsNullOrEmpty(b.barkText)) - { - DialogueManager.BarkString(b.barkText, Player.Instance.transform); - } - } - - public bool CanBarkBeStillPlayed(int barkNum) - { - return !(m_saveData.wasPlayed[barkNum] && m_barks[barkNum].playOnce); - } - - // Start is called before the first frame update private void Start() { - if (m_audioSource == null) - { - m_audioSource = GetComponent(); - } + SetupAudioSource(); + InitializeSaveData(); + BuildConversationLookup(); + } + private void SetupAudioSource() + { + if (m_audioSource == null) m_audioSource = GetComponent(); if (m_audioSource == null) { m_audioSource = gameObject.AddComponent(); + m_audioSource.playOnAwake = false; + m_audioSource.spatialBlend = 1.0f; } - - m_saveData.wasPlayed = new bool[m_barks.Length]; - for (int i = 0; i < m_saveData.wasPlayed.Length; i++) - m_saveData.wasPlayed[i] = false; - for (int i=0; i + /// Plays a bark from the specified entry. Uses Player.Instance.transform for text barks if barkTarget is null. + /// + /// Index of the BarkEntry. + /// Transform for positioning Dialogue Manager barks. If null, attempts to use Player.Instance.transform. + /// Index of the specific bark within the entry. -1 for random. + /// The AudioClip that will be played (or null if none/delayed). + public AudioClip PlayBark(int entryIndex, Transform barkTarget = null, int specificBarkIndex = -1) + { + if (entryIndex < 0 || entryIndex >= m_barks.Length) + { + Debug.LogError($"BarkManager: Invalid entryIndex {entryIndex}.", this); + return null; + } + + // --- Determine the target for text barks --- + Transform targetForText = barkTarget; + if (targetForText == null) + { + if (Player.Instance != null) // Check if Player singleton exists + { + targetForText = Player.Instance.transform; + } + else + { + // Player.Instance is null, text bark won't have a specific target unless one was provided. + // Audio will still play. Log warning maybe? + // Debug.LogWarning($"BarkManager: barkTarget is null and Player.Instance is null. Text bark for entry {entryIndex} will not be shown.", this); + } + } + // --- End Target Determination --- + + var barkEntry = m_barks[entryIndex]; + + // Check playOnce only for random barks + if (specificBarkIndex == -1 && barkEntry.playOnce && m_saveData.wasEntryPlayed != null && m_saveData.wasEntryPlayed[entryIndex]) + { + return null; + } + + if (barkEntry.barks == null || barkEntry.barks.Length == 0) + { + Debug.LogWarning($"BarkManager: BarkEntry {entryIndex} has no barks defined.", this); + return null; + } + + AudioClip clipToPlay = null; + if (specificBarkIndex != -1) // Specific bark (e.g., BarkPlayer) - play immediately + { + // Pass the determined targetForText + clipToPlay = PlayBarkImmediately(barkEntry, targetForText, specificBarkIndex); + } + else // Random bark + { + if (barkEntry.delayToStart > 0f && !IsPlaying) + { + // Pass the determined targetForText to the coroutine + StartCoroutine(PlayBarkWithDelayCoroutine(barkEntry, targetForText, specificBarkIndex)); + } + else + { + // Pass the determined targetForText + clipToPlay = PlayBarkImmediately(barkEntry, targetForText, specificBarkIndex); + } + + // Mark entry as played if playOnce (only for random) + if (barkEntry.playOnce && m_saveData.wasEntryPlayed != null) + { + m_saveData.wasEntryPlayed[entryIndex] = true; + } + } + return clipToPlay; + } + + /// + /// Enqueues a request to play a random bark from the entry associated with the conversation. + /// Uses Player.Instance.transform for text barks if barkTarget is null. + /// + public void PlayBark(string conversation, Transform barkTarget = null) + { + if (m_conversationToEntry.TryGetValue(conversation, out int entryIndex)) + { + // Determine target *before* queuing, store null if Player isn't available/needed + Transform targetForQueue = barkTarget; + if (targetForQueue == null && Player.Instance != null) + { + targetForQueue = Player.Instance.transform; + } + // Note: If Player.Instance becomes available *later* when the queue processes, + // the Update loop logic will handle checking for it again. + // So, we can actually queue null and let Update resolve it. + m_barkQueue.Enqueue(new QueuedBarkRequest { entryIndex = entryIndex, target = barkTarget }); // Queue the original target (null if default) + } + else + { + Debug.LogError($"BarkManager: Conversation '{conversation}' not found in any BarkEntry.", this); + } + } + + /// + /// Enqueues a request to play a random bark from the specified entry index. + /// Uses Player.Instance.transform for text barks if barkTarget is null. + /// + public void PlayBarkFromQueue(int entryIndex, Transform barkTarget = null) + { + // Queue the original target (null if default intended). Update loop will resolve Player.Instance if needed. + m_barkQueue.Enqueue(new QueuedBarkRequest { entryIndex = entryIndex, target = barkTarget }); + } + + + private IEnumerator PlayBarkWithDelayCoroutine(BarkEntry barkEntry, Transform targetForText, int specificBarkIndex) + { + // Note: Player.Instance could become valid/invalid during this delay. + // Re-check target just before playing? Or rely on the target passed in? + // Let's stick with the target determined when the coroutine was started for consistency. + yield return new WaitForSecondsRealtime(barkEntry.delayToStart); + PlayBarkImmediately(barkEntry, targetForText, specificBarkIndex); + } + + /// + /// Internal method to immediately play audio and show text bark. Uses the provided targetForText. + /// + private AudioClip PlayBarkImmediately(BarkEntry barkEntry, Transform targetForText, int specificBarkIndex = -1) + { + if (barkEntry.barks == null || barkEntry.barks.Length == 0) return null; + + Bark barkToPlay = null; + int chosenIndex = specificBarkIndex; + + if (chosenIndex < 0 || chosenIndex >= barkEntry.barks.Length) + { + if (barkEntry.barks.Length > 0) chosenIndex = Random.Range(0, barkEntry.barks.Length); + else return null; + } + barkToPlay = barkEntry.barks[chosenIndex]; + + // --- Audio Playback --- + AudioClip clipToPlay = null; + if (barkToPlay.clip != null) + { + if (m_audioSource == null) Debug.LogError("BarkManager: m_audioSource is null! Cannot play audio.", this); + else + { + m_audioSource.outputAudioMixerGroup = barkEntry.customOutput != null ? barkEntry.customOutput : null; + m_audioSource.PlayOneShot(barkToPlay.clip); + clipToPlay = barkToPlay.clip; + } + } + + // --- Text Bark --- + // Use the resolved targetForText passed into this method + if (targetForText != null) + { + if (!string.IsNullOrWhiteSpace(barkToPlay.barkConversation)) + { + DialogueManager.Bark(barkToPlay.barkConversation, targetForText); + } + else if (!string.IsNullOrEmpty(barkToPlay.barkText)) + { + DialogueManager.BarkString(barkToPlay.barkText, targetForText); + } + } + // If targetForText is null here, no text bark is shown. + + return clipToPlay; + } + + // --- Utility & Save/Load --- (Remain the same) + + public bool CanBarkBeStillPlayed(int entryIndex) + { + if (entryIndex < 0 || entryIndex >= m_barks.Length) return false; + if (m_saveData.wasEntryPlayed == null || entryIndex >= m_saveData.wasEntryPlayed.Length) return true; + return !m_barks[entryIndex].playOnce || !m_saveData.wasEntryPlayed[entryIndex]; + } + + public int GetBarkCountInEntry(int entryIndex) + { + if (entryIndex >= 0 && entryIndex < m_barks.Length && m_barks[entryIndex].barks != null) + { + return m_barks[entryIndex].barks.Length; + } + return 0; + } + public override string RecordData() { - return SaveSystem.Serialize(m_saveData); + if (m_saveData.wasEntryPlayed == null || m_saveData.wasEntryPlayed.Length != m_barks.Length) + { + bool[] oldData = m_saveData.wasEntryPlayed; + m_saveData.wasEntryPlayed = new bool[m_barks.Length]; + if (oldData != null) Array.Copy(oldData, m_saveData.wasEntryPlayed, Math.Min(oldData.Length, m_barks.Length)); + } + return SaveSystem.Serialize(m_saveData); } public override void ApplyData(string s) { - var sd = SaveSystem.Deserialize(s); - if (sd != null) + if (string.IsNullOrEmpty(s)) return; + var loadedData = SaveSystem.Deserialize(s); + if (loadedData != null) { - m_saveData = sd; + if (loadedData.wasEntryPlayed != null && loadedData.wasEntryPlayed.Length == m_barks.Length) + { + m_saveData = loadedData; + } + else + { + Debug.LogWarning($"BarkManager: Loaded 'wasEntryPlayed' data length mismatch. Discarding loaded state.", this); + InitializeSaveData(); + } } + else Debug.LogError("BarkManager: Failed to deserialize save data.", this); } + private void Update() { - if (m_audioSource && m_audioSource.isPlaying) - return; - if (m_barkQueue.Count > 0) + // Process the queue for externally triggered RANDOM barks + if (m_barkQueue.Count > 0 && !IsPlaying) { - int barkId = m_barkQueue.Dequeue(); - PlayInternal(barkId); + QueuedBarkRequest request = m_barkQueue.Dequeue(); + + // --- Resolve target just before playing from queue --- + Transform targetForText = request.target; // Use the target stored in the queue request first + if (targetForText == null) // If no specific target was queued... + { + if (Player.Instance != null) // Check for Player *now* + { + targetForText = Player.Instance.transform; + } + // else: targetForText remains null, text bark won't show + } + // --- End Target Resolution --- + + // Call the main PlayBark method, passing the resolved target and -1 for random + PlayBark(request.entryIndex, targetForText, -1); } } } diff --git a/Assets/Scripts/Utils/BarkPlayer.cs b/Assets/Scripts/Utils/BarkPlayer.cs new file mode 100644 index 000000000..14f3de05f --- /dev/null +++ b/Assets/Scripts/Utils/BarkPlayer.cs @@ -0,0 +1,322 @@ +using System.Collections; +using System.Collections.Generic; +using System.ComponentModel; +using System.Linq; +using System.Linq.Expressions; +using PixelCrushers; // For Saver +using UnityEngine; +using Random = UnityEngine.Random; + +namespace Beyond +{ + [RequireComponent(typeof(Collider))] + public class BarkPlayer : Saver + { + [Header("Bark Configuration")] + [Tooltip("The index of the BarkEntry in BarkManager's m_barks list.")] + public int barkManagerEntryIndex = 0; + + [Tooltip("Delay in seconds after one bark's audio finishes before starting the next.")] + public float delayBetweenBarks = 0.5f; + + [Tooltip("Play barks within the entry in a random order (shuffled once on start/load).")] + public bool shuffleOrder = false; + + [Tooltip("Keep playing barks (looping the sequence if necessary) as long as an object on a triggering layer stays inside.")] + public bool loopWhileInside = true; + + [Header("Trigger Settings")] + [Tooltip("Layers that can activate this bark trigger.")] + public LayerMask triggeringLayers; // User configures this in Inspector + + [Header("State (Read Only)")] + [SerializeField, ReadOnly(true)] + private int nextBarkSequenceIndex = 0; + [SerializeField, ReadOnly(true)] + private bool isTriggeringObjectInside = false; // Renamed for clarity + + // --- Internal Vars --- + // Removed PLAYER_LAYER_NAME constant + private List playbackOrder; + private bool isInitialized = false; + private Collider triggerCollider; + private BarkManager barkManager; + private Coroutine currentPlaybackCoroutine = null; + private Transform currentTriggererTransform = null; // Store the transform of the object inside + + + // --- Save Data --- (Remains the same) + [System.Serializable] + public class BarkPlayerData { /* ... same as before ... */ + public int savedNextBarkSequenceIndex; + public List savedPlaybackOrder; + public bool wasShuffled; + } + private BarkPlayerData m_saveData = new BarkPlayerData(); + + // --- Methods --- + + public override void Awake() + { + base.Awake(); + + triggerCollider = GetComponent(); + if (!triggerCollider.isTrigger) + { + Debug.LogWarning($"BarkPlayer on {gameObject.name}: Collider is not set to 'Is Trigger'. Forcing it.", this); + triggerCollider.isTrigger = true; + } + + // --- Set Default LayerMask if Unassigned --- + if (triggeringLayers.value == 0) // LayerMask is empty/unassigned in inspector + { + int playerLayer = LayerMask.NameToLayer("Player"); + if (playerLayer != -1) + { + triggeringLayers = LayerMask.GetMask("Player"); // Default to Player layer + Debug.LogWarning($"BarkPlayer on {gameObject.name}: Triggering Layers not set in inspector, defaulting to 'Player' layer.", this); + } + else + { + // Layer "Player" doesn't exist, and no layers were assigned. Log an error. + Debug.LogError($"BarkPlayer on {gameObject.name}: Triggering Layers is not set in the inspector, and the default 'Player' layer was not found. This trigger will likely not activate.", this); + // Leave triggeringLayers as 0 (Nothing) + } + } + // --- End LayerMask Default --- + + + // Initialize save data defaults + m_saveData.savedNextBarkSequenceIndex = 0; + m_saveData.savedPlaybackOrder = null; + m_saveData.wasShuffled = shuffleOrder; + nextBarkSequenceIndex = 0; + isTriggeringObjectInside = false; + } + + private void Start() + { + barkManager = BarkManager.Instance; + if (barkManager == null) + { + Debug.LogError($"BarkPlayer on {gameObject.name}: Could not find BarkManager instance!", this); + enabled = false; + return; + } + + InitializePlaybackOrder(); + isInitialized = true; + } + + // InitializePlaybackOrder() remains the same as before + + private void InitializePlaybackOrder() + { + if (barkManager == null) return; + + int barkCount = barkManager.GetBarkCountInEntry(barkManagerEntryIndex); + if (barkCount <= 0) + { + Debug.LogWarning($"BarkPlayer on {gameObject.name}: BarkEntry {barkManagerEntryIndex} has no barks. Disabling.", this); + playbackOrder = new List(); + enabled = false; + return; + } + + bool useLoadedOrder = m_saveData.savedPlaybackOrder != null && + m_saveData.wasShuffled == shuffleOrder && + m_saveData.savedPlaybackOrder.Count == barkCount; + + if (useLoadedOrder) + { + playbackOrder = new List(m_saveData.savedPlaybackOrder); + } + else + { + playbackOrder = Enumerable.Range(0, barkCount).ToList(); + if (shuffleOrder) + { + for (int i = playbackOrder.Count - 1; i > 0; i--) { + int j = Random.Range(0, i + 1); + (playbackOrder[i], playbackOrder[j]) = (playbackOrder[j], playbackOrder[i]); + } + m_saveData.wasShuffled = true; + } else { + m_saveData.wasShuffled = false; + } + m_saveData.savedPlaybackOrder = new List(playbackOrder); + } + + nextBarkSequenceIndex = Mathf.Clamp(m_saveData.savedNextBarkSequenceIndex, 0, playbackOrder.Count); + + if (nextBarkSequenceIndex >= playbackOrder.Count && !loopWhileInside) + { + Debug.Log($"BarkPlayer on {gameObject.name}: Sequence for entry {barkManagerEntryIndex} already completed (and not looping).", this); + } + } + + + private void OnTriggerEnter(Collider other) + { + if (!isInitialized) return; + + // --- Check Layer Mask --- + int otherLayer = other.gameObject.layer; + // Check if the entering object's layer is in our mask + if ((triggeringLayers.value & (1 << otherLayer)) == 0) + { + // Layer not in mask, ignore this trigger event + return; + } + // --- End Layer Check --- + + // Object on a triggering layer entered + Debug.Log($"BarkPlayer ({gameObject.name}): Triggering object '{other.name}' entered.", this); + isTriggeringObjectInside = true; + currentTriggererTransform = other.transform; // Store the transform for barking + + // Start playback if not already running + if (currentPlaybackCoroutine == null) + { + currentPlaybackCoroutine = StartCoroutine(ContinuousPlaybackLoop()); + } + } + + private void OnTriggerExit(Collider other) + { + if (!isInitialized) return; + + // --- Check Layer Mask --- + int otherLayer = other.gameObject.layer; + if ((triggeringLayers.value & (1 << otherLayer)) == 0) + { + // Ignore exit events from non-triggering layers + return; + } + // --- End Layer Check --- + + // Object on a triggering layer exited + // Important: Only react if the exiting object is the *same one* we stored. + // This handles cases where multiple triggering objects might enter/exit. + if (other.transform == currentTriggererTransform) + { + Debug.Log($"BarkPlayer ({gameObject.name}): Triggering object '{other.name}' exited.", this); + isTriggeringObjectInside = false; + currentTriggererTransform = null; // Clear the stored transform + + // Stop the playback coroutine + if (currentPlaybackCoroutine != null) + { + StopCoroutine(currentPlaybackCoroutine); + currentPlaybackCoroutine = null; + Debug.Log($"BarkPlayer ({gameObject.name}): Stopping playback loop due to exit.", this); + // Optional: Stop BarkManager audio immediately + // if (barkManager != null && barkManager.IsPlaying) barkManager.m_audioSource.Stop(); + } + } + // Else: Some other object on a triggering layer exited, but the primary one is still inside. Do nothing. + + } + + // ContinuousPlaybackLoop now uses the stored currentTriggererTransform + private IEnumerator ContinuousPlaybackLoop() + { + Debug.Log($"BarkPlayer ({gameObject.name}): Starting playback loop.", this); + + // Ensure we have a target transform before proceeding + while (currentTriggererTransform == null && isTriggeringObjectInside) + { + Debug.LogWarning($"BarkPlayer ({gameObject.name}): Waiting for valid triggerer transform.", this); + yield return null; // Wait a frame if trigger happened but transform wasn't stored yet (unlikely but safe) + } + + // Main loop runs while a triggering object is inside AND we have its transform + while (isTriggeringObjectInside && currentTriggererTransform != null) + { + if (playbackOrder == null || playbackOrder.Count == 0) + { + Debug.LogWarning($"BarkPlayer ({gameObject.name}): No barks to play in entry {barkManagerEntryIndex}.", this); + yield break; + } + + bool sequenceFinished = nextBarkSequenceIndex >= playbackOrder.Count; + + if (sequenceFinished) + { + if (loopWhileInside) + { + Debug.Log($"BarkPlayer ({gameObject.name}): Sequence finished, looping.", this); + nextBarkSequenceIndex = 0; + if (shuffleOrder) { + InitializePlaybackOrder(); + nextBarkSequenceIndex = 0; + if (playbackOrder.Count == 0) yield break; + } + } + else + { + Debug.Log($"BarkPlayer ({gameObject.name}): Sequence finished, not looping. Waiting for exit.", this); + // Wait until trigger object leaves + while(isTriggeringObjectInside && currentTriggererTransform != null) { yield return null; } + yield break; // Exit coroutine + } + } + + // Wait for BarkManager's AudioSource if necessary + if (barkManager.IsPlaying) + { + yield return null; + continue; + } + + // Play the bark using the stored transform + int barkIndexToPlay = playbackOrder[nextBarkSequenceIndex]; + Debug.Log($"BarkPlayer ({gameObject.name}): Playing bark {nextBarkSequenceIndex} (actual index: {barkIndexToPlay}) targeting '{currentTriggererTransform.name}'.", this); + + // Pass the stored transform + AudioClip playedClip = barkManager.PlayBark(barkManagerEntryIndex, currentTriggererTransform, barkIndexToPlay); + + nextBarkSequenceIndex++; + + float waitTime = delayBetweenBarks; + if (playedClip != null) { waitTime += Mathf.Max(0f, playedClip.length); } + + if (waitTime > 0) { yield return new WaitForSeconds(waitTime); } + else { yield return null; } + } + + Debug.Log($"BarkPlayer ({gameObject.name}): Playback loop finished (Triggering object left or transform lost).", this); + // Reset coroutine reference *if* it was this instance that finished it + // (OnTriggerExit might have already cleared it) + if (currentPlaybackCoroutine != null && !isTriggeringObjectInside) { + currentPlaybackCoroutine = null; + } + } + + + // --- Save System Integration --- (Remains the same) + public override string RecordData() { /* ... same as before ... */ + m_saveData.savedNextBarkSequenceIndex = this.nextBarkSequenceIndex; + m_saveData.savedPlaybackOrder = new List(this.playbackOrder ?? new List()); + m_saveData.wasShuffled = this.shuffleOrder; + return SaveSystem.Serialize(m_saveData); + } + public override void ApplyData(string s) { /* ... same as before ... */ + if (string.IsNullOrEmpty(s)) return; + var loadedData = SaveSystem.Deserialize(s); + if (loadedData != null) { m_saveData = loadedData; } + else Debug.LogError($"BarkPlayer ({gameObject.name}): Failed to deserialize save data.", this); + } + + // --- Gizmos --- (Remain the same, uses isTriggeringObjectInside now) + private void OnDrawGizmos() { + Collider col = GetComponent(); + if (col != null) { + Gizmos.color = isTriggeringObjectInside ? new Color(1f, 0.5f, 0.5f, 0.4f) : new Color(0.5f, 1f, 0.5f, 0.3f); + if (col is BoxCollider box) Gizmos.DrawCube(transform.TransformPoint(box.center), Vector3.Scale(box.size, transform.lossyScale)); + else if (col is SphereCollider sphere) Gizmos.DrawSphere(transform.TransformPoint(sphere.center), sphere.radius * MaxComponent(transform.lossyScale)); + } + } + private float MaxComponent(Vector3 v) => Mathf.Max(Mathf.Max(v.x, v.y), v.z); + } +} \ No newline at end of file diff --git a/Assets/Scripts/Utils/BarkPlayer.cs.meta b/Assets/Scripts/Utils/BarkPlayer.cs.meta new file mode 100644 index 000000000..44cb04dcc --- /dev/null +++ b/Assets/Scripts/Utils/BarkPlayer.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 82f8f534f4d73499ea554681a3e99a4a \ No newline at end of file