Tag: arkit

从iOS的Grasshopper到QuickPreview:使用USDZ文件格式,第1部分

这个主意 作为一名架构师,城市设计师,设计师和 iOS开发人员,我所面临的挑战之一就是能够从这种疯狂的愿景,经验和不同领域的组合中做出一些贡献。 从建筑师+城市主义者+设计师的角度来看,我总是对参数化设计,快速原型制作和数字制造感到困惑。 犀牛的蚱hopper是实现这一目标的绝佳工具。 有了它,我们就能构思出难以置信的方法(称为“定义”),这些方法决定形状和形式,而所有这些方法仍在整个过程中为实验提供了空间。 如果您不熟悉它,Grasshopper是一个图形算法编辑器,完全与Rhino的3-D建模工具集成在一起。 它不需要传统的编程或脚本知识,但仍允许设计人员构建表单生成器。 您基本上是使用图形界面来定义一堆3D建模指令,这些指令与您的创意所确定的动态参数紧密相关。 这些参数的更改会立即从算法中产生响应,从而创建新的表格。 因此,确实,Grasshopper 对于设计师而言是一种了不起的工具。 但是,构想整个构图方法而不是静态伪像的全部目的是让最终用户成为设计过程的积极组成部分,这使他们能够选择与他们的特定需求兼容的值,并尝试各种和个性化的方法。味道。 因此,Grasshopper不能为普通消费者提供足够接近常规数字体验的产品。 从iOS开发人员的角度来看,这种见解导致了以下指导性问题: 使用iOS可以做些什么来缩小Grasshopper Definitions与消费者之间的差距? 为了回答这个问题,我不得不考虑我对该项目的个人限制 因为我是iOS开发的初学者/中级,所以如果该解决方案易于实现 ,那将是非常好的。 探索AR作为可视化和/或与设计交互的一种形式 。 从中我得到了理想的通量: 1. 2. 3. 新的USDZ文件格式 在WWDC 2018上,我们了解了Pixar在Apple和Adobe的支持下开发的新文件格式。 USDZ通过组合用于在一个文件中渲染场景的关键信息,简化了3D模型的可视化。 几何形状,纹理,照明,相机位置—皮克斯将所有内容捆绑在一起,形成了零压缩,未加密的 zip档案。 结果是可以快速但强大地进行可视化的存档。 苹果公司的职责是使iOS Quick Look Preview成为文件功能的令人难以置信的展示-无需进行配置,我们就可以通过AR将模型推向现实。 考虑到这一点,我的想法开始形成。 因此,我首先验证了处理此类文件的难度。 可以在下面找到有关它们的主要准则。 USD文档:Usdz文件格式规范 因此,我们要求每个文件在包中以64字节对齐开始。 幸运的是,zip格式提供了… graphics.pixar.com AR模型的QuickLook预览 如本教程所示,使用Quick Look非常简单。 只需几行代码,您就可以轻松进行。 我真的推荐这个 ,让它与AR一起使用。 您可以在Apple的展示网站上获得一些usdz示例以供使用。 在UICollectionView中的项目上使用快速查找,您必须从类QLPreviewController及其数据源和委托中定义一个变量。 func collectionView(_ collectionView:UICollectionView,didSelectItemAt […]

我们欢迎Apple提供的最新增强现实套件:ARKit!

我将简要介绍一下被认为是虚拟现实最新阶段的苹果公司的ARKit。 苹果在WWDC上介绍了他们从事一段时间的增强现实程序。 在会议上,苹果公司软件工程副总裁克雷格·费德里希(Craig Federighi)宣布,通过增强现实开发者工具包(ARKit),开发者可以在iPhone和iPad上完成许多事情,从简单的计算器到更复杂的视觉效果。 例如,开发人员可以“将咖啡杯放在桌子上”(这些应用程序已经可用),但是现在您可以在杯子旁边添加杯子的阴影和一本书。 瞧! 我们都知道口袋妖怪围棋现象。 您可以在走路时遇到宠物小精灵,并通过扔戳球来接住它。 棘手的部分是,根据您距生成点的实际距离,口袋妖怪现在可能会显得更大或更小。 以前从未使用过该技术的版本。 实际上,您可以从根本上改变整个相遇机制的过程,而在Pokemon周围走来走去或远离它。 玩家现在可以从不同的角度和距离接近以向口袋妖怪扔throw球。 听起来不错! 宜家是另一个例子。 在决定购买家具之前,您实际上可以在房间里看到它的确切大小和形状。 问题是它在您的家庭/办公室中覆盖了多少地方,或者它是否适合您将成为过去的两难境地! 最后但并非最不重要的例子是实时汽车目录(有传言说奥迪和梅赛德斯已经制定了计划)。 想象一下从电话屏幕上查看汽车的仪表板,您将立即获得有关该魔术按钮的信息。 或者,您正在寻找引擎盖内部,以查看想要添加一些机油的部分以及如何进行干预-或一些基本知识,例如,如果您是汽车新秀,则如何打开引擎盖。 此外,当您想要为汽车增加其他功能(天窗,座椅,方向盘套,导航装置等)时,您会发现其适合性。 您是否还在考虑实时订购? 可以说ARKit是虚拟现实的最新阶段,Apple相信开发人员的想象力。 ARKit是免费的,并且引起了极大的兴趣。 通过新应用程序与ARKit的竞争现在已经开始,我想我们很快就会在市场上看到它们。 一项技术说明: ARKit还支持Unity,Unreal Engine和SceneKit以及Xcode应用程序模板。 我们期待着您的增强现实想法。 🙂

对ARKit使用Poly API

嗨! 我是KK的Kakkun(又名KK)在Timers Inc担任iOS工程师。 苹果在WWDC 2017上宣布了ARKit ,听说如此直接而又如此激动。 而且,谷歌于2017年10月底宣布了Poly。此外,谷歌于11月底宣布了Poly API。 我尝试使用 带有ARKit的Poly API 。 Poly是Google免费下载的3D数据服务。 许多创作者上传3D数据,我们可以免费使用它们。 但是,我们必须注意许可,这主要是 CC-BY许可证,必须在显示中显示作者姓名。 Poly API是可通过编程下载3D数据的平台。 现在有四个功能, 搜索,获取资产,获取用户帖子,获得用户喜欢 。 搜索和获取资产功能可通过简单的身份验证获得 ,但是获取用户帖子和获得用户喜欢的功能需要OAuth的许可。 有一个样本 由Google提供,请同时进行检查。 首先,我们必须在Google的控制台API页面中激活Poly API 。 然后我们可以在文档页面中获取API密钥 。 API 域是https://poly.googleapis.com 。 v1.assets 获取资产:GET / v1 / {name = assets / *} 资产清单:GET / v1 / assets 我们可以轻松地使用搜索并获取详细信息 api,以在url之后设置API密钥 。 例如https://poly.googleapis.com/v1/assets?key=YOUR_API_KEY v1.users.assets 用户资产:GET / […]

ARKit中的变换中的不同列表示什么?

ARAnchor有6列,其中最后3列表示x,y和z坐标。 我想知道其他(第一)3列代表什么?

如何为ARKit创build一个场景文件?

在ARKit示例源代码中,我可以看到“.scn”[场景工具包文件]。 我想知道如何创build一个新的场景文件? 让我们说一个硬币场景? 任何网站,我可以下载? 或学习如何创build一个供我使用? 🤞

在xcode beta中运行unity arkit项目时的语义问题

我已经采取了一个统一的例子,并将项目导出为一个ios项目。 但是在构build时,我正在获取如图所示的语义问题: 同一个项目正在另一个mac上,但不是在我的iMac。 操作系统版本:10.13 Beta Xcode版本:Xcode beta 9

ARKit浮动飞机

有时ARKit会在现有的平面上创build平面。 它不合并它们。 我正在封闭空间testingiPhone 7的ARKit 。 放在那架飞机上的物体似乎在空间中漂浮。 这种情况不会经常发生,我无法一直重现。 有人能告诉我如何防止重叠和浮动飞机出现? 或者如何将3D物体放置在底部平面上? 这里是绘制飞机的代码。 func createPlaneNode(center: vector_float3, extent: vector_float3) -> SCNNode { let plane = SCNPlane(width: CGFloat(extent.x), height: CGFloat(extent.z)) let planeMaterial = SCNMaterial() planeMaterial.diffuse.contents = UIColor.blue.withAlphaComponent(0.4) plane.materials = [planeMaterial] let planeNode = SCNNode(geometry: plane) planeNode.position = SCNVector3Make(center.x, 0, center.z) planeNode.transform = SCNMatrix4MakeRotation(-Float.pi / 2, 1, 0, 0) return planeNode […]

ARSessionConfiguration在Xcode 9 GM中未解决

我已经使用Xcode 9的testing版创build了一个ARKit项目,我可以在真正的设备上运行,而且没有问题。 昨天,我升级到了Xcode 9 GM,并且没有碰到任何东西,Xcode显示了多个错误,说它不知道ARSessionConfiguration即: 使用未声明的types“ARSessionConfiguration” 和: 使用未声明的types“ARWorldTrackingSessionConfiguration” …这个代码: let session = ARSession() var sessionConfig: ARSessionConfiguration = ARWorldTrackingSessionConfiguration() 我已经导入ARKit并在我的ViewController中使用ARSCNViewDelegate 。 当从Xcode的testing版本打开项目时,它不显示错误,我可以再次运行我的手机上的应用程序。 任何想法如何我可以解决这个问题?

testing没有iPhone6s或更新版本的ARKit

我之前决定下载Xcode9。 我想玩新的框架 – ARKit。 我知道要运行应用程序与ARKit我需要一个A9芯片或更新的设备。 不幸的是我有一个更老的。 我的问题是已经下载新的Xcode的人。 在我的情况下有可能运行ARKit应用程序? 任何模拟器或其他东西? 任何想法或将不得不购买新设备?

如何将一个dae导入到SceneKit for ARKit

如果我运行Xcode的ARKit项目模板,我可以按照预期移动默认的船。 我已经尝试导入一些从Blender导出的DAE模型,将船舶切换到新的项目,但保持代码相同。 他们总是看得见,但在相机前面的位置。 如果我尝试在模型中移动,它会粘在摄像机的前面,不会留在同一个虚拟空间中。 我也尝试从另一个教程导入一个dae,并按预期工作。 当将3d模型导出为Collada dae文件以确保它将锚定在ARKit中的某个位置时,是否需要设置?