1、启动AR相关插件
通过Edit->Plugins启用AugmentedReality下面的所有插件
2、自定义Pawn
在Content->ARBase目录右键,Blueprint Class->Pawn创建一个自定义Pawn,命名为ARPawn
给ARPawn添加1个Camera组件
在Content->ARBase目录右键,Blueprint Class->Game Mode Base 创建一个自定义Game Mode Base,命名为ARGameModeBase,同时将ARGameModeBase的Default Pawn Class指定为ARPawn
通过Edit->Project Settings->Maps & Modes,将Default GameMode设置为ARGameMode
3、创建ARSessionConfig
在ARBase目录右键,Miscellaneous->Data Asset,搜索ARSessionConfig创建ARSessionConfig
4、启动AR相机
在MainPage中,选择Graph,在FUNCTIONS中点击加号,添加1个函数,取名为StartAR
搜索StartAR,调用AugmentedReality中的StartARSession函数
其中SessionConfig选择刚刚创建的ARSessionConfig
5、隐藏场景中的天空球等物体,显示相机拍摄内容
场景中的Floor不需要,删除Floor
在MainPage中定义一个函数,用于显示隐藏天空球,函数接收一个输入参数Visible
给场景中的天空元素添加Tag,Tag命名为"SkySphere",方便在蓝图中找到这些Actor,总共包含ExponentialHeightFog,SkyAtmosphere,SM_SkySphere,VolumetricCloud这4个Actor
实现ShowHideSkySphere函数
在StartAR后隐藏SkySphere
6、实现界面中的Start AR功能
给Btn_Start_AR按钮添加On Clicked回调,在On Clicked之后调用自定义的Start AR函数
7、实现界面中的Stop AR功能
实现自定义的StopAR函数
给Btn_Stop_AR按钮添加On Clicked回调,在On Clicked之后调用自定义的Stop AR函数
8、支持的机型
ARKit支持iOS所有机型,ARCore只支持Android部分机型,具体型号参考官方说明:
支持ARCore的设备: https://developers.google.com/ar/devices?hl=zh-cn
9、Android启动AR黑屏问题
不要使用UE5.1,使用UE5.3即可