【Vuforia AR Unity 2018.3.12f1】MikuAR安卓程序开发实践(二)MMD篇_2019.4.23

Unity平台 + Vuforia SDK实现的AR程序开发

  • !版权声明
  • 项目源码
      • 关于Github项目下载过慢的解决方法
      • 关于Gitee下载报错的问题
  • 一.解析
      • 1 源码目录
      • 2 Unity项目目录解析
      • 3 本项目Asset目录解析
  • 二.构建MikuAR程序
      • 第一步:构建Miku模型及相关舞蹈
      • 第二步:MMD模型转换至Android平台
            • 解决第一个问题
            • 解决第二个问题
      • 第三步:发布到Android平台打包成Apk
  • MMD篇总结

按照惯例——作者写在前面的话:
***emmm在以小白的身份进入到制作AR程序搜寻资料时,发现emmm2017-2019年即2018年开始突然断档了,Vuforia教程集中爆发在2015至2017这个时间段,当然中国在12年就有论坛发帖关于AR开发,emmm也算是发现一个有趣的现象。
***AR界比较大的事件是Vuforia在2015年从高通公司贩卖到PTC,以及2015年谷歌宣布无限期停止GoogleGlass项目,以及2015年微软推出HoloLens首个不受线缆限制的全息计算机设备,能让用户与数字内容交互,并与周围真实环境中的全息影像互动。以及Magic Leap在2015年 9月发布过一段“直接利用Magic Leap技术”实现裸眼鲸鱼跃出水面的全息影像。
***初进一个全新的领域,小白最想看到的是——完全可以正常运行的,并且可以让自己进行反向解构操作的项目,所有东西都在它该在的地方,然后自己一点一点瞎几把调,emmm突然发现和自己想的不一样,然后又能快速的找到正确的答案,这是最友好的最理想的情景!要啥有啥!
***所以本篇将给出本项目的源文件github仓库地址
***最后,顶,点赞,评论,收藏三连!如果觉得有用的话!是对作者最大的鼓励
***最后,顶,点赞,评论,收藏三连!如果觉得有用的话!是对作者最大的鼓励
***最后,顶,点赞,评论,收藏三连!如果觉得有用的话!是对作者最大的鼓励

作者写的很认真,也请读者都认真读全以示尊敬毕竟没有多少字,当然还有素质3连

!版权声明

MIKU模型作者:Digitrevx
下载地址:http://t.cn/RofdUZZ //【源地址】

Standard read me included art but most important are the requests I personally ask. Please do not upload Miku. She will always be here for download for all!——Digitrevx

MMDMecanim插件作者:Nora
下载地址:http://stereoarts.jp/
Twitter:https://twitter.com/stereoarts

项目源码

先放大招,本项目源代码网址如下
GitHub MUKIARProgram

关于Github项目下载过慢的解决方法

别修改Hosts了……我X娘的就没成功过,老子!
【Vuforia AR Unity 2018.3.12f1】MikuAR安卓程序开发实践(二)MMD篇_2019.4.23_第1张图片
正确的使用方法:通过更改网络适配器选项中的IPV4 DNS首选项及备选项
【Vuforia AR Unity 2018.3.12f1】MikuAR安卓程序开发实践(二)MMD篇_2019.4.23_第2张图片
【Vuforia AR Unity 2018.3.12f1】MikuAR安卓程序开发实践(二)MMD篇_2019.4.23_第3张图片

关于Gitee下载报错的问题

因为,GitHub项目中有超过100MB的大文件,故此采用了,Git LFS上传功能,由此可能会导致转Github库至Gitee库下载出现Error问题。建议,采用Git原生组件git clone Url并且含有Git LFS组件。【Git LFS传送门】

一.解析

1 源码目录

【Vuforia AR Unity 2018.3.12f1】MikuAR安卓程序开发实践(二)MMD篇_2019.4.23_第4张图片

  • MyTestAR_Achievement:Unity项目打包出的Android Apk程序
  • MyTestAR_SourceCode:Unity项目源码
  • 其余:Git组件

2 Unity项目目录解析

Asset:资源文件夹【主要是使用此文件夹】
所有文件夹均为Unity创建3D项目时自动生成
【Vuforia AR Unity 2018.3.12f1】MikuAR安卓程序开发实践(二)MMD篇_2019.4.23_第5张图片
在文件夹下方的.sln为VS可识别的解决方案
整个程序(解决方案)共有6个子项目
【Vuforia AR Unity 2018.3.12f1】MikuAR安卓程序开发实践(二)MMD篇_2019.4.23_第6张图片
一般来说只会用到一个DefaultTrackableEventHandler.cs,用于编辑识别图(ImageTarget)发现及丢失时同步其他相应控件的两个函数OnTrackingFound()+ OnTrackingLost()
【Vuforia AR Unity 2018.3.12f1】MikuAR安卓程序开发实践(二)MMD篇_2019.4.23_第7张图片

3 本项目Asset目录解析

【Vuforia AR Unity 2018.3.12f1】MikuAR安卓程序开发实践(二)MMD篇_2019.4.23_第8张图片

  • AudioClips:识别图被识别时/丢失时 音源.wav文件自己创建的
  • Axure:程序设计思路.rp文件自己创建的
  • Editor:Vuforia开发者中心处理过后的识别图引入OwnTest包创建的
    StreamingAssets:同上引入OwnTest包创建的
  • IdentImages:识别图源.png文件,包含版权来源自己创建的
  • ImportPackage:项目所有Import过的文件自己创建的
  • Materials:虚拟按钮VirtualButton摁下状态及释放状态下的材质将已有文件夹直接拖入的
  • MikuV4X_Digitrevx:Miku模型生成文件夹将已有文件夹直接拖入的
  • MMD4Mecanim:MMD模型动画生成插件引入MMD4Mecanim包创建的
  • Plugins:自发光插件引入HighlightingSystem包创建的
    Rim Lighting:同上引入HighlightingSystem包创建的
  • Prefab:预制组件,有几个没有用到是来自于别的项目的自己创建的
  • Resources:Vuforia SDK配置文件引入Vuforia创建的
    Vuforia:Vuforia本体引入Vuforia创建的
  • Scenes:游戏场景保存文件夹Unity项目创建的
  • Script:自己对不同组件写的Script脚本,本来是在Asset根目录的,自己给扔到一个文件夹里整合在一起的,Prefab也是如此。自己创建的
  • 極楽浄土:包含极乐净土音乐.mp3文件及舞蹈.VMD文件将已有文件夹直接拖入的

二.构建MikuAR程序

在《MikuAR安卓程序开发实践(一)基础篇》中,已经实现了简单的AR程序——即摄像头内放置识别图后,出现小cube且随着识别图移动而移动,消失而消失。接下来,就在这个简单AR程序中继续实现MikuAR程序。
在《MikuAR安卓程序开发实践(一)基础篇》完成的基础上,继续制作。

实现环境:
1.github下载本项目源码
可只获取MUKIARProgram/MyTestAR_SourceCode/Assets/ImportPackage文件
2.《MikuAR安卓程序开发实践(一)基础篇》通关

第一步:构建Miku模型及相关舞蹈

详细的视频教学:
李昂儿 BILIBILI 【极乐净土】教你用Unity制作一个AR初音尬舞【塑梦VRAR】
此视频只构造到:识别–出现模型并尬舞–以及音乐播放

简略的哔哔两句:

  1. 引入MMD4Mecanim.package(来源官网)
  2. 将MikuV4X_Digitrevx文件夹拖入Asset文件夹
  3. 使用MikuVX.MMD4Mecanim程序,先同意3个条款才能使用
    【Vuforia AR Unity 2018.3.12f1】MikuAR安卓程序开发实践(二)MMD篇_2019.4.23_第9张图片
  4. 将极乐净土文件夹中的.vmd文件拖入MikuVX.MMD4Mecanim程序中
    【Vuforia AR Unity 2018.3.12f1】MikuAR安卓程序开发实践(二)MMD篇_2019.4.23_第10张图片
  5. 点击Process,会出现小黑框(命令提示行)会显示Error,但没有关系,他最后还是可以生成Miku模型的。等待时间大概需要5-15min左右。下图选中的即为生成的Miku模型
    【Vuforia AR Unity 2018.3.12f1】MikuAR安卓程序开发实践(二)MMD篇_2019.4.23_第11张图片
  6. 将miku模型直接拖入ImageTarget下
    【Vuforia AR Unity 2018.3.12f1】MikuAR安卓程序开发实践(二)MMD篇_2019.4.23_第12张图片
  7. 将模型文件中的vmd文件拖入Main场景中的MikuV4X模型,用途是装载舞蹈动作
    【Vuforia AR Unity 2018.3.12f1】MikuAR安卓程序开发实践(二)MMD篇_2019.4.23_第13张图片
  8. 装载后会自动生成Controller控制器,即此时就可以点击Play按钮,进行测试了
    【Vuforia AR Unity 2018.3.12f1】MikuAR安卓程序开发实践(二)MMD篇_2019.4.23_第14张图片
    9.插入背景音乐
    在MMD4 Mecanim Model(Script)中的Anim下里的Animations的AudioClip
    将极乐净土音乐.mp3拖入即可【视频是这样的,可惜的是我不行……嗯,所以我将在后续独立出一个AudioSource组件用于控制音乐的播放】
    【Vuforia AR Unity 2018.3.12f1】MikuAR安卓程序开发实践(二)MMD篇_2019.4.23_第15张图片
    注意!黄色警告黄色警告黄色警告
    上面给出的详细教学视频
    李昂儿 BILIBILI 【极乐净土】教你用Unity制作一个AR初音尬舞
    只应用于Windows桌面版本,不能进行Android打包
    故,如果我们想要打包成APK程序在Android手机上运行,需要我们再做额外的操作

第二步:MMD模型转换至Android平台

在PC端,模型可以正常显示及跳舞,但直接发布Android平台后,遇到了两个问题:

  1. MMD模型无法显示
  2. MMD模型显示后不能跳舞

教程参考:作者AR小男孩 博客地址

解决第一个问题
  • 模型看不到,在手机中

1.找见MMD的材质贴图路径Materials,单击0.Face文件,滚轮至最后一行76.01按住shift键单击,即可选中Miku模型的所有贴图。
【Vuforia AR Unity 2018.3.12f1】MikuAR安卓程序开发实践(二)MMD篇_2019.4.23_第16张图片
2.在右侧“Inspector”面板,更改shader属性将原来的MMD4Mecanim改为Mobile里的。可多次调换,直到你觉得OK的。
【Vuforia AR Unity 2018.3.12f1】MikuAR安卓程序开发实践(二)MMD篇_2019.4.23_第17张图片
MMD4Mecanim渲染属性不能在Android端使用,故此时打包android APK后就可以正常显示模型了。

解决第二个问题
  • 模型不能跳舞

1.在“Hierarchy”面板,选中你的MMD模型,将Animator转换为Animation
【Vuforia AR Unity 2018.3.12f1】MikuAR安卓程序开发实践(二)MMD篇_2019.4.23_第18张图片
2.“Inspector”面板中的“Rig”下面,将“Animation Type”属性改为“Legacy”,点击Apply。此时原来的Animator会转化成“Animation”属性。
【Vuforia AR Unity 2018.3.12f1】MikuAR安卓程序开发实践(二)MMD篇_2019.4.23_第19张图片
【Vuforia AR Unity 2018.3.12f1】MikuAR安卓程序开发实践(二)MMD篇_2019.4.23_第20张图片

第三步:发布到Android平台打包成Apk

  1. 点击Unity 左上角 File–Build Settings
    【Vuforia AR Unity 2018.3.12f1】MikuAR安卓程序开发实践(二)MMD篇_2019.4.23_第21张图片
  2. 选择Android平台,再Switch ,再 Build And Run。
    注:第一次选择Android平台,右侧不是我图的样子,而是下载 Download按钮
    下载的文件名类似如下:
    UnitySetup-Android-Support-for-Editor-2018.3.12f1.exe
    当然了,现在应该是UnitySetup-Android-Support-for-Editor-2019了,下载后安装就OK了。我没有在这个地方出现任何问题。
    【Vuforia AR Unity 2018.3.12f1】MikuAR安卓程序开发实践(二)MMD篇_2019.4.23_第22张图片
  3. 到这里就基本上,MMD篇就结束了。如果你运行的MMD加载完AudioClip有音乐的话,在手机上运行安装程序后,手机摄像头识别到识别图后,会生成一个Muki模型跳舞并且有音乐播放。
  4. 顺带一提,Player Setting里需要注意的几个修改的点
    【Vuforia AR Unity 2018.3.12f1】MikuAR安卓程序开发实践(二)MMD篇_2019.4.23_第23张图片
    【Vuforia AR Unity 2018.3.12f1】MikuAR安卓程序开发实践(二)MMD篇_2019.4.23_第24张图片

MMD篇总结

到现在为止,本教程在李昂儿 BILIBILI Windows平台教程的基础上完成了在Android平台打包生成Apk后正常运行。感谢李昂儿以及AR小男孩,两位前人的踏出的路途。
好了,下一篇是实现控制功能的代码篇,也是本实践的最后一篇。

你可能感兴趣的:(Vuforia,Unity,Android)