3D游戏编程设计作业十

本文介绍了增强现实(AR)和混合现实(MR)的概念,并详细阐述了使用Vuforia进行图片识别与建模、创建虚拟按键小游戏的作业与练习。通过在Unity中配置Vuforia,实现图片目标的识别,以及虚拟按键与物体交互的3D游戏功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、AR/MR介绍

增强现实(Argumented Reality (AR))是一种将真实世界信息和虚拟世界信息“无缝”集成的新技术,是把原本在现实世界的一定时间空间范围内很难体验到的实体信息(视觉信息,声音,味道,触觉等),通过电脑等科学技术,模拟仿真后再叠加,将虚拟的信息应用到真实世界,被人类感官所感知,从而达到超越现实的感官体验。

混合现实(Mixed reality (MR)) 有时被称为超现实(hybrid reality),是真实和虚拟世界的合并,产生新的可视化环境,物理和数字对象实时共存且在其中交互。混合现实不仅发生在物理世界或虚拟世界中,而是融合了现实和虚拟现实,通过身临其境的技术包含增强现实和增强虚拟。

二、作业与练习

1、 图片识别与建模

2、 虚拟按键小游戏

Vuforia配置过程

成功注册登陆后可以进入证书激活界面,证书命名随意

 

确认后会成功返回一个证书密钥,单机可以粘贴密钥

接下来点击Target Manager创建一个目标数据库

为创建好的数据库添加一个特定的识别目标,我此处选择的是一个图片对象

添加完成后查看图片特征信息提取结果

接下来从官网下载生成的数据包,在unity项目中导入

 

下载Vuforia扩展包

在Unity打开Build Settings,打开player settings,对XR Settings进行配置

导入下载的databases

接下来删去原来的Main Camera,新建一个AR Camera

接下来将注册好的License Key和数据库进行导入

图片识别与建模

接下来创建一个Image Target,配置之前导入的database

接下来在Image target下挂载一个要识别的Object,此处挂载了一个正方体对象,直接运行

 

虚拟按键小游戏

为Image Target添加一个虚拟按键,调整虚拟按钮的大小和位置后效果如下

我此处实现了一个点击虚拟按钮可以改变物体颜色的功能,代码如下

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using System;
using Vuforia;

public class ChangeColor : MonoBehaviour, IVirtualButtonEventHandler
{
 
    public int index;
    public GameObject cube;
    public GameObject btn;
    public Color[] colors = {Color.blue, Color.red, Color.green, Color.black};

    void Start() {
        VirtualButtonBehaviour[] vbs = GetComponentsInChildren<VirtualButtonBehaviour>();
        for (int i = 0; i < vbs.Length; i++) {
            vbs[i].RegisterEventHandler(this);
        }
        index = 0;
    }


    public void OnButtonPressed(VirtualButtonBehaviour vb) {
        index++;
        btn.GetComponent<MeshRenderer>().material.color = Color.red;
        cube.GetComponent<Renderer>().material.color = colors[index%4];

    }

    public void OnButtonReleased(VirtualButtonBehaviour vb) {
        btn.GetComponent<MeshRenderer>().material.color = Color.white;
    }

}

运行效果如下

项目见github

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值