You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Unity新手求助:如何通过指定按键实现场景切换(互动影片项目)

Unity互动影片:按键切换场景+视频UI修复方案

一、按键切换场景的代码修正

你的原有代码存在语法错误,且未利用Unity的帧更新机制检测按键。以下是可直接使用的修正代码:

using UnityEngine;
using UnityEngine.SceneManagement;

public class SceneSwitcher : MonoBehaviour
{
    // 在Unity编辑器面板中设置要切换的目标场景名称
    public string targetSceneName;
    // 设置触发场景切换的按键(默认设为A键)
    public KeyCode triggerKey = KeyCode.A;

    // 每一帧执行一次,用于检测按键输入
    void Update()
    {
        // 检测指定按键是否被按下(GetKeyDown只在按下瞬间触发一次)
        if (Input.GetKeyDown(triggerKey))
        {
            LoadTargetScene();
        }
    }

    // 封装场景加载逻辑,添加错误检查
    void LoadTargetScene()
    {
        // 先检查目标场景是否已添加到Build Settings,避免加载失败
        if (!SceneManager.GetSceneByName(targetSceneName).IsValid())
        {
            Debug.LogError("错误:目标场景不存在,请检查场景名称或是否添加到Build Settings");
            return;
        }
        SceneManager.LoadScene(targetSceneName);
    }
}

使用步骤:

  1. 将脚本文件重命名为SceneSwitcher(Unity要求脚本文件名与类名完全一致)
  2. 在Hierarchy面板创建一个空GameObject(右键→Create Empty)
  3. 将脚本拖到这个空GameObject上
  4. 在Inspector面板中:
    • 填写Target Scene Name为你要切换的场景名称(必须和场景文件名一致)
    • 选择Trigger Key为你需要的触发按键(比如A、B等)
  5. 关键步骤:打开File→Build Settings,把所有需要切换的场景拖到Scenes In Build列表中,否则场景无法加载

二、视频UI未生效的常见修复点

如果视频放在UI里没显示,按以下步骤排查:

  • 组件配置:给UI的RawImage添加VideoPlayer组件,把VideoPlayer的Target Texture拖到RawImage的Texture字段
  • 视频源设置:VideoPlayer的Source选Local File,选择你的视频文件;如果是StreamingAssets里的文件,选URL并填写路径"file://" + Application.streamingAssetsPath + "/你的视频名.mp4"
  • 格式兼容:确保视频格式是Unity支持的(推荐H.264编码的MP4/MOV)
  • Canvas设置:Canvas的Render Mode设为Screen Space - Overlay,避免被其他物体遮挡;如果用Screen Space - Camera,要确保指定的Camera能拍摄到UI

三、新手额外提示

  • 用Debug.Log("按键已按下")放在按键检测的if语句里,运行时看Console面板,确认按键逻辑是否触发
  • 互动影片可以把每个分支视频放在单独场景,每个场景挂载对应的按键切换脚本,视频播放时可以通过视频自带的提示告知玩家按键
  • 先熟悉Unity基础操作:场景保存、脚本挂载、Build Settings配置,这些是核心流程

内容的提问来源于stack exchange,提问作者Luden Ray

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.15 17:50:43