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

Vuforia/Unity AR视频播放器实现步骤指导及脚本求助

Vuforia/Unity AR视频播放器实现步骤及修复方案

一、基础配置检查

  • 视频资源规范:使用MP4(H.264/H.265)、MOV等兼容格式,禁用WebM(移动端兼容性差)。将视频文件放入Assets/StreamingAssets目录,移动端必须通过该目录读取资源。
  • 目标图像验证:确保场景中Image Target对象处于激活状态,已关联正确的Vuforia目标数据库。
  • VideoPlayer组件设置:
    • 将VideoPlayer挂载到Image Target的子对象(如Plane)上,避免直接挂载根节点。
    • 选择Source为URL,路径填写:Application.streamingAssetsPath + "/你的视频文件名.mp4"
    • 取消勾选Play On Awake,需识别目标后触发播放。
    • 设置Render Mode为Material Override,指定Plane的材质(推荐用Unlit/Texture默认材质)。

二、核心控制脚本

以下脚本实现「识别目标自动播放、丢失目标暂停」的逻辑:

using UnityEngine;
using UnityEngine.Video;
using Vuforia;

public class ARVideoController : MonoBehaviour
{
    public VideoPlayer videoPlayer;
    private ImageTargetBehaviour imageTarget;

    void Start()
    {
        imageTarget = GetComponent<ImageTargetBehaviour>();
        videoPlayer.Pause();
    }

    void Update()
    {
        var trackStatus = imageTarget.CurrentStatus;
        if (trackStatus == TrackableBehaviour.Status.TRACKED || trackStatus == TrackableBehaviour.Status.EXTENDED_TRACKED)
        {
            if (!videoPlayer.isPlaying) videoPlayer.Play();
        }
        else
        {
            if (videoPlayer.isPlaying) videoPlayer.Pause();
        }
    }
}

脚本使用方法:

  • 将脚本挂载到Image Target对象上。
  • 在Inspector面板中,把挂载了VideoPlayer的Plane拖入videoPlayer字段。
  • 编辑器测试:点击Vuforia的Play按钮模拟目标识别,验证视频播放状态。

三、常见问题排查

  • 视频无法加载:检查StreamingAssets目录路径、视频文件名拼写(区分大小写)。
  • 移动端黑屏:在Player Settings中设置Write Permission为External (SDCard),Unity 2020+会自动配置权限,旧版本需手动添加Android存储权限。
  • 播放卡顿:压缩视频至720P分辨率、降低码率,避免使用4K视频。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.25 10:33:18