Shots.Empty(); // 1-01 分镜明确「(未入场)」,昙耀隐藏。片段1大佛全隐藏。 { FDemoShot S; S.ShotId = TEXT("1-01"); S.Duration = 6.f; S.Note = TEXT("Passthrough全景,真实景区人群日光,大佛偏轴可辨"); S.bTanyaoHidden = true; S.BGMClip = TEXT("BGM-1_encounter_intro_1"); S.bStelaHidden = true; Shots.Add(S); } // 走位已取消(2026-07-25)。原地亮相+扫视→末帧面向玩家。 { FDemoShot S; S.ShotId = TEXT("1-02"); S.Duration = 6.f; S.Note = TEXT("昙耀在右前方1.5m原地亮相(粒子聚形4s显形),扫观者→定姿面向玩家"); S.TanyaoAnimClip = TEXT("Enter"); S.TanyaoAppearDuration = 4.f; S.OneShotSFXClip = TEXT("SFX-02_footsteps_robe_1"); S.bStelaHidden = true; Shots.Add(S); } // 讲完等2秒(PostHoldSeconds)再进1-04掏石拓。 { FDemoShot S; S.ShotId = TEXT("1-03"); S.Note = TEXT("台词:大多数人来这里,看一眼,拍张照,走了"); S.TanyaoAnimClip = TEXT("SpeakGeneral"); S.bTanyaoAnimLoop = true; S.VOAudioClips = { TEXT("1-03大多数人来这里") }; S.FaceAnimClip = TEXT("1-03"); S.bDurationFromVO = true; S.PostHoldSeconds = 2.f; S.bStelaHidden = true; Shots.Add(S); } // 李楠这条是整条(含两句),不拆两段(面部AS_1_04整条烘出)。 { FDemoShot S; S.ShotId = TEXT("1-04"); S.Note = TEXT("石拓P-01D亮相,取石拓送至中间。台词:我带你真正看一次。把手放上去"); S.TanyaoAnimClip = TEXT("TakeRubbing"); S.VOAudioClips = { TEXT("1-04我带你真正看一次") }; S.FaceAnimClip = TEXT("1-04"); S.bDurationFromVO = true; S.bStelaInHand = true; Shots.Add(S); } // 弹性等待镜(Duration 0直接进交互1)。脱手悬浮等按掌。二级容错@20s重播「把手放上去」=VO_1-04-2。 { FDemoShot S; S.ShotId = TEXT("1-05"); S.Duration = 0.f; S.Note = TEXT("石拓悬浮等待,昙耀待机视线循环"); S.Interaction = EDemoInteraction::RubbingPress; S.Fallback1Time = 12.f; S.Fallback2Time = 20.f; S.Fallback3Time = 28.f; S.Fallback2VOClip = TEXT("1-04-2"); S.TanyaoAnimClip = TEXT("IdleGaze"); S.bTanyaoAnimLoop = true; S.TanyaoHoldClip = TEXT("HoldOffering"); Shots.Add(S); } // 石拓随世界一同溶解,仍可见。 { FDemoShot S; S.ShotId = TEXT("1-06"); S.Duration = 3.f; S.Note = TEXT("FX-01D石拓脉冲转场,世界从掌心溶解,色温转VR暖砂"); S.OneShotSFXClip = TEXT("SFX-03_pulse_transition_1"); Shots.Add(S); } // 大佛反向溶解出现。讲完启动下沉驱动器(TickBuddhaSink)。删镜2-02后直接接2-03。 { FDemoShot S; S.ShotId = TEXT("2-01"); S.Segment = 2; S.SpaceMode = EDemoSpaceMode::VR; S.Duration = 8.f; S.Note = TEXT("大佛E-01D亮相,风化全身矗立,黄昏硬光。台词:13.7米"); S.TanyaoAnimClip = TEXT("PresentBuddha"); S.TanyaoFacing = EDemoTanyaoFacing::FaceBuddha; S.LookAtTarget = EDemoLookAtTarget::Buddha; S.VOAudioClips = { TEXT("2-01_13_7米") }; S.FaceAnimClip = TEXT("2-01"); S.bDurationFromVO = true; S.BGMClip = TEXT("BGM-2_awe_scale_1"); S.bStelaHidden = true; S.bBuddhaHidden = false; S.bBuddhaRevealDissolve = true; Shots.Add(S); } // 2-03的VO「他一直在看着你」不在此绑定:由下沉驱动器触发(避免进镜重复播)。不设driveBow(旧俯身已废)。 { FDemoShot S; S.ShotId = TEXT("2-03"); S.Segment = 2; S.SpaceMode = EDemoSpaceMode::VR; S.Duration = 14.f; S.Note = TEXT("★核心 FX-02D俯身动画,10秒Lerp下倾至眼平。台词:他一直在看着你"); S.TanyaoAnimClip = TEXT("LookUpBuddha"); S.bTanyaoAnimLoop = true; S.TanyaoFacing = EDemoTanyaoFacing::FaceBuddha; S.LookAtTarget = EDemoLookAtTarget::Buddha; S.bStelaHidden = true; S.bBuddhaHidden = false; Shots.Add(S); } // 延续LookUpBuddha。末尾提前2s启动变色(BeginColorSweep)。 { FDemoShot S; S.ShotId = TEXT("2-04"); S.Segment = 2; S.SpaceMode = EDemoSpaceMode::VR; S.Duration = 10.f; S.Note = TEXT("平视特写,眼角弧线微笑。台词:你可以围着他走着看"); S.TanyaoFacing = EDemoTanyaoFacing::FaceBuddha; S.LookAtTarget = EDemoLookAtTarget::Buddha; S.VOAudioClips = { TEXT("2-04你可以围着他走着看") }; S.FaceAnimClip = TEXT("2-04"); S.bDurationFromVO = true; S.bStelaHidden = true; S.bBuddhaHidden = false; Shots.Add(S); } // 片段3起始大佛风化态(Progress=1)。变色由跨镜驱动器TickColorSweep管,不设driveFX05。 { FDemoShot S; S.ShotId = TEXT("3-01"); S.Segment = 3; S.SpaceMode = EDemoSpaceMode::VR; S.Note = TEXT("并肩看大佛。台词:它原来不是这个颜色"); S.TanyaoAnimClip = TEXT("SideBySide"); S.bTanyaoAnimLoop = true; S.TanyaoFacing = EDemoTanyaoFacing::FaceBuddha; S.LookAtTarget = EDemoLookAtTarget::Buddha; S.VOAudioClips = { TEXT("3-01它原来不是这个颜色") }; S.FaceAnimClip = TEXT("3-01"); S.bDurationFromVO = true; S.BGMClip = TEXT("BGM-3_color_return_fade_1"); S.bStelaHidden = true; S.bBuddhaHidden = false; Shots.Add(S); } // 延续SideBySide。变色跨镜驱动器管。删环境音。 { FDemoShot S; S.ShotId = TEXT("3-02"); S.Segment = 3; S.SpaceMode = EDemoSpaceMode::VR; S.Duration = 10.f; S.Note = TEXT("★★ FX-05反向:金→朱红→石青→石绿区域化到来,锋线可见"); S.TanyaoFacing = EDemoTanyaoFacing::FaceBuddha; S.LookAtTarget = EDemoLookAtTarget::Buddha; S.bStelaHidden = true; S.bBuddhaHidden = false; Shots.Add(S); } // 465台词随镜播(正确时机=3-03镜本身)。删镜3-04/3-05。 { FDemoShot S; S.ShotId = TEXT("3-03"); S.Segment = 3; S.SpaceMode = EDemoSpaceMode::VR; S.Duration = 8.f; S.Note = TEXT("彩绘大佛全景。台词:465年,开光那天,金面朱红袈裟"); S.TanyaoFacing = EDemoTanyaoFacing::FaceBuddha; S.LookAtTarget = EDemoLookAtTarget::Buddha; S.VOAudioClips = { TEXT("3-03_465年") }; S.FaceAnimClip = TEXT("3-03"); S.bDurationFromVO = true; S.bStelaHidden = true; S.bBuddhaHidden = false; Shots.Add(S); } // 片段4首镜(4-01已删)。PalmUp手势完成即触发大佛缩入掌心。 { FDemoShot S; S.ShotId = TEXT("4-02"); S.Segment = 4; S.Duration = 7.f; S.Note = TEXT("光自白毫飘至掌心。台词:掌心朝上"); S.Interaction = EDemoInteraction::PalmUp; S.Fallback1Time = 10.f; S.Fallback2Time = 18.f; S.Fallback3Time = 25.f; S.TanyaoAnimClip = TEXT("GuideLight"); S.TanyaoHoldClip = TEXT("HoldPalmUp"); S.VOAudioClips = { TEXT("4-02伸出你的手,掌心朝上") }; S.FaceAnimClip = TEXT("4-02"); S.bDurationFromVO = true; S.OneShotSFXClip = TEXT("SFX-06_light_trail_1"); S.BGMClip = TEXT("BGM-4_entrust_intimate_1"); S.bStelaHidden = true; S.bBuddhaHidden = false; Shots.Add(S); } // 掌心态起点(大佛本体缩入掌心)。 { FDemoShot S; S.ShotId = TEXT("4-03"); S.Segment = 4; S.Duration = 5.f; S.Note = TEXT("P-05D掌心30cm彩绘佛加载,缓慢自转。台词:这是它原来的颜色"); S.TanyaoAnimClip = TEXT("SpeakGeneral"); S.bTanyaoAnimLoop = true; S.VOAudioClips = { TEXT("4-03这是它原来的颜色") }; S.FaceAnimClip = TEXT("4-03"); S.bDurationFromVO = true; S.OneShotSFXClip = TEXT("SFX-11_palm_buddha_materialize_1"); S.bStelaHidden = true; S.bPalmBuddhaHidden = false; S.bBuddhaHidden = false; S.bBuddhaPalmMode = true; Shots.Add(S); } // 全篇最长镜。容错一级/二级=0(无引导独立完成,验收项),只40s无条件推进。 { FDemoShot S; S.ShotId = TEXT("4-04"); S.Segment = 4; S.Duration = 2.f; S.Note = TEXT("用户主导:双手缩放/单手旋转/侧滑切换风化↔彩绘。台词:一千五百年就是你手里这一下"); S.Interaction = EDemoInteraction::ThreeGesture; S.Fallback3Time = 40.f; S.TanyaoAnimClip = TEXT("IdleGaze"); S.bTanyaoAnimLoop = true; S.VOAudioClips = { TEXT("4-04_一千五百年") }; S.FaceAnimClip = TEXT("4-04"); S.bDurationFromVO = true; S.bStelaHidden = true; S.bPalmBuddhaHidden = false; S.bBuddhaHidden = false; S.bBuddhaPalmMode = true; Shots.Add(S); } { FDemoShot S; S.ShotId = TEXT("4-05"); S.Segment = 4; S.Duration = 10.f; S.Note = TEXT("第一次长时间直视,双肩微开。台词:我凿它"); S.TanyaoAnimClip = TEXT("OpenGaze"); S.VOAudioClips = { TEXT("4-05我凿它") }; S.FaceAnimClip = TEXT("4-05"); S.bDurationFromVO = true; S.BGMClip = TEXT("BGM-5_farewell_dissolve_1"); S.bStelaHidden = true; S.bPalmBuddhaHidden = false; S.bBuddhaHidden = false; S.bBuddhaPalmMode = true; Shots.Add(S); } // 无交互(时间到自动飞回)。泛金在余韵段播,不在触发前表演段。 { FDemoShot S; S.ShotId = TEXT("4-06"); S.Segment = 4; S.Duration = 6.f; S.Note = TEXT("台词:送它回去吧 → 掌心佛自动飞回大佛(泛金5s余韵,无需手势)"); S.TanyaoAnimClip = TEXT("SendBack"); S.TanyaoFacing = EDemoTanyaoFacing::FaceBuddha; S.LookAtTarget = EDemoLookAtTarget::Buddha; S.VOAudioClips = { TEXT("4-06送它回去吧") }; S.FaceAnimClip = TEXT("4-06"); S.bDurationFromVO = true; S.bDriveGoldLight = true; S.AftermathDuration = 5.f; S.AftermathNote = TEXT("虚拟佛泛金 → 飘向真实大佛(FX-08D 金光归还)"); S.AftermathSFXClip = TEXT("SFX-07_golden_return_1"); S.bStelaHidden = true; S.bPalmBuddhaHidden = false; S.bBuddhaHidden = false; S.bBuddhaPalmMode = true; Shots.Add(S); } // 大佛已在4-06送回并溶解到无,保持隐藏。 { FDemoShot S; S.ShotId = TEXT("4-07"); S.Segment = 4; S.Duration = 3.f; S.Note = TEXT("昙耀躬身合十朝大佛行礼→粒子向大佛方向消散,体验结束"); S.TanyaoAnimClip = TEXT("Dissipate"); S.TanyaoFacing = EDemoTanyaoFacing::FaceBuddha; S.LookAtTarget = EDemoLookAtTarget::Buddha; S.TanyaoDissolveDuration = 3.f; S.OneShotSFXClip = TEXT("SFX-13_tanyao_dissolve_1"); S.bStelaHidden = true; Shots.Add(S); } // 需求F:全片强制 Passthrough(保留 SpaceMode 字段,统一压平数据)。 for (FDemoShot& Sh : Shots) { Sh.SpaceMode = EDemoSpaceMode::Passthrough; }