AR培训丨零基础制作第一个AR应用——AR绘本

    xiaoxiao2022-07-04  179

    实现效果:

    视频链接

     

    课前资源:

    链接: https://pan.baidu.com/s/1UxPPUo5UmAkeUYWonEOCPQ

    提取码: s59e

    本资源包括:

    用于本应用的房子模型、识别图、UI以及重要脚本

     

    一、软件安装

    1、安装Unity

    打开课前资源中的“01-Unity2017.4.4”文件夹,根据你电脑是苹果还是windows,选择对应的dmg还是exe安装包进行安装。

    注意勾选如下两项,完成安装。

     

    2、安装Visual Studio

    运行课前资源中的“02-vs_community__2017.exe”文件,在工作负载中勾选“通用Windows平台开发”、“使用Unity的游戏开发”,进行安装。

     

     

    二、程序配置

    1、创建Unity项目

     

    2、对Unity进行初始设置

    a、右上角Layout下拉改为Tall

    b、Project设置为One Column Layout

    c、Game视图从上方拖到下方来

    该视图为游戏视图,该画面显示的即实际打包的应用运行时显示的画面。

    d、显示Console窗口

    Console窗口用于显示你的代码有没有报错、打包时有没有问题等。

    Windows——Console,弹出Console界面。将该界面放到Scene位置

     

    3、切换Android平台,对App进行配置

    a、左上角File—PlayerSetting,选择Android,点击Switch Platform切换到Android平台。

    a、左上角File—PlayerSetting,右侧Inspector对公司名称、app名称、app图标进行配置

    b、Resolution and Presentation设置旋转方式由自动旋转改为画面在手机左侧

    c、OtherSettings设置包名

    d、取消勾选Android TV

    e、XRSettings勾选Vuforia Augented Reality Support

    f、Build System改为Internal

     

    三、Vuforia注册及网页配置

    1、注册Vuforia及创建证书

    a、注册Vuforia:链接

    b、创建证书

    登陆Vuforia,创建Vuforia证书以及识别数据

     

    输入Vuforia证书名称(英文),勾选协议,Confirm。现在就创建了Vuforia的证书。下面第二张图上的Key就是该证书的Key。

    证书为Vuforia进行识别提供了授权。

    注:Vuforia采用自己的识别图时,即使不输入License也能进行识别。但要识别的是用户自定义的识别图时,必须要输入License。

     

    2、上传识别图并下载识别数据

    a、点击TargetManager—AddDatabase

     

    b、找到对应的识别数据,点进去上传识别数据

    注意:图片名称要为英文,格式jpg或png,大小小于2M。

    宽度为实际大小,单位m

     

    c、上传之后点击Download Database,下载识别数据。接下来我们会将它导入到Unity中去(暂时先不做)。

     

    四、程序制作

    1、保存场景

    Unity Ctrl+S,在弹出的窗口填入“paint”,保存当前场景。

     

    2、导入Package

    a、右键层级窗口Hierarchy,选择Vuforia-ARCamera-Import,导入Vuforia资源

    b、双击三—2—c下载的unitypackage,inport导入到Unity中去。

    c、导入课前资源中的ClassResources包、Dotween插件、EasyTouch插件

     

    3、配置Vuforia

    a、删掉层级窗口里MainCamera,点击ARCamera—Open Vuforia configuration

    b、填入App License Key(我们三—1—b申请的Key)

    c、Database 选择你上传到Vuforia官网的识别数据,勾选进行激活

    d、层级窗口右键Vuforia—Image,创建识别图。ImageTargetBehaviour选择你要识别的图片:

    注:先打开Scene窗口,双击ImageTarget可快速看到该物体。

     

    4、配置小屋及钟表

    1)、配置合适显示位置

    a、将Project—ClassResources里的xiaowu拖到层级窗口ARCamera下,调整它们的属性如下:

    ARCamera:

    xiaowu:

    b、把小屋调到能让摄像机看到的合适位置。

     

    2)、配置钟表动的事件

    a、给小屋添加BoxCollider,Collider的大小能刚好包括小屋。

    b、给小屋的钟表添加DoTweenAnimation,进行如下设置

    c、层级窗口新建空物体,重命名“GameManager”,将Project—ClassResources里的GameManager脚本放到GameManager物体上。将小屋的钟表挂载到脚本的clock  

    3)让小屋一开始隐藏,识别后显示出来

    f、将Project—ClassResources里的“PaintTrackableEventHandler”脚本拖放到层级窗口的ImageTarget物体上,并删除原先的“DefaultTrackableEventHandler”脚本。将xiaowu挂载到该脚本的House上

     

    4)、让小屋能放大缩小、能旋转、触发钟表事件

    给小屋添加如下组件,并进行如下配置

     

    5、配置测试模块

    1)、UI模块

    a、右键UI-Image,Canvas设置为World Space,Transform-reset,Scale设为0.001

    b、选中Project—ClassResources里的Pic下的所有图片,检视面板TextureType设为Sprite(2DandUI),Apply

    c、将Project—ClassResources里的三角形图片赋值到层级窗口Image的SourceImage里面。

    d、拖动该Image,并进行旋转放大缩小,置于屋子如下为止

    e、点击Image物体—Image组件—Color属性的吸管,吸取墙壁颜色,使该面片变为墙壁颜色。

    f、将Project—ClassResources里的“Skode_UIGlinting”拖放到该Image物体上,勾选AutoGlinting、Skode_UIGlinting的Color复制下方的color

    g、在Canvas下新建三个Text,做出如下所示Text

    h、将Canvas和EventSystem放到小屋下面去,成为小屋的子节点。

     

    2)、音频模块

    a、GameManager物体上添加AudioSource组件

    取消勾选PlayOnAwake,将Project—ClassResources里的Question音频挂载到AudioClip上。

     

    6、UI制作

    1)退出游戏按钮

    a、新建Canvas,进行如下设置

    b、选中EventSystem,Ctrl+D,将新创建的EventSystem移到层级窗口最下面

          选中Canvas,新建Button物体,更改名称:CloseButton

          CloseButton图片赋值为Project—ClassResources里的“关闭”图片

          CloseButton绑定事件GameManager中的QuitGame

          删掉CloseButton下的Text

     

    2)重新开始按钮

    同1)所示,进行设置。不同的是位置调整,绑定的事件为ReloadGame

     

    3)音量调节按钮

    a、同1)所示,进行设置。进行位置调整,绑定事件ShowSlider

    b、选中VoiceButton物体,右键UI—Slider,创建Slider,进行如下设置。

    c、将该Slider物体赋值到GameManager物体GameManager脚本的Slider上。

     

    4)测试按钮

    1、制作按钮

    a、在Canvas下新建名为LeftButton、RightButton的两个Button,分别绑定GameManager中的

    b、Button下的文字进行如下设置

     

    2、制作测试内容

    a、制作测试界面

    ①、Canvas下新建Image,改名Test,赋值课前资源里的Background图片,Image—Reset后,宽度和高度设为1000、600

    ②、Test下新建Text,进行如下设置。文字如下所示

               <size=100>小测试</size>   屋子三角部分底边a=5m,高h=2m   小朋友,屋子该部分的面积是多少?   已知:面积=底x高÷2

    ③、Test下新建UI-InputField,并在InputField下又新建Text(1),调整如下:

    InputField

     

    Placeholder

     

    Text

     

    Text(1)

     

    ④、Test下新建Button,进行如下设置

     

    Button下的Text设置如下:

     

    现在隐藏掉Test。

     

    b、同理,制作查询界面

     

    5)查询按钮

    我是橙子va 认证博客专家 XR博主 前端框架 U3D开发者,AR/MR研究方向。有过联想VR项目开发、影创MR开发,也在杭电当过讲师,给网易AR上架过项目。是国内某知名电影及电视剧观众。个人联系方式:skode@foxmail.com
    最新回复(0)