From 8dadc6a58d1adb1ccd44ae585dc6b7edba422e61 Mon Sep 17 00:00:00 2001 From: yangbear Date: Wed, 1 Jul 2026 19:51:41 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E9=9F=B3=E9=A2=91=E7=B3=BB=E7=BB=9F?= =?UTF-8?q?=E9=87=8D=E6=9E=84=20-=20bg=E9=9F=B3=E4=B9=90=E6=B5=81=E7=A8=8B?= =?UTF-8?q?=E4=BF=AE=E5=A4=8D=20+=20woman=E8=AF=AD=E9=9F=B3=E6=8C=89?= =?UTF-8?q?=E7=82=B9=E4=BD=8D=E6=92=AD=E6=94=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 改动: 1. TouchPositionHandler新增voiceClip字段, 点击时播放对应语音 2. PageController.ShowPage: 首页播放homeBg 3. OnFixationSelected: StopBgMusic()(开场动画开始时停bg) 4. ActivateExperimentObjects: 移除PlayWomanAudioSequence, 保留PlayExperimentBg 5. 新增PlayHomeBg/StopBgMusic/PlayExperimentBg方法 6. 删除_audioManager冗余引用 流程: 首页→homeBg播 → 选固定方式→bg停 → 开场动画→实验bg播 woman语音1→点击point1播, 语音2→point2, 语音3→point3 --- .../Characters/Man/{Shouse.fbx => Shose.fbx} | Bin .../Man/{Shouse.fbx.meta => Shose.fbx.meta} | 0 .../{ShouseTexture.meta => ShoseTexture.meta} | 0 .../manObj_Shoes_diffuse.png | Bin .../manObj_Shoes_diffuse.png.meta | 0 .../manObj_Shoes_gloss.png | Bin .../manObj_Shoes_gloss.png.meta | 0 .../manObj_Shoes_normal.png | Bin .../manObj_Shoes_normal.png.meta | 0 .../manObj_Shoes_specular.png | Bin .../manObj_Shoes_specular.png.meta | 0 Assets/Scenes/main.unity | 304 ++++++++++-------- .../Interaction/TouchPositionHandler.cs | 3 +- Assets/Scripts/UI/PageController.cs | 36 ++- 14 files changed, 200 insertions(+), 143 deletions(-) rename Assets/Models/Characters/Man/{Shouse.fbx => Shose.fbx} (100%) rename Assets/Models/Characters/Man/{Shouse.fbx.meta => Shose.fbx.meta} (100%) rename Assets/Models/Characters/Man/{ShouseTexture.meta => ShoseTexture.meta} (100%) rename Assets/Models/Characters/Man/{ShouseTexture => ShoseTexture}/manObj_Shoes_diffuse.png (100%) rename Assets/Models/Characters/Man/{ShouseTexture => ShoseTexture}/manObj_Shoes_diffuse.png.meta (100%) rename Assets/Models/Characters/Man/{ShouseTexture => ShoseTexture}/manObj_Shoes_gloss.png (100%) rename Assets/Models/Characters/Man/{ShouseTexture => ShoseTexture}/manObj_Shoes_gloss.png.meta (100%) rename Assets/Models/Characters/Man/{ShouseTexture => ShoseTexture}/manObj_Shoes_normal.png (100%) rename Assets/Models/Characters/Man/{ShouseTexture => ShoseTexture}/manObj_Shoes_normal.png.meta (100%) rename Assets/Models/Characters/Man/{ShouseTexture => ShoseTexture}/manObj_Shoes_specular.png (100%) rename Assets/Models/Characters/Man/{ShouseTexture => ShoseTexture}/manObj_Shoes_specular.png.meta (100%) diff --git a/Assets/Models/Characters/Man/Shouse.fbx b/Assets/Models/Characters/Man/Shose.fbx similarity index 100% rename from Assets/Models/Characters/Man/Shouse.fbx rename to Assets/Models/Characters/Man/Shose.fbx diff --git a/Assets/Models/Characters/Man/Shouse.fbx.meta b/Assets/Models/Characters/Man/Shose.fbx.meta similarity index 100% rename from Assets/Models/Characters/Man/Shouse.fbx.meta rename to Assets/Models/Characters/Man/Shose.fbx.meta diff --git a/Assets/Models/Characters/Man/ShouseTexture.meta b/Assets/Models/Characters/Man/ShoseTexture.meta similarity index 100% rename from Assets/Models/Characters/Man/ShouseTexture.meta rename to Assets/Models/Characters/Man/ShoseTexture.meta diff --git a/Assets/Models/Characters/Man/ShouseTexture/manObj_Shoes_diffuse.png b/Assets/Models/Characters/Man/ShoseTexture/manObj_Shoes_diffuse.png similarity index 100% rename from Assets/Models/Characters/Man/ShouseTexture/manObj_Shoes_diffuse.png rename to Assets/Models/Characters/Man/ShoseTexture/manObj_Shoes_diffuse.png diff --git a/Assets/Models/Characters/Man/ShouseTexture/manObj_Shoes_diffuse.png.meta b/Assets/Models/Characters/Man/ShoseTexture/manObj_Shoes_diffuse.png.meta similarity index 100% rename from Assets/Models/Characters/Man/ShouseTexture/manObj_Shoes_diffuse.png.meta rename to Assets/Models/Characters/Man/ShoseTexture/manObj_Shoes_diffuse.png.meta diff --git a/Assets/Models/Characters/Man/ShouseTexture/manObj_Shoes_gloss.png b/Assets/Models/Characters/Man/ShoseTexture/manObj_Shoes_gloss.png similarity index 100% rename from Assets/Models/Characters/Man/ShouseTexture/manObj_Shoes_gloss.png rename to Assets/Models/Characters/Man/ShoseTexture/manObj_Shoes_gloss.png diff --git a/Assets/Models/Characters/Man/ShouseTexture/manObj_Shoes_gloss.png.meta b/Assets/Models/Characters/Man/ShoseTexture/manObj_Shoes_gloss.png.meta similarity index 100% rename from Assets/Models/Characters/Man/ShouseTexture/manObj_Shoes_gloss.png.meta rename to Assets/Models/Characters/Man/ShoseTexture/manObj_Shoes_gloss.png.meta diff --git a/Assets/Models/Characters/Man/ShouseTexture/manObj_Shoes_normal.png b/Assets/Models/Characters/Man/ShoseTexture/manObj_Shoes_normal.png similarity index 100% rename from Assets/Models/Characters/Man/ShouseTexture/manObj_Shoes_normal.png rename to Assets/Models/Characters/Man/ShoseTexture/manObj_Shoes_normal.png diff --git a/Assets/Models/Characters/Man/ShouseTexture/manObj_Shoes_normal.png.meta b/Assets/Models/Characters/Man/ShoseTexture/manObj_Shoes_normal.png.meta similarity index 100% rename from Assets/Models/Characters/Man/ShouseTexture/manObj_Shoes_normal.png.meta rename to Assets/Models/Characters/Man/ShoseTexture/manObj_Shoes_normal.png.meta diff --git a/Assets/Models/Characters/Man/ShouseTexture/manObj_Shoes_specular.png b/Assets/Models/Characters/Man/ShoseTexture/manObj_Shoes_specular.png similarity index 100% rename from Assets/Models/Characters/Man/ShouseTexture/manObj_Shoes_specular.png rename to Assets/Models/Characters/Man/ShoseTexture/manObj_Shoes_specular.png diff --git a/Assets/Models/Characters/Man/ShouseTexture/manObj_Shoes_specular.png.meta b/Assets/Models/Characters/Man/ShoseTexture/manObj_Shoes_specular.png.meta similarity index 100% rename from Assets/Models/Characters/Man/ShouseTexture/manObj_Shoes_specular.png.meta rename to Assets/Models/Characters/Man/ShoseTexture/manObj_Shoes_specular.png.meta diff --git a/Assets/Scenes/main.unity b/Assets/Scenes/main.unity index dbb1aad..683e87e 100644 --- a/Assets/Scenes/main.unity +++ b/Assets/Scenes/main.unity @@ -203,7 +203,7 @@ Camera: m_Enabled: 1 serializedVersion: 2 m_ClearFlags: 1 - m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0} + m_BackGroundColor: {r: 0, g: 0, b: 0, a: 1} m_projectionMatrixMode: 1 m_GateFitMode: 2 m_FOVAxisMode: 0 @@ -252,13 +252,13 @@ Transform: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 2741973} serializedVersion: 2 - m_LocalRotation: {x: 0.079161726, y: 0.65067065, z: -0.06867076, w: 0.7520941} + m_LocalRotation: {x: 0.08211052, y: 0.6831766, z: -0.06511615, w: 0.7226947} m_LocalPosition: {x: -10.3490305, y: 0.7748528, z: -8.583734} m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 0} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_LocalEulerAnglesHint: {x: 11.985, y: 86.891, z: 1.059} --- !u!1 &4733890 GameObject: m_ObjectHideFlags: 0 @@ -338,6 +338,122 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 4733890} m_CullTransparentMesh: 1 +--- !u!1001 &12263693 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + serializedVersion: 3 + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: -8679921383154817045, guid: ef5fbbeda893849a285d196510e10634, + type: 3} + propertyPath: m_LocalScale.x + value: 0.011239154 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: ef5fbbeda893849a285d196510e10634, + type: 3} + propertyPath: m_LocalScale.y + value: 0.011239154 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: ef5fbbeda893849a285d196510e10634, + type: 3} + propertyPath: m_LocalScale.z + value: 0.011239154 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: ef5fbbeda893849a285d196510e10634, + type: 3} + propertyPath: m_LocalPosition.x + value: -8.253 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: ef5fbbeda893849a285d196510e10634, + type: 3} + propertyPath: m_LocalPosition.y + value: 0.15394 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: ef5fbbeda893849a285d196510e10634, + type: 3} + propertyPath: m_LocalPosition.z + value: -8.29 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: ef5fbbeda893849a285d196510e10634, + type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: ef5fbbeda893849a285d196510e10634, + type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: ef5fbbeda893849a285d196510e10634, + type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: ef5fbbeda893849a285d196510e10634, + type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: ef5fbbeda893849a285d196510e10634, + type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: ef5fbbeda893849a285d196510e10634, + type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: ef5fbbeda893849a285d196510e10634, + type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 919132149155446097, guid: ef5fbbeda893849a285d196510e10634, + type: 3} + propertyPath: m_Name + value: Shose + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_RemovedGameObjects: [] + m_AddedGameObjects: [] + m_AddedComponents: + - targetCorrespondingSourceObject: {fileID: 919132149155446097, guid: ef5fbbeda893849a285d196510e10634, + type: 3} + insertIndex: -1 + addedObject: {fileID: 12263695} + m_SourcePrefab: {fileID: 100100000, guid: ef5fbbeda893849a285d196510e10634, type: 3} +--- !u!1 &12263694 stripped +GameObject: + m_CorrespondingSourceObject: {fileID: 919132149155446097, guid: ef5fbbeda893849a285d196510e10634, + type: 3} + m_PrefabInstance: {fileID: 12263693} + m_PrefabAsset: {fileID: 0} +--- !u!114 &12263695 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 12263694} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: cbf0e86605f7b485f8ff25c5810d30c0, type: 3} + m_Name: + m_EditorClassIdentifier: + IsDraggable: 1 + SnapTarget: {fileID: 0} + OnDragStartEvent: + m_PersistentCalls: + m_Calls: [] + OnDragEndEvent: + m_PersistentCalls: + m_Calls: [] + OnSnappedEvent: + m_PersistentCalls: + m_Calls: [] --- !u!1001 &19129733 PrefabInstance: m_ObjectHideFlags: 0 @@ -1739,7 +1855,7 @@ Camera: m_Enabled: 1 serializedVersion: 2 m_ClearFlags: 1 - m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0} + m_BackGroundColor: {r: 0, g: 0, b: 0, a: 1} m_projectionMatrixMode: 1 m_GateFitMode: 2 m_FOVAxisMode: 0 @@ -3171,6 +3287,9 @@ MonoBehaviour: _idleDuration: 2 _fadeDuration: 1 _fallHoldDuration: 1.5 + _enableOpeningFlow: 1 + _basketballClip: {fileID: 8300000, guid: 25ff553be9c84452ab0a39fbfd06be77, type: 3} + _manCallClip: {fileID: 8300000, guid: bc5816d37e79f4461a243f63cd20c925, type: 3} --- !u!1 &458363765 GameObject: m_ObjectHideFlags: 0 @@ -3291,6 +3410,37 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 458363765} m_CullTransparentMesh: 1 +--- !u!1 &485512480 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 485512481} + m_Layer: 0 + m_Name: ShosePoint + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &485512481 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 485512480} + serializedVersion: 2 + m_LocalRotation: {x: 0.7071068, y: 0, z: 0, w: 0.7071068} + m_LocalPosition: {x: -9.694, y: 0.031, z: -7.962} + m_LocalScale: {x: 0.01123915, y: 0.01123915, z: 0.01123915} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 90, y: 0, z: 0} --- !u!1 &498395086 GameObject: m_ObjectHideFlags: 0 @@ -3508,8 +3658,8 @@ MonoBehaviour: m_PersistentCalls: m_Calls: [] m_FontData: - m_Font: {fileID: 12800000, guid: 86b2fb2322297431eac4e1a799efb329, type: 3} - m_FontSize: 16 + m_Font: {fileID: 12800000, guid: a841e9b00fc7b4a75b9d3d2fd767b62e, type: 3} + m_FontSize: 27 m_FontStyle: 0 m_BestFit: 0 m_MinSize: 10 @@ -3944,135 +4094,6 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 617526392} m_CullTransparentMesh: 1 ---- !u!1 &672149916 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 672149920} - - component: {fileID: 672149919} - - component: {fileID: 672149918} - - component: {fileID: 672149917} - - component: {fileID: 672149921} - m_Layer: 0 - m_Name: Shoe - m_TagString: Shoe - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!23 &672149917 -MeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 672149916} - 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: 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: 1 - 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!65 &672149918 -BoxCollider: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 672149916} - m_Material: {fileID: 0} - m_IncludeLayers: - serializedVersion: 2 - m_Bits: 0 - m_ExcludeLayers: - serializedVersion: 2 - m_Bits: 0 - m_LayerOverridePriority: 0 - m_IsTrigger: 0 - m_ProvidesContacts: 0 - m_Enabled: 1 - serializedVersion: 3 - m_Size: {x: 1, y: 1, z: 1} - m_Center: {x: 0, y: 0, z: 0} ---- !u!33 &672149919 -MeshFilter: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 672149916} - m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} ---- !u!4 &672149920 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 672149916} - serializedVersion: 2 - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 2.7, y: 0.15, z: 5.5} - m_LocalScale: {x: 0.3, y: 0.1, z: 0.5} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 0} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &672149921 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 672149916} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: cbf0e86605f7b485f8ff25c5810d30c0, type: 3} - m_Name: - m_EditorClassIdentifier: - IsDraggable: 1 - SnapTarget: {fileID: 0} - OnDragStartEvent: - m_PersistentCalls: - m_Calls: [] - OnDragEndEvent: - m_PersistentCalls: - m_Calls: [] - OnSnappedEvent: - m_PersistentCalls: - m_Calls: [] --- !u!1 &717077354 GameObject: m_ObjectHideFlags: 0 @@ -7455,8 +7476,8 @@ RectTransform: m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0.1, y: 0.55} m_AnchorMax: {x: 0.55, y: 0.68} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0, y: 0} + m_AnchoredPosition: {x: 648.76, y: -71} + m_SizeDelta: {x: -12.4866, y: 109.2585} m_Pivot: {x: 0.5, y: 0.5} --- !u!114 &1285985827 MonoBehaviour: @@ -9682,6 +9703,12 @@ MonoBehaviour: _practiceModeDesc: "\u25CF \u6A21\u62DF\u7EC3\u4E60\u6A21\u5F0F\uFF1A\u4E0D\u9650\u65F6\u957F\uFF0C\u53EF\u53CD\u590D\u7EC3\u4E60\u3002\u7CFB\u7EDF\u4E0D\u8BC4\u5206\uFF0C\u5E2E\u52A9\u60A8\u719F\u6089\u5B9E\u9A8C\u6D41\u7A0B\u548C\u64CD\u4F5C\u6B65\u9AA4\u3002" _examModeDesc: "\u25CF \u8003\u6838\u8BC4\u4F30\u6A21\u5F0F\uFF1A\u9650\u5B9A\u65F6\u95F4\uFF0C\u5B8C\u6210\u540E\u7CFB\u7EDF\u81EA\u52A8\u8BC4\u5206\uFF0C\u5E76\u63D0\u4F9B\u8BE6\u7EC6\u53CD\u9988\u62A5\u544A\u3002" _editorPreview: 0 + _homeBgClip: {fileID: 8300000, guid: 28a93a41087664f1d9f83a456d17928f, type: 3} + _experimentBgClip: {fileID: 8300000, guid: 4f431e6ae1b9f4b94a61c31fe630647a, type: 3} + _womanClips: + - {fileID: 8300000, guid: 6934b8b2c79df41118a058e984de2a7b, type: 3} + - {fileID: 8300000, guid: 0f561ebe499594da29e31277de2f8a1f, type: 3} + - {fileID: 8300000, guid: 845a704b4410b4393ab9327bfaf9d3ec, type: 3} --- !u!1 &1654726178 GameObject: m_ObjectHideFlags: 0 @@ -12082,7 +12109,8 @@ SceneRoots: m_ObjectHideFlags: 0 m_Roots: - {fileID: 414549209} - - {fileID: 672149920} + - {fileID: 12263693} + - {fileID: 485512481} - {fileID: 37271319} - {fileID: 96184422} - {fileID: 1364120480} diff --git a/Assets/Scripts/Interaction/TouchPositionHandler.cs b/Assets/Scripts/Interaction/TouchPositionHandler.cs index f8f5331..d238454 100644 --- a/Assets/Scripts/Interaction/TouchPositionHandler.cs +++ b/Assets/Scripts/Interaction/TouchPositionHandler.cs @@ -9,6 +9,7 @@ public class TouchPositionHandler : MonoBehaviour public Transform targetPosition; public GameObject womanObject; public GameObject nextTouchObject; + public AudioClip voiceClip; private MeshRenderer _meshRenderer; @@ -37,7 +38,7 @@ public class TouchPositionHandler : MonoBehaviour womanObject.transform.position = targetPosition.position; womanObject.transform.rotation = targetPosition.rotation; Debug.Log($"[TouchPosition] woman 移动到 {targetPosition.name}"); - } + if (voiceClip != null) { var asrc = gameObject.AddComponent(); asrc.PlayOneShot(voiceClip); Debug.Log("[TouchPosition] 播放语音: " + voiceClip.name); } } // 通知 StepManager 记录步骤 int stepIndex = transform.GetSiblingIndex() + 1; diff --git a/Assets/Scripts/UI/PageController.cs b/Assets/Scripts/UI/PageController.cs index 68748db..9e6ee2a 100644 --- a/Assets/Scripts/UI/PageController.cs +++ b/Assets/Scripts/UI/PageController.cs @@ -122,7 +122,8 @@ public class PageController : MonoBehaviour if (_uiManager != null) _uiManager.enabled = (page == Page.Experiment); - + // 背景音乐: 首页播 homeBg, 选固定方式时停, 实验启动时播 experimentBg + if (page == Page.Home) PlayHomeBg(); Debug.Log($"PageController(编辑器预览): 切换到 [{page}]"); } #endif @@ -140,7 +141,8 @@ public class PageController : MonoBehaviour if (_experimentPanel != null) _experimentPanel.SetActive(page == Page.Experiment); if (_uiManager != null) _uiManager.enabled = (page == Page.Experiment); - + // 背景音乐: 首页播 homeBg, 选固定方式时停, 实验启动时播 experimentBg + if (page == Page.Home) PlayHomeBg(); // 背景音乐控制 if (page == Page.Home) PlayHomeBg(); else if (page != Page.Experiment) StopBgMusic(); @@ -261,7 +263,7 @@ public class PageController : MonoBehaviour Debug.Log($"PageController: GameManager 已设置 Mode=[{gm.CurrentMode}] Fixation=[{gm.CurrentFixationMethod}]"); // 隐藏所有UI面板,准备播放片头动画 - HideAllPages(); + StopBgMusic(); HideAllPages(); // 找到 OpeningFlowController 播放片头动画 var openingFlow = FindObjectOfType(); @@ -304,7 +306,6 @@ public class PageController : MonoBehaviour Debug.Log("PageController: [ActivateExperimentObjects] 显示实验物件"); PlayExperimentBg(); - StartCoroutine(PlayWomanAudioSequence()); var allObjects = FindObjectsOfType(true); foreach (var go in allObjects) @@ -375,3 +376,30 @@ public class PageController : MonoBehaviour [SerializeField] private AudioClip[] _womanClips; private AudioSource _bgAudioSource; } + + private void PlayHomeBg() + { + if (_bgAudioSource == null) _bgAudioSource = gameObject.AddComponent(); + _bgAudioSource.loop = true; + _bgAudioSource.playOnAwake = false; + if (_homeBgClip != null && _bgAudioSource.clip != _homeBgClip) + { + _bgAudioSource.clip = _homeBgClip; + _bgAudioSource.Play(); + Debug.Log("PageController: 播放首页背景音乐"); + } + } + + private void StopBgMusic() + { + if (_bgAudioSource != null && _bgAudioSource.isPlaying) { _bgAudioSource.Stop(); Debug.Log("PageController: 停止背景音乐"); } + } + + private void PlayExperimentBg() + { + StopBgMusic(); + if (_bgAudioSource == null) _bgAudioSource = gameObject.AddComponent(); + _bgAudioSource.loop = true; + _bgAudioSource.playOnAwake = false; + if (_experimentBgClip != null) { _bgAudioSource.clip = _experimentBgClip; _bgAudioSource.Play(); Debug.Log("PageController: 播放实验背景音乐"); } + }