兴趣

Realitykit2 使用照片来创建3D模型

        在准备更新macos12的时候发现RealityKit居然也更新到第二代了,由于我本科毕设就是关于AR方面的,所以咱们来看看多了那些新功能(虽然标题已经透露了)。

        最主要的新功能就是这个物体捕捉,通俗理解就是可以识别一系列不同角度照片里的物体,从而进行3D建模(嘿嘿,我有一个大胆的。。。)

开始

第一步、需要macos更新至12,Xcode更新到13,此处步骤省略。详情请浏览官方介绍

第二步、下载官方示例代码,通过Xcode来实现用照片创建3D模型的功能。

下载完之后打开项目,点击运行,会报一个错误

这是因为我们没有为项目指定团队,按照图示操作即可,此前需要先在Xcode里登录自己的APPLE ID

这时候在运行项目,发现编译运行成功,但是貌似什么都没有发生,其实这是一个命令行程序,不会有UI界面,看右下角命令行提示处有个error

很好理解,没有找到存放照片的文件夹,因为我们还没有指定文件夹的位置。打开项目里的main.swift文件,然后找到如下代码区域。

这里有两个必填参数:

inputFolder:一个字符串,照片存放的文件夹路径

outputFilename:一个字符串,生成3D模型的文件名

一个可选类型参数:

detail:枚举形,生成模型的质量。可选类型在代码上方help后已经给出。不设置的话默认为normal。

ok,我们先下载一个官方的示例照片看看项目能否跑起来。这个蛋糕是大小最小的了,就这个吧,这里只下载了照片文件。下载完发现有72张照片,分别为两个角度,一个绕一圈的拍摄着(距离较近),一个俯视角度较高的绕一圈拍摄的照片(距离变远)。

现在获取文件夹的路径,打开终端,然后把文件夹拖进终端里即可出现文件夹的路径

用鼠标选中后复制,然后粘贴到代码inputFloder后,设置好输出文件名即可。如图所示,注意输出文件后缀名为.usdz

确认参数无误后运行代码,可以在右下角控制台发现程序已经运行起来了,最下面为进度,当数字为1的时候表示完成,会显示Processing is complete!

完成后发现文件夹内出现test.usdz 我们打开看看,哇哦,这精细程度,下面我们自己拍照片试试。

拍摄

首先拿我的小鼠标实验一下,为了增加辨识度还在上面放了一个小熊🐻,拍摄设备为小米mix2s(动图会被压缩所以会模糊)

emmmmmmmm貌似有些惨不忍睹,毕竟官方推荐用ios设备拍摄,那咱们在用ipadpro(2018)拍摄试试.目标小羊~

emmmmmm毛绒绒的东西还是有些粗糙,不过比鼠标好一点,在测试一个小盒子。

emmmmmmmm,我的精致小铁盒怎么就变成伊拉克成色的了,毕竟官方推荐设备为拥有后置双摄的ios设备,后置双摄拍摄的照片会记录深度信息,生成的3D模型质量会很高,比如那个蛋糕就很逼真。设备这咱也没有啊,所以就先这吧。后续有双摄设备的在更新。总的来说这个功能还是非常的有趣的,嘿嘿。

留言

您的电子邮箱地址不会被公开。