10475人加入学习
(62人评价)
AR系列教程 - Vuforia入门 ( Unity 2017.3 )

制作完成于2018-01-16

价格 免费

手机上的模型大小比在电脑上观察上的小。

动态生成的模型大小是ImageTarget大小*模型大小

float xSpeed=150.0f//横屏滑动

Update(){
if(Input.GetMouseButton(0)){
if(Input.touchCount==1){
if(Input.GetTouch(0).phase==TouchPhase.Move)//滑动{
transform.Rotate(Vector3.up*Input.GetAxis("Mouse X")*-xSpeed*Time.deltaTime,Space.World}}}
}
 

[展开全文]

private float touchTime;//记录长按的时间

private boll newTouch;

if(Input.GetMouseButton(0))//如果长按{
  Ray ray=Camera.main.ScreenPointToRay(InputmousePosition};
RaycastHit hitInfo;
if(PhysicsRaycasr(ray,out hitInfo)){
   if(Input.touchCount==1){
Touch touch=Input.GetTouch(0);
if(touch.phase==Began){newTouch=true;touchTime=Time.time;}
else if(touch.phase==TouchPhase.Stationary)//按住没有动
if(newTouch=true&&Time.time-touchTime>1f)//认为是长按
newTouch=false;
Destory(hitInfo.collider.gameObject);}
else{neTouch=false;}}

[展开全文]

Update(){
if(Input.GetMouseButtonDown(0)){//如果触摸屏幕
Ray ray=Camera.main.ScreenPointToRay(Input.mousePosition);//从摄像机到屏幕发送射线到点击的位置
RaycastHit hitInfo;//接收发送的信息
if(Physics.Raycast(ray,out hitInfo)){//如果射到东西,有Capsule Collider组件的东西才能被检测到
if(Input.touchCount==1&&Input.GetTouch(0).phase==TouchPhase.Began)//几根手指碰到屏幕,并且是刚开始触摸到屏幕
{//if(Input..GetTouch(0).taopCount==2)//双击
Destory(hitInfo.collider.gameObject);}
}此脚本挂到ARCamera上

发布到手机
Player Setting-Package Name改个名字,
Android TV Compatibility取消勾选。Build
 

[展开全文]

在ImageTarget上添加Audio Source组件,将要播放的音乐拖入AudioClip
脚本中添加

private AudioSource audio;

public AudioClip welcomeClip;

Start(){audio=this.GetComponent<AudioSource>();
Invoke("PlayClipAtPoint",6.0f);}

OnTrackingFound()

{if(!audio.isPlaying){audio.Play();}}

private void PlayWelcomeClip(){
AudioSource.PlayClipAtPoint(welcomeClip,transform.position);}

[展开全文]

复制一份Defaulte.cs文件,修改名称,打开文件,命名空间的名字要同文件名一致

如果运行后一直出现空物体,就在ARCamera的面板下打开Open Vuforia configuration,关闭其他的数据库。

[展开全文]

更改摄像机的角度,Align with view 与视图对齐

不想调用摄像头Build Settings中的Inspector面板取消勾选Vuforia Augmented Realit,弹出框直接关闭。

[展开全文]

TurnOffBehaviour.cs
获得摄像机后,销毁Mesh Renderer组件、Mesh Filter组件,使ImageTarget不显现。

 

Default Trackable Event Handle.cs

OnTrackingFound()

//找到了需要识别的物体,调用此方法

{//获得Renderer渲染组件、Collider组件、Canvas画布组件,都设成可用

}

OnTtrackingLost()

//丢失了需要识别的物体,调用此方法

{//获得上述组件设成不可用

}

OnTrackaleStateChanged()

//检测到追踪的状态改变,调用此方法

{//当前状态是检测到新东西、追踪、拓展追踪。即识别到图片,调用OnTrackingFound()

//当前状态是丢失。调用OnTtrackingLost()
}

Start()

 

[展开全文]

ASD 阿萨阿三大苏打啊撒旦士大夫士大夫撒旦飞洒发顺丰

[展开全文]

利用两点间的距离公式(x1-x2)*(x1-x2)+(y1-y2)*(y1-y2)实现对于双指的距离判断

判断是扩大还是缩小

[展开全文]

1.Vuforia---image

2.选择数据库

3.AR--加载数据库和活跃---Databases--LoadVuforiaTestDatabase√--Activate√

[展开全文]

touchcount——有几根手指触碰到屏幕

 

[展开全文]

图片的选择

  较高的亮度、对比度,丰富的细节,无重复的图像;轮廓分明、有棱有角;被上传到官网的整幅图片的8%宽度

[展开全文]

ARcamera

World Center Mode:世界中心模式

FirstTarget:第一个照射到的目标为世界中心的坐标;

DEVICE TRACKING:以设备正在追踪的物体为世界中心的坐标

[展开全文]

1、AR Camera作用;

  1. 调用设备摄像机
  2. 各种behavior的接口

2、AR Camera下的Vuforia Behavior脚本参数介绍

(1)world center mode即世界中心模式,有四种类型

  1. specific target 指定一个目标为世界中心坐标
  2. first target 以摄像机第一个照射到的需要识别的目标为世界中心坐标
  3. camera 以摄像机为世界中心坐标
  4. device tracking 以设备正在追踪的物体为世界中心坐标

(2)AR Camera 下的open vuforia 

 

 

 

 

[展开全文]

授课教师

SIKI学院老师

课程特色

图文(1)
下载资料(1)
视频(24)