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
相关产品推荐
相关产品推荐

