题目

设置场景中的多个标志,通过跟踪这些标志,实现操控虚拟物体的目的。虚拟物体自选,要求:
1)标志物至少有3个(一个识别,一个平移,一个旋转);
2)操控虚拟物体的平移和旋转;
3)文档给出代码及实现思路。

实验步骤

1.制作标志物

步骤和实验二差不多(可以参考文章:关于Unity实现AR功能(一)Vuforia介绍),主要需要修改一下Vuforia Configuration(打开方式:ARCamera→Open Vuforia Configuration)下的一些参数,使得可以同步识别多张图片,设置最大跟踪图片数和物体数为5。

2.制作按钮

我通过设置点击按钮来控制物体的移动。分别在两张识别图上添加button。这里需要注意,把Canvas设置成World Space,因为在该模式下,画布和其他在3D世界中的游戏物体具有相同性质,可以通过设置Rect Transform组件的数值,改变位置、尺寸和旋转角等属性。有利于调节button的位置使其分布在识别图片上。

注意调节Canvas大小不能把width和height缩小,这样得到的button会变得非常模糊。正确的做法应该是保持原来的width和height,缩小button的scale。
我设置的相关参数如下:

3.编写按钮的点击事件脚本

新建一个脚本
代码如下:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;public class ClickUp : MonoBehaviour
{// 获取待操纵的标志物public GameObject g= GameObject.Find("cola");// 设置移动速度public float speed=3;// Start is called before the first frame updatevoid Start(){}// Update is called once per framevoid Update(){}// 向上移动public void OnMyClick(){g.transform.Translate(Vector3.forward * speed * Time.deltaTime);}// 向下移动public void OnMyClickDown(){g.transform.Translate(Vector3.back * speed * Time.deltaTime);}// 向左移动public void OnMyClickLeft(){g.transform.Translate(Vector3.left * speed * Time.deltaTime);}// 向右移动public void OnMyClickRight(){g.transform.Translate(Vector3.right * speed * Time.deltaTime);}// 绕x旋转public void rotateX(){// 一次旋转10度,Space.Self表示以自身坐标系为参考旋转g.transform.Rotate(10, 0, 0, Space.Self);}// 绕y旋转public void rotateY(){g.transform.Rotate(0, 10, 0, Space.Self);}// 绕z旋转public void rotateZ(){g.transform.Rotate(0,0,10, Space.Self);}
}

在button的inspector中点击add component添加该脚本。在button的onclick组件中设置好相关参数如图,把对应的方法赋给对应的button:

完成

山东大学增强现实实验三相关推荐

  1. 山东大学 2020级数据库系统 实验三

    What's more 山东大学 2020级数据库系统 实验一 山东大学 2020级数据库系统 实验二 山东大学 2020级数据库系统 实验三 山东大学 2020级数据库系统 实验四 山东大学 202 ...

  2. 山东大学linux实验四CSDN,山东大学操作系统实验报告材料4进程同步实验

    <山东大学操作系统实验报告材料4进程同步实验>由会员分享,可在线阅读,更多相关<山东大学操作系统实验报告材料4进程同步实验(15页珍藏版)>请在人人文库网上搜索. 1.实用标准 ...

  3. 实验三-密码破解技术

    学   号 201421430010   中国人民公安大学 Chinese people' public security university 网络对抗技术 实验报告   实验三 密码破解技术   ...

  4. 计算机导论excel,[计算机导论实验三Excel.doc

    [计算机导论实验三Excel 实验三 Excel表格处理 实验报告 姓名(学号):_______________ 年级(专业):_____ ________成绩:________ 实验时间:_____ ...

  5. 20155222卢梓杰 实验三 免杀原理与实践

    实验三 免杀原理与实践 1.正确使用msf编码器,msfvenom生成如jar之类的其他文件,veil-evasion,自己利用shellcode编程等免杀工具或技巧 实验步骤如下 1.先对实验二中生 ...

  6. 实验三 JSP应用开发进阶

    全部:https://download.csdn.net/download/weixin_42859280/11218260 实验三 JSP应用开发进阶:PDF版本[已经完成所有代码] 想看文档上面有 ...

  7. 实验三:XML模型(一)

    实验三:XML模型(一) 1 学时  2学时 2.实验目的与要求 通过实验,使学生理解XML模型的概念:能够掌握DTD的基本语法.作用和使用方式.要求学生能够根据XML文档推出满足要求的DTD文件,并 ...

  8. c语言程序设计江宝钏实验六答案,《C语言程序设计》(江宝钏著)实验三答案.doc...

    <C语言程序设计>(江宝钏著)实验三答案 取木汹嘉蓝杀绥胶碘仑做工坝穗兔移猿花吾摧骑盏净苯哑亢剩洲挝己昭韦痉何路乃庆碑保隋呐湛肿腕观蓟匡踏蝉勋霸奄御笋组儒凶斡剖搽呐吼缘叉尝伯分铁屏沥芋忧柏 ...

  9. 2017-2018-1 20155222实验三 实时系统

    2017-2018-1 20155222实验三 实时系统 1.学习使用Linux命令wc 基于Linux Socket程序设计实现wc(1)服务器(端口号是你学号的后6位)和客户端 客户端传一个文本文 ...

最新文章

  1. 2019智能手表推荐_智能手表一定越贵越好?试用过后这五款才真正值得推荐
  2. 【计算机网络】网络安全 : 总结 ( 网络攻击类型 | 网络安全指标 | 数据加密模型 | 对称密钥密码体质 | 公钥密码体质 | 数字签名 | 报文鉴别 | 实体鉴别 | 各层安全 ) ★
  3. AI 质检学习报告——实践篇——第三步:python利用OpenCV打开摄像头截图后实现图片识字
  4. android 将布局多次添加,android – 如何在布局xml中添加循环视图
  5. nullnullicon 小图标
  6. springrain java_springrain
  7. mysql 动态传入表名 存储过程_MySQL之常见约束以及事务和存储过程
  8. php读写xml文件,另辟蹊径 搞定PHP读取XML大文件 数据导入
  9. sql server 2005 T-SQL BEGIN DIALOG CONVERSATION (Transact-SQL)
  10. LeetCode10. 正则表达式匹配
  11. 面试官:select......for update会锁表还是锁行?
  12. 【背包问题】基于matlab多目标粒子群算法求解多背包问题【含Matlab源码 654期】
  13. 输入正方体的边长,计算正方体的面积和体积
  14. 数据库系统概论第五版(第 4 章 数据库安全性)笔记
  15. 日系PC厂商为问题希捷硬盘提供固件更新
  16. CAB Activex
  17. 高德地图-根据IP定位显示当前所在城市
  18. vue调用手机浏览器打开pdf_在微信中调用外部浏览器实现文件下载之解决
  19. html网页如何编辑,简单html网页的快速编辑方法
  20. 29个最酷的Firefox About:Config配置参数

热门文章

  1. html点击按钮弹出悬浮窗_9种实现点击一个链接弹出一个小窗口的代码
  2. 计算机毕业设计PHP+安卓基于移动群智感知城市轨道交通激励APP(源码+程序+lw+远程调试)
  3. matlab 传递函数 频率特性曲线,[由频率特性数据获取传递函数参数的一种实现方法] 传递函数的频率特性...
  4. vant使用遇到icon图标不显示,显示为方块□□□□□
  5. redis 主从 哨兵 集群部署
  6. “什么,我家孩子成绩平平竟然可以比高分小孩飞得更高,走得更远?”
  7. JAVA计算斐波那契第100万项的最快算法排名汇总
  8. Semantic Image Synthesis with Spatially-Adaptive Normalization阅读
  9. 【天池学习笔记】二手车交易价格预测
  10. 数字雷达模拟器ScanFaker