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

如何基于Marker-Based Vuforia在AR标记上添加红标并触发3D模型

基于Vuforia Marker实现红标点击显示3D物体方案

1. 基础环境配置

  • 打开Unity,通过Package Manager安装Vuforia Engine包
  • 前往Vuforia开发者平台申请License Key,在Unity的Vuforia Configuration面板中填入该密钥
  • 上传自定义AR Marker图片到Vuforia平台,生成识别数据库后下载并导入Unity项目

2. 搭建Marker识别场景

  • 删除默认Main Camera,添加Vuforia提供的AR Camera
  • 在场景中创建Image Target对象,在Inspector面板选择已导入的Marker数据库及对应的具体Marker
  • 根据实际物理尺寸调整Image Target的缩放比例,确保识别匹配

3. 添加可交互的红标

  • 在Image Target下创建3D对象(如Sphere)作为红标,命名为RedMarker,调整大小并设置红色材质
  • 给RedMarker添加Box Collider(勾选Is Trigger),确保碰撞范围覆盖红标
  • 添加Event Trigger组件,用于捕获点击事件

4. 编写点击响应逻辑

  • 给RedMarker挂载C#脚本Show3DObjectOnClick,代码如下:
using UnityEngine;
using UnityEngine.EventSystems;

public class Show3DObjectOnClick : MonoBehaviour, IPointerClickHandler
{
    public GameObject target3DObject;

    void Start()
    {
        target3DObject?.SetActive(false);
    }

    public void OnPointerClick(PointerEventData eventData)
    {
        target3DObject?.SetActive(!target3DObject.activeSelf);
    }
}
  • 将需要显示的3D物体添加到场景中(推荐作为Image Target的子对象),拖拽到脚本的target3DObject字段
  • 确保场景中存在EventSystem对象(无则右键UI -> Event System创建)

5. 调试与验证

  • 运行场景,用摄像头对准AR Marker,红标会随Marker识别显示
  • 点击红标,3D物体将切换显示/隐藏状态
  • 若点击无响应,排查以下点:
    • 红标的碰撞体是否正确设置,是否在相机可视范围内
    • EventSystem的Input Module是否适配当前平台(如Touch Input Module用于移动端)
    • Vuforia的Marker识别状态是否正常(Image Target的Tracking Status为Tracked)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.06 06:15:16