用Unity做一个简单(简陋、寒酸)的AR应用 https://blog.****.net/lxbhahaha/article/details/111256758 |
2.添加完成脚本-使用 VS 打开, ①AR Session Origin 和 AR Session 会话安装好, 在程序一开始运行的时候就已经开始 做平面的监测了 。
②我们要做的是设计脚本→发送射线 ,涉及到这个平面上(达到相应的位置) 物体上 我们已经添加了 AR Raycast Manager (没有可以 自己Add Component ) (光线投射管理)的脚本 a.现在需要把 Raycast Manager定义出来,在vs里创建一个命名空间
代码不正确注:根源还是unity生成的问题,建议换一个unity版本。老师版本↓
我们现在编写的就是为了依附设置,
报错1: 期间遇到过这样一个问题,安装好ARCore后就报错。对应的package里面的代码有问题,可是也没法解决。后来把unity的版本从2019.4.9换成2019.3.0就没事了(之前另一台电脑用的同样是4.9,并没有问题),不知道是不是unity的BUG。 Library\PackageCache\com.unity.xr.management@3.2.17\Editor\XRGeneralBuildProcessor.cs(39,52): error CS0117: ‘BuildPipeline’ does not contain a definition for ‘GetBuildTargetName’ 3.VS中设置 在Update(升级) 中设置 射线发送 raycast(射线)方法一:用户点到哪里模型就放到哪里(可以放置很多模型(机器人、小球)) 方法二:持续在屏幕中间发射一条射线,设置一个光标,用户可以移动手机,把虚拟物体放到光标的位置上 |
(注:注意检查 } 、英文符号、;)
4.在unity场景中 方法一:设置光标
①在Hierarchy中新建一个Quad(四边形)
(新建模型时都要习惯性把位置归零Reset一下)
Rotation:90,0,0. Scale:1,0.2,1 |
②复制一个Quad(ctrl+D)
Rotation:90,0,0. Scale:0.2,1,1 |
光标始终和摄像机保持一致的, 摄像机永远是蓝轴朝前的 , 虚拟物体放置后 蓝轴 也是朝前的, 但是会背对用户。 为了让模型正对用户,调整Rotation0,180,0. |
f.
⑤相机的旋转值 我们在代码中设计的是主相机Main的,但是我们这里是ARCamera 因此要把AR Session Origin下AR Camera中的Tag设置为MainCame和代码保持一致