From 22f6982c4c00101b51cf12cda96bda4143458a31 Mon Sep 17 00:00:00 2001 From: henrisel Date: Thu, 5 Mar 2026 12:27:38 +0200 Subject: [PATCH] cafe waiter brings food on a serving tray --- 3d-generation-pipeline/README.md | 1 - .../_PROJECT/Fonts/Handlee-Regular SDF.asset | 4 +- .../_PROJECT/Fonts/Quantico-Regular SDF.asset | 4 +- .../Models/ModelGeneration/ServingTray.fbx | 3 + .../ModelGeneration/ServingTray.fbx.meta | 108 +++++++ .../Characters/CafeWaiterNPC.prefab | 129 +++++++- .../ModelGeneration/ServingTray.prefab | 279 ++++++++++++++++++ .../ModelGeneration/ServingTray.prefab.meta | 7 + .../_PROJECT/Scenes/DeltaBuilding_base.unity | 4 +- .../ModeGeneration/NPCs/CafeWaiterNPC.cs | 42 ++- .../ShapeDetection/ButtonTrigger.cs | 31 -- .../ShapeDetection/ButtonTrigger.cs.meta | 11 - 12 files changed, 560 insertions(+), 63 deletions(-) create mode 100644 Assets/_PROJECT/Models/ModelGeneration/ServingTray.fbx create mode 100644 Assets/_PROJECT/Models/ModelGeneration/ServingTray.fbx.meta create mode 100644 Assets/_PROJECT/Prefabs/ModelGeneration/ServingTray.prefab create mode 100644 Assets/_PROJECT/Prefabs/ModelGeneration/ServingTray.prefab.meta delete mode 100644 Assets/_PROJECT/Scripts/ModeGeneration/ShapeDetection/ButtonTrigger.cs delete mode 100644 Assets/_PROJECT/Scripts/ModeGeneration/ShapeDetection/ButtonTrigger.cs.meta diff --git a/3d-generation-pipeline/README.md b/3d-generation-pipeline/README.md index 9619cbfc..203da4cb 100644 --- a/3d-generation-pipeline/README.md +++ b/3d-generation-pipeline/README.md @@ -26,7 +26,6 @@ * highscore json tühjaks * cafe: * npc võiks olla keeratud sinu poole juba kaugelt - * toit võiks tulla kandiku peal/sees Can't/Won't Do: * glTF loading: vahetada ära shader Universal render pipeline Lit, mitte panna buildi kaasa glTf oma - **ei saa, objekt on siis ilma tekstuurita, lihtsalt hall** diff --git a/Assets/_PROJECT/Fonts/Handlee-Regular SDF.asset b/Assets/_PROJECT/Fonts/Handlee-Regular SDF.asset index e3896749..e1088063 100644 --- a/Assets/_PROJECT/Fonts/Handlee-Regular SDF.asset +++ b/Assets/_PROJECT/Fonts/Handlee-Regular SDF.asset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:e335e65ec81f22cc2ba30d8e923dbaa9fd279b077622e4ff5816f3d4f66b40ea -size 2641660 +oid sha256:6d96479009b70cecb035250286d778377d89c5a9b4191197a0015a81e891966e +size 2684429 diff --git a/Assets/_PROJECT/Fonts/Quantico-Regular SDF.asset b/Assets/_PROJECT/Fonts/Quantico-Regular SDF.asset index 9fe12e2c..a2739961 100644 --- a/Assets/_PROJECT/Fonts/Quantico-Regular SDF.asset +++ b/Assets/_PROJECT/Fonts/Quantico-Regular SDF.asset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:3f0236d35b185c8b3c8f70270040d7f9efdbac5383f949b3c8a60a9cc296ee55 -size 2125671 +oid sha256:ca4e64d326933ccb2c573e0f91536783d467e61336142cc412b160fda2ce21fe +size 2109215 diff --git a/Assets/_PROJECT/Models/ModelGeneration/ServingTray.fbx b/Assets/_PROJECT/Models/ModelGeneration/ServingTray.fbx new file mode 100644 index 00000000..c18caddd --- /dev/null +++ b/Assets/_PROJECT/Models/ModelGeneration/ServingTray.fbx @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:de6c2884b8028232605e6c488c05ba6e1bcf5a58c85855bb4133196343d5770b +size 51980 diff --git a/Assets/_PROJECT/Models/ModelGeneration/ServingTray.fbx.meta b/Assets/_PROJECT/Models/ModelGeneration/ServingTray.fbx.meta new file mode 100644 index 00000000..ef471ef9 --- /dev/null +++ b/Assets/_PROJECT/Models/ModelGeneration/ServingTray.fbx.meta @@ -0,0 +1,108 @@ +fileFormatVersion: 2 +guid: 3d938fc5df676394d8a29eb15002c190 +ModelImporter: + serializedVersion: 22200 + internalIDToNameTable: [] + externalObjects: {} + materials: + materialImportMode: 2 + materialName: 0 + materialSearch: 1 + materialLocation: 1 + animations: + legacyGenerateAnimations: 4 + bakeSimulation: 0 + resampleCurves: 1 + optimizeGameObjects: 0 + removeConstantScaleCurves: 0 + motionNodeName: + rigImportErrors: + rigImportWarnings: + animationImportErrors: + animationImportWarnings: + animationRetargetingWarnings: + animationDoRetargetingWarnings: 0 + importAnimatedCustomProperties: 0 + importConstraints: 0 + animationCompression: 1 + animationRotationError: 0.5 + animationPositionError: 0.5 + animationScaleError: 0.5 + animationWrapMode: 0 + extraExposedTransformPaths: [] + extraUserProperties: [] + clipAnimations: [] + isReadable: 0 + meshes: + lODScreenPercentages: [] + globalScale: 1 + meshCompression: 0 + addColliders: 0 + useSRGBMaterialColor: 1 + sortHierarchyByName: 1 + importVisibility: 1 + importBlendShapes: 1 + importCameras: 1 + importLights: 1 + nodeNameCollisionStrategy: 1 + fileIdsGeneration: 2 + swapUVChannels: 0 + generateSecondaryUV: 0 + useFileUnits: 1 + keepQuads: 0 + weldVertices: 1 + bakeAxisConversion: 0 + preserveHierarchy: 0 + skinWeightsMode: 0 + maxBonesPerVertex: 4 + minBoneWeight: 0.001 + optimizeBones: 1 + meshOptimizationFlags: -1 + indexFormat: 0 + secondaryUVAngleDistortion: 8 + secondaryUVAreaDistortion: 15.000001 + secondaryUVHardAngle: 88 + secondaryUVMarginMethod: 1 + secondaryUVMinLightmapResolution: 40 + secondaryUVMinObjectScale: 1 + secondaryUVPackMargin: 4 + useFileScale: 1 + strictVertexDataChecks: 0 + tangentSpace: + normalSmoothAngle: 60 + normalImportMode: 0 + tangentImportMode: 3 + normalCalculationMode: 4 + legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0 + blendShapeNormalImportMode: 1 + normalSmoothingSource: 0 + referencedClips: [] + importAnimation: 1 + humanDescription: + serializedVersion: 3 + human: [] + skeleton: [] + armTwist: 0.5 + foreArmTwist: 0.5 + upperLegTwist: 0.5 + legTwist: 0.5 + armStretch: 0.05 + legStretch: 0.05 + feetSpacing: 0 + globalScale: 1 + rootMotionBoneName: + hasTranslationDoF: 0 + hasExtraRoot: 0 + skeletonHasParents: 1 + lastHumanDescriptionAvatarSource: {instanceID: 0} + autoGenerateAvatarMappingIfUnspecified: 1 + animationType: 2 + humanoidOversampling: 1 + avatarSetup: 0 + addHumanoidExtraRootOnlyWhenUsingAvatar: 1 + importBlendShapeDeformPercent: 1 + remapMaterialsIfMaterialImportModeIsNone: 0 + additionalBone: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/_PROJECT/Prefabs/ModelGeneration/Characters/CafeWaiterNPC.prefab b/Assets/_PROJECT/Prefabs/ModelGeneration/Characters/CafeWaiterNPC.prefab index e4dc89ec..93e2f1dc 100644 --- a/Assets/_PROJECT/Prefabs/ModelGeneration/Characters/CafeWaiterNPC.prefab +++ b/Assets/_PROJECT/Prefabs/ModelGeneration/Characters/CafeWaiterNPC.prefab @@ -217,6 +217,7 @@ RectTransform: - {fileID: 6822286665445551211} - {fileID: 1530163177365118906} - {fileID: 9206972526079896025} + - {fileID: 532878555782351644} m_Father: {fileID: 0} m_RootOrder: -1 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} @@ -269,7 +270,7 @@ MonoBehaviour: m_FallbackScreenDPI: 96 m_DefaultSpriteDPI: 96 m_DynamicPixelsPerUnit: 1 - m_PresetInfoIsWorld: 0 + m_PresetInfoIsWorld: 1 --- !u!114 &6105090838799004608 MonoBehaviour: m_ObjectHideFlags: 0 @@ -320,10 +321,14 @@ MonoBehaviour: notepad: {fileID: 4428142794029565387} notepadText: {fileID: 1672365637701508529} pen: {fileID: 8182716950090654063} - backRoom: {fileID: 0} - plate: {fileID: 0} - backRoomMovingTime: 5 + servingTray: {fileID: 532878555782351644} + servingTrayTop: {fileID: 4054385274916025690} + servingTrayFoodSpawnPoint: {fileID: 9197682265033829949} + servingTrayPresentingPosition: {fileID: 0} + servingTrayTopLiftAmount: 0.5 spawnedFoodDiameter: 0.5 + backRoom: {fileID: 0} + backRoomMovingTime: 5 ignorePlayerCollisionLayer: 2 --- !u!114 &7699707098595015193 MonoBehaviour: @@ -796,3 +801,119 @@ GameObject: type: 3} m_PrefabInstance: {fileID: 7727616090730660173} m_PrefabAsset: {fileID: 0} +--- !u!1001 &8665339237764214756 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + serializedVersion: 3 + m_TransformParent: {fileID: 5657737279223690836} + m_Modifications: + - target: {fileID: 1375442583061750018, guid: c43698824b8754f428a6677d8301a04c, + type: 3} + propertyPath: m_SortingLayer + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 5165251572813796828, guid: c43698824b8754f428a6677d8301a04c, + type: 3} + propertyPath: m_SortingLayer + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8390068347103116866, guid: c43698824b8754f428a6677d8301a04c, + type: 3} + propertyPath: m_Name + value: ServingTray + objectReference: {fileID: 0} + - target: {fileID: 9161537809656587512, guid: c43698824b8754f428a6677d8301a04c, + type: 3} + propertyPath: m_RootOrder + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 9161537809656587512, guid: c43698824b8754f428a6677d8301a04c, + type: 3} + propertyPath: m_LocalScale.x + value: 0.7872121 + objectReference: {fileID: 0} + - target: {fileID: 9161537809656587512, guid: c43698824b8754f428a6677d8301a04c, + type: 3} + propertyPath: m_LocalScale.y + value: 0.7872121 + objectReference: {fileID: 0} + - target: {fileID: 9161537809656587512, guid: c43698824b8754f428a6677d8301a04c, + type: 3} + propertyPath: m_LocalScale.z + value: 0.7872121 + objectReference: {fileID: 0} + - target: {fileID: 9161537809656587512, guid: c43698824b8754f428a6677d8301a04c, + type: 3} + propertyPath: m_LocalPosition.x + value: 0.0000016202 + objectReference: {fileID: 0} + - target: {fileID: 9161537809656587512, guid: c43698824b8754f428a6677d8301a04c, + type: 3} + propertyPath: m_LocalPosition.y + value: 0.11433 + objectReference: {fileID: 0} + - target: {fileID: 9161537809656587512, guid: c43698824b8754f428a6677d8301a04c, + type: 3} + propertyPath: m_LocalPosition.z + value: 0.30001 + objectReference: {fileID: 0} + - target: {fileID: 9161537809656587512, guid: c43698824b8754f428a6677d8301a04c, + type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 9161537809656587512, guid: c43698824b8754f428a6677d8301a04c, + type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 9161537809656587512, guid: c43698824b8754f428a6677d8301a04c, + type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 9161537809656587512, guid: c43698824b8754f428a6677d8301a04c, + type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 9161537809656587512, guid: c43698824b8754f428a6677d8301a04c, + type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 9161537809656587512, guid: c43698824b8754f428a6677d8301a04c, + type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 9161537809656587512, guid: c43698824b8754f428a6677d8301a04c, + type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_RemovedGameObjects: [] + m_AddedGameObjects: [] + m_AddedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: c43698824b8754f428a6677d8301a04c, type: 3} +--- !u!4 &532878555782351644 stripped +Transform: + m_CorrespondingSourceObject: {fileID: 9161537809656587512, guid: c43698824b8754f428a6677d8301a04c, + type: 3} + m_PrefabInstance: {fileID: 8665339237764214756} + m_PrefabAsset: {fileID: 0} +--- !u!4 &4054385274916025690 stripped +Transform: + m_CorrespondingSourceObject: {fileID: 4613209722915461822, guid: c43698824b8754f428a6677d8301a04c, + type: 3} + m_PrefabInstance: {fileID: 8665339237764214756} + m_PrefabAsset: {fileID: 0} +--- !u!4 &9197682265033829949 stripped +Transform: + m_CorrespondingSourceObject: {fileID: 569075787185045977, guid: c43698824b8754f428a6677d8301a04c, + type: 3} + m_PrefabInstance: {fileID: 8665339237764214756} + m_PrefabAsset: {fileID: 0} diff --git a/Assets/_PROJECT/Prefabs/ModelGeneration/ServingTray.prefab b/Assets/_PROJECT/Prefabs/ModelGeneration/ServingTray.prefab new file mode 100644 index 00000000..3f6c104f --- /dev/null +++ b/Assets/_PROJECT/Prefabs/ModelGeneration/ServingTray.prefab @@ -0,0 +1,279 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &33945096282833667 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4613209722915461822} + - component: {fileID: 6192135053139835027} + - component: {fileID: 1375442583061750018} + - component: {fileID: 2161552460854040793} + m_Layer: 0 + m_Name: Top + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4613209722915461822 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 33945096282833667} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0.23551077, z: -0.00014617827} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 9161537809656587512} + m_RootOrder: -1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &6192135053139835027 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 33945096282833667} + m_Mesh: {fileID: 4493585093827132993, guid: 3d938fc5df676394d8a29eb15002c190, type: 3} +--- !u!23 &1375442583061750018 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 33945096282833667} + 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_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 9101636318673992656, guid: 3d938fc5df676394d8a29eb15002c190, type: 3} + 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!64 &2161552460854040793 +MeshCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 33945096282833667} + 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: 5 + m_Convex: 0 + m_CookingOptions: 30 + m_Mesh: {fileID: 4493585093827132993, guid: 3d938fc5df676394d8a29eb15002c190, type: 3} +--- !u!1 &1579187116394808824 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 569075787185045977} + m_Layer: 0 + m_Name: FoodSpawnPoint + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &569075787185045977 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1579187116394808824} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0.1709, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 9161537809656587512} + m_RootOrder: -1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &8296343995460317559 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5428513804157271965} + - component: {fileID: 3650349036290197763} + - component: {fileID: 5165251572813796828} + - component: {fileID: 4954145746846201402} + m_Layer: 0 + m_Name: Bottom + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &5428513804157271965 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8296343995460317559} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 9161537809656587512} + m_RootOrder: -1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &3650349036290197763 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8296343995460317559} + m_Mesh: {fileID: -5495902117074765545, guid: 3d938fc5df676394d8a29eb15002c190, type: 3} +--- !u!23 &5165251572813796828 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8296343995460317559} + 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_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 9101636318673992656, guid: 3d938fc5df676394d8a29eb15002c190, type: 3} + 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!64 &4954145746846201402 +MeshCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8296343995460317559} + 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: 5 + m_Convex: 0 + m_CookingOptions: 30 + m_Mesh: {fileID: -5495902117074765545, guid: 3d938fc5df676394d8a29eb15002c190, type: 3} +--- !u!1 &8390068347103116866 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 9161537809656587512} + m_Layer: 0 + m_Name: ServingTray + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &9161537809656587512 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8390068347103116866} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0.131, z: 0.169} + m_LocalScale: {x: 0.7446047, y: 0.7446047, z: 0.7446047} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 4613209722915461822} + - {fileID: 5428513804157271965} + - {fileID: 569075787185045977} + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} diff --git a/Assets/_PROJECT/Prefabs/ModelGeneration/ServingTray.prefab.meta b/Assets/_PROJECT/Prefabs/ModelGeneration/ServingTray.prefab.meta new file mode 100644 index 00000000..e531614d --- /dev/null +++ b/Assets/_PROJECT/Prefabs/ModelGeneration/ServingTray.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: c43698824b8754f428a6677d8301a04c +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/_PROJECT/Scenes/DeltaBuilding_base.unity b/Assets/_PROJECT/Scenes/DeltaBuilding_base.unity index f1079bb7..df1e8dcd 100644 --- a/Assets/_PROJECT/Scenes/DeltaBuilding_base.unity +++ b/Assets/_PROJECT/Scenes/DeltaBuilding_base.unity @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:8bc3944e55cc8e07f4c871d9a54de8eb2e6850e0a417143c0fc89cab129c0239 -size 68641593 +oid sha256:e23e37b99b77d4ccb606a7451e291e084a682ed0ba60717b82b35d761d4c9ec6 +size 68640479 diff --git a/Assets/_PROJECT/Scripts/ModeGeneration/NPCs/CafeWaiterNPC.cs b/Assets/_PROJECT/Scripts/ModeGeneration/NPCs/CafeWaiterNPC.cs index 33a8340d..af2b6d2c 100644 --- a/Assets/_PROJECT/Scripts/ModeGeneration/NPCs/CafeWaiterNPC.cs +++ b/Assets/_PROJECT/Scripts/ModeGeneration/NPCs/CafeWaiterNPC.cs @@ -6,20 +6,28 @@ using UnityEngine.XR.Interaction.Toolkit; public class CafeWaiterNPC : NPCController { + [Header("Delta Cafe Minigame Config")] public FMODWhisperBridge fmodWhisperBridge; + public GameObject notepad; public TextMeshProUGUI notepadText; public PenWriter pen; - public Transform backRoom; - public Transform plate; - public float backRoomMovingTime = 5f; + public Transform servingTray; + public Transform servingTrayTop; + public Transform servingTrayFoodSpawnPoint; + public Transform servingTrayPresentingPosition; + public float servingTrayTopLiftAmount = 0.5f; public float spawnedFoodDiameter = 0.5f; + public Transform backRoom; + public float backRoomMovingTime = 5f; public int ignorePlayerCollisionLayer = 2; private Vector3 notepadOriginalRotation; private Vector3 notepadFlippedRotation; + private Vector3 servingTrayOriginalLocalPosition; + private Vector3 servingTrayTopOriginalLocalPosition; private Vector3 startingPosition; // states: @@ -35,15 +43,18 @@ public class CafeWaiterNPC : NPCController { state = 0; lastPlayerVoiceUpdateTime = Time.time; - startingPosition = transform.position; } private void Start() { + startingPosition = transform.position; notepadOriginalRotation = notepad.transform.localRotation.eulerAngles; notepadFlippedRotation = notepadOriginalRotation + new Vector3(0, 180, 0); + servingTrayOriginalLocalPosition = servingTray.transform.localPosition; + servingTrayTopOriginalLocalPosition = servingTrayTop.localPosition; notepad.SetActive(false); pen.gameObject.SetActive(false); + servingTray.gameObject.SetActive(false); } protected override void OnPlayerApproach() @@ -71,10 +82,16 @@ public class CafeWaiterNPC : NPCController // If currently not bringing food and the player leaves, then go back to idle state if (state != 3) { + notepad.transform.localRotation = Quaternion.Euler(notepadOriginalRotation); notepad.SetActive(false); pen.StopWriting(); pen.gameObject.SetActive(false); - notepad.transform.localRotation = Quaternion.Euler(notepadOriginalRotation); + + servingTray.parent = transform; + servingTray.localPosition = servingTrayOriginalLocalPosition; + servingTrayTop.localPosition = servingTrayTopOriginalLocalPosition; + servingTray.gameObject.SetActive(false); + state = 0; } } @@ -157,14 +174,19 @@ public class CafeWaiterNPC : NPCController GameObject spawnedObject = await ModelGenerationUtils.Instance.SpawnModel(encodedModel, spawnedFoodDiameter); // Come back + servingTray.gameObject.SetActive(true); transform.DOMove(startingPosition, backRoomMovingTime).OnComplete(() => { - spawnedObject.transform.position = plate.position + new Vector3(0, 1f, 0); - InitializeSpawnedObject(spawnedObject); + servingTray.parent = null; + servingTray.DOMove(servingTrayPresentingPosition.position, 1f).OnComplete(() => + { + spawnedObject.transform.position = servingTrayFoodSpawnPoint.position; + InitializeSpawnedObject(spawnedObject); + servingTrayTop.DOLocalMove(servingTrayTop.localPosition + new Vector3(0, servingTrayTopLiftAmount, 0), 1f); - SpeakVoiceLine(4); - - state = 4; + SpeakVoiceLine(4); + state = 4; + }); }); } diff --git a/Assets/_PROJECT/Scripts/ModeGeneration/ShapeDetection/ButtonTrigger.cs b/Assets/_PROJECT/Scripts/ModeGeneration/ShapeDetection/ButtonTrigger.cs deleted file mode 100644 index 4aa68467..00000000 --- a/Assets/_PROJECT/Scripts/ModeGeneration/ShapeDetection/ButtonTrigger.cs +++ /dev/null @@ -1,31 +0,0 @@ -using System.Collections; -using System.Collections.Generic; -using UnityEngine; - -public class ButtonTrigger : MonoBehaviour -{ - public bool isEnter; - public ReleasableButton button; - - // Start is called before the first frame update - void Start() - { - - } - - // Update is called once per frame - void Update() - { - - } - - private void OnTriggerEnter(Collider other) - { - - } - - private void OnTriggerExit(Collider other) - { - - } -} diff --git a/Assets/_PROJECT/Scripts/ModeGeneration/ShapeDetection/ButtonTrigger.cs.meta b/Assets/_PROJECT/Scripts/ModeGeneration/ShapeDetection/ButtonTrigger.cs.meta deleted file mode 100644 index 9b86af2b..00000000 --- a/Assets/_PROJECT/Scripts/ModeGeneration/ShapeDetection/ButtonTrigger.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 26d1ade0a3771324eb46882393dce30a -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: