虚幻4预设的有一个手持式AR模板,本文将介绍该模板。

为了能正常打包需要注意几个点:

1.项目命和路径名要用English

2.项目名不要有空格(引擎也会提示)

3.项目名不要超过20个字符

4.完整路径名不要超过260个(可以指定的有效长度是256个字符,比如:"C:\有效字符串 ",实际C:\占用3个字符串,"有效字符串"后面会跟收尾符,3+256+1=260

5.资源文件不要重名

只要遵守以上规则,你就会有一个“愉快”的过程。

新建UE4项目,在游戏、建筑和汽车类型下均有手持式AR应用的模板,它们之间就是展示的物品不同,任选一个即可。该模板比空白项目主要多了一个Pawn,并设置好了一些配置。

1.配置环境(如果你没有打包问题,可以跳到第三部分)

每当学习新东西的时候,配置环境总是在开头最让人劝退的一步,但也是一劳永逸的一步。

在这一阶段,能够让项目打包成功就是胜利。(你可以先打包一个空项目,这样速度比较快)

Android:

当你打包项目的时候,可能会跳转到网页,这是因为没有安装Android Studio,而跳转到的网页应该是官方文档设置虚幻的Android SDK和NDK | 虚幻引擎文档 (unrealengine.com),

有两种方法(我推荐第二种)

方法一:基本上跟着文档做就行,有少许差别,

比如SDK Manager有的在界面的Configure,有的在More Actions,不同的UE4版本,需要的SDK Build-Tools版本也不一样(尽量选30.0以下),这个跟版本系统仿佛有很大关系,IOS也是一样。

方法二:在网上找别人调配好的工具包,下载下来就行了。

下载网址:UE4安卓环境部署(亲测百分之百成功) – 人宅学院 (renzhai.net)  4.26版本支持4.27

安装步骤:UE4 4.26安卓环境部署-百分之百有效_哔哩哔哩_bilibili

完了之后,先试试看能不能打包一个空项目,在项目文件夹里把那个后缀带.apk的传给手机,完了之后安装在手机里,有的手机在打开时可能会跳出提示,需要在手机的Google 商店下载平台协议(这个要挂梯子了)。

打包报错情况:1.之前说过项目命名要用English;

 ERROR: Package name segments must all start with a letter. Please replace [PROJECT] with a valid name

2.虚幻引擎项目设置里的Android SDK路径不对,找些视频看看怎么设置吧。

ERROR: cmd.exe failed with args /c 

有需要可以看看:(3条消息) UE4 源码Android打包踩坑记(一)_你好-C嘉嘉的博客-CSDN博客

2.项目设置

在虚幻引擎的项目设置里配置,一共4处,其中Android 三处,Android SDK 一处,这部分在上面的环境配置中有更详尽的指导,这里简单描述下。

Android:在APK打包和GooglePlay服务一栏都有个红的,点右边的立即配置把它点绿

以及在APK打包下面“将游戏数据打包至.apk中”,勾上

IOS:6-8 如何申请苹果开发者账户_哔哩哔哩_bilibili

直接照着视频做吧,这方面我也没搞明白,总结一下就是用向日癸让Windows控制Mac,两台电脑都安装向日癸(因为远程编译要开向日葵),然后Mac开通四个权限(比视频里多一个SunloginClient_Desktop)给向日癸就行了。在安装iTunes之后才能打包(不然跳网页),如果你遇到其它问题再去网上找找吧。

参考资料:(3条消息) UE4 打包IOS 远程编译 Remote Build IOS_wxiaop_1的博客-CSDN博客

远程打包失败之一:(3条消息) UE4 Windows远程发布iOS之SSH登录Mac OS验证错误问题_foenix66的博客-CSDN博客

打包过程中,两台电脑都要保持开启,不要有一台进入睡眠或关机。

(给像我一样的小白认识一下,ITunes和爱思助手)

3.模板认识(现在开始正式介绍模板)

 前言

如果你新建的项目使用了手持式AR应用,那么现在可以测试下模板内容,把项目打包到手机上玩玩看。这是官方对模板的介绍: 手持类AR项目模板快速入门 | 虚幻引擎文档 (unrealengine.com)

如果你没有应用模板,比如从空项目开始的,那就点击右上方叉叉,退出去重建一个。

这里有些AR相关的蓝图:(3条消息) UE4移动平台AR开发快速预览_foenix66的博客-CSDN博客_ue4做ar

正文

重要蓝图介绍

打开摄像头:

开始AR会话:要开始AR,需要两样东西.

1.调用开启AR会话,这样手机才会打开摄像头并开启AR相关程序;

2.设置数据资产,看到上图中的D_ARSessionCon了吗?

这是一个普通的数据资产,里面什么都不用设置(除了特别需求)

创建方式:在内容浏览器内容    ->   如图中所示    ->点击后选择ARSessionConfig

触屏输入:

获取手指在屏幕的位置:

捕获触屏事件:只要手点击屏幕就会响应

轴绑定:在项目设置的输入里绑定相应函数,触摸1是一只手指,触摸2是两只手指。

扫描环境:

将屏幕反向投射到场景:把手指位置,从二维转到三维,并再给一个向量。

可以获取在屏幕上,手指点击的位置(这个位置是3维,是场景中的3维坐标,差不多就是ARPawn的摄像机位置)和一个垂直于屏幕的法线向量(这个法向量可以用于点取屏幕里的物体)。

对象的线条检测:该蓝图的射线可以命中场景中的对象(即程序生成的对象),但是没法检测到真实世界中的物体,但可以使用下面的蓝图节点。On Hit传出去后,用“中断命中结果”获取更多信息。

线检测检测的对象:该蓝图的射线可以检测到摄像机捕捉到的几何体,可以勾选你想点中的对象

平面几何体:

这是摄像机能检测到的现实世界中的平面。

4.三个重要的蓝图类

BP_ARPawn:

Pawn,AR中的一切都是围绕Pawn进行的,所以首先要在游戏模式中,将默认pawn类设成ARPawn,它就是普通的Pawn只有一个摄像机组件,里面写了些蓝图,Pawn不仅是用户的化身,也是这个模板里处理数据的后台,很多功能都是写在这里,开启摄像头,触屏输入,手势判断都是写在其蓝图中。(不过这个模板中是Pawn创建MainMenu,然后让MainMenu开启摄像头)

BP_Plane:

这是一块透明的平面,在蓝图中是空的,它会在检测到平面后被放置在平面的位置,当系统让您选择一个平面,我们点击屏幕后,对象的线条检测会命中它,然后就允许你再次点击屏幕在这个蓝图上放置对象。

BP_Placeable:

这个就是我们要在AR中放置的对象,单指拖动,双指旋转,双指合并/分开是缩放。

说一下 BP_Placeable的显示物体,它的网格体其实是在这个BP_ProductAssetRef里面选择的。

5.打开AR的流程

运行游戏,当游戏开始时,首先跃入眼帘的是这个英文画面,

因为游戏开始时:

1.会生成默认pawn类(ARPawn);

2.而ARPawn在生成时,蓝图里的事件初始化会创建MainMenu添加到界面;

3.MainMenu会把子控件都创建出来,有的显示在屏幕,有的隐藏。(就呈现出上图的有样子)

MainMenu在初始化时会设置控件们的可见性并绑定许多事件到蓝图通信,

后面这个序列的11个操作主要是绑定菜单切换的事件和一些杂项

Mainmenu里面的Button模块(就是上上图的Begin Scan),点击之后会调用On Pressed Event和On Release Event蓝图通信,它们绑定了一系列AR事件(包括UI切换),其中On Release Event会调用开启AR会话(打开摄像头)。

然后摄像头会扫描环境,试着在一个平面几何体上放置BP_Plane的实例,之后我们的AR对象(BP_Placeable)就是放置在这个BP_Plane上。

6.输入处理

在BP_ARPawn中有三个处理输入的部分

首先是放置对象,检测到有点击操作就会判断,是选择平面还是放置对象。

这部分会记录一些输入信息给下一部分,OneFinger是判断是否选择对象,TwoFinger会保存当前手指位置为Pervious的位置。

用上面获取的输入信息做手势识别,tick函数每帧执行,用来判断对象是要位移还是选择或缩放。

虚幻4 手持式AR应用 模板认识相关推荐

  1. 虚幻引擎5 AR开发教程02:构建和测试AR Android App

    在本教程中,我们将学习如何在虚幻引擎 5 上构建和测试 AR 安卓应用. 步骤 01:确保已安装目标平台. 打开 Epic Games 启动器 选择选项 确保为您所需的应用程序构建平台安装了目标平台 ...

  2. 虚幻引擎5 AR开发教程03:创建第一个AR App

    在本教程中,我们将学习如何在项目中添加 AR 功能并在虚幻引擎 5 中创建我们的第一个 AR 应用程序. 步骤 01:创建和设置 UE5(虚幻引擎 5)AR 项目:教程 01 步骤 02:创建 AR ...

  3. 【虚幻引擎UE】UE5仅需5个步骤快速实现AR项目调试与打包(安卓篇)

    [虚幻引擎UE]UE5仅需5个步骤快速实现移动端AR项目调试 1.确保VS环境符合要求 到控制面板找到安装程序点击更改→修改. 以下是我自己确认可用的勾选. 2.安装JAVA环境,Android SD ...

  4. 模板使用自定义类型_自定义虚幻图表_拓展蓝图功能

    最近研究了下虚幻的图表编辑器写法,制作了个基础模板给大家用来制作自己的编辑器~ 资源类型节点编辑器(提供了基础的节点编辑功能.并保存时转化为UObject的子类的运行时数据结构): Eragon-Br ...

  5. AR行业成本拆解解析

    来源:三极光电科技 一.AR 产业简介 (一)AR 定义 AR 技术(AugmentedReality,AR)是借助光电显示技术.交互技术.多种传感技术和计算机图形与多媒体技术将计算机生成的虚拟环境与 ...

  6. 【开发指南】AR Foundation 开发环境部署

    开发平台:Unity 2020 编程平台:Visual Studio 2022   前言   Unity AR Foundation 是 Unity Technology 提供针对 AR 开发方向的解 ...

  7. 社区 | 虚幻周报 20190528 - 20190607

    本公众号[游戏开发那些事]之后会不定期的转载虚幻引擎社区的相关文章,关注或使用UE4的朋友不要错过! 本次周报里面有相当多的干货,包括UnrealOpenDay 2019的现场视频.官方PPT以及最新 ...

  8. 关卡设计快速入门_3. 创建一个新关卡

    接下来,创建一个新关卡,来构建您的游戏环境.当创建一个新关卡时,就和您创建一个新项目类似.虚幻引擎允许您选择 模板 .默认情况下,有一个 默认 模板(它具有非常简单的场景) 和一个 Empty Lev ...

  9. WebRTC十周年、Space X成功对接国际空间站、TikTok复制品Zynn或有快手支持|Decode the Week...

    >>顺便祝大家六一快乐<< Decode the Week≠音视频技术周刊  01 Space X载人飞船首发成功并与国际空间站对接 图片来源:NASA Ins story 北 ...

  10. Quick #UE4 Tip (第3周 2020.4.10)

    选自过去1~2周 自己所看到外文内容:https://twitter.com/search?q=%23UE4&src=recent_search_click&f=live     和各 ...

最新文章

  1. SAP提请法院向甲骨文支付不超4亿美元赔偿金
  2. React Native初始化项目0.47.1报错
  3. django 业务逻辑写在view里吗?_Python Web框架Django简介
  4. java实验文法报告_西安邮电大学编译原理LL文法分析器实验(java).doc
  5. 【STL深入学习】SGI STL空间配置器详解(二)-第二级空间配置器
  6. echarts line
  7. 现任明教教主 NAC Framework EOU 视频
  8. 计算机中缺少qt5quick.dll,qt5quick.dll
  9. 萤火虫小程序_漫展广州丨第24届酷狗蘑菇萤火虫漫展圆满收官,我们国庆见!...
  10. 超分辨率谷歌卫星图下载经验贴
  11. Nods.js安装配置(windows)
  12. 斯坦福大学公开课:量子力学
  13. 单招软件职业技能测试,招生信息网-2019年单独招生《职业技能测试》考试大纲...
  14. 颠覆性创始人Tony Delgado在波多黎各启动编码训练营
  15. 【架构师实践课】单体和微服务怎么选?单体到微服务怎么转?
  16. 理解COM的线程套件(转)
  17. 电源设计中电容的工作原理及选用
  18. 使用protege过程中的一些小技巧
  19. TCP/IP编程:DNS域名解析
  20. EEG Artifacts

热门文章

  1. win10安装steam有损计算机,Win10专业版修复Steam磁盘写入错误的方法
  2. ideaIU的学习一
  3. 【全网最全】软件测试面试题(含答案),2022最强版,直通大厂
  4. sql脚本 windows导出 linux乱码,mysql query browser中文乱码的解决方法
  5. 51nod 范德蒙矩阵
  6. Android拦截陌生号码,安卓手机应该如何设置拦截陌生号码
  7. Kotlin 的静态代码分析工具
  8. 代码分析工具推荐Understand
  9. 计算机系统集成项目工程师报名,2021年系统集成项目管理工程师报名流程
  10. 如何在微信小程序中使用字体图标