前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >导入 3D 模型-将您自己的设计融入现实生活中

导入 3D 模型-将您自己的设计融入现实生活中

作者头像
iOSDevLog
发布2019-06-17 14:46:02
3K0
发布2019-06-17 14:46:02
举报
文章被收录于专栏:iOSDevLogiOSDevLog

3D模型通常是在专门为此制作的另一个程序中设计的。它们充满了您在SceneKit编辑器中找不到的功能。后者更多用于编辑和添加效果。无论您是自己创建还是购买,都需要将它们导入Xcode。在本节中,您将学习如何导入3D资源并进行调整,以使其在您的应用中运行良好。

3D建模软件

3D艺术家在他们用于创建图形的建模软件方面有自己的偏好。我们将瞥一眼一些专业人士。

Blender

Blender是多功能和免费的,非常适合那些想要开始干预3D设计的人。虽然它是免费的,但它起初并不容易解决,因为它具有很多功能。它甚至还配备了集成的游戏引擎。

Blender

Cinema 4D

Cinema 4D具有详细的功能,并且由于其直观的用户界面,易于携带。它快速可靠。它甚至允许用户在项目中保存场景的多个版本,以免丢失以前的作品。但是,它的价格很高。有许多许可证包可供选择,以满足任何人的需求。您可以先使用演示版试用它。

Cinema 4D

Autodesk Maya

Autodesk Maya在为视频游戏和动画电影创建交互式3D内容方面非常强大。它适用于动画,动画,角色创作等等。这个细节集中的工具可以产生令人惊叹的工作室效果。如果您是学生或教育工作者,您可以下载免费试用版或获得 3年许可证

Maya

Sketchup

Sketchup对于建筑和室内设计非常有用。它配备了一个存储和共享模型的库。3D Warehouse中的所有资产都可以免费下载。我们将使用此平台下载我们的3D模型。

Sketchup Pro

Autodesk 3ds Max

Autodesk 3ds Max在视频游戏开发人员和建筑工程师中很受欢迎。此工具非常适合查看动画和视觉效果。艺术家甚至可以从任何物理对象或地点捕获的点云数据创建模型,这样他们就不必从头开始。可以轻松地与其他协作者共享图形。但是,它只支持Windows。

3DS

3D的常用文件格式

无论使用哪种建模软件,您都可以导入或导出到其他类型的文件中。这是您可以找到的常见格式列表。

  • .dae for Digital Asset Exchange文件,也称为COLLADA文件,因为它们基于XML COLLADA格式
  • .obj用于Wavefront 3D Object文件,通常附带.MTL文件,其中引用了材质描述
  • .3DS用于由Autodesk的3D Studio的场景文件
  • .fbx for FBX文件(Filmbox)由Autodesk用于跨平台查看模型

Xcode等自动支持上面提到的前两种格式。

在2018年的WWDC上,Apple刚刚宣布了与Pixar合作的增强现实内容的新文件格式。该USDZ文件将是整个软件使用通用的格式,可以与朋友和同事之间轻松共享。我们甚至可以在新的AR Quick Look应用程序中进行真实预览。

下载导入3D模型

要学习本教程,您需要Xcode 10或更高版本,以及SceneKit场景编辑器中的最终Xcode项目。您可以下载本节的最终Xcode项目,以帮助您与自己的进度进行比较。

下载资产

在开始之前,请确保下载资产包(如果尚未下载)。

下载模型

让我们开始。转到3D模型库网站。在搜索栏中,键入iPhoneX。请注意这里的大小写。再往下,我们将从Sketchup Designer中选择模型。在下一页上,单击红色的“ 下载”按钮,然后选择“ Collada文件”

接下来,转到下载资产的目录,您将看到一个名为iPhoneX +(Apple +)的新文件夹。3D模型保存在文件model.dae下。您可以打开它以直接预览它。文件夹模型实际上是材质,因为它有一个iPhoneX屏幕的图像文件。在我们导入之前,我想将文件夹重命名为iPhoneX

导入模型

现在,让我们导入。返回Xcode,打开Project导航器。拖放iPhoneX正确的文件夹下art.scnassets。所以你刚刚导入了3D模型。它是如此简单!

将文件转换为场景

首先,展开文件夹,然后单击刚刚在项目中添加的文件。建议将3D资源转换为场景文件以优化性能。在菜单栏中,转到编辑器,然后转换为SceneKit场景文件格式(.scn)。现在您可以看到您的模型具有.scn扩展名。

节点布局

在场景图中,我们可以看到节点是如何布局的,哪些是父节点,哪些是子节点。节点的层次结构对于每个设计是唯一的。有时,您可以找到相机节点,在这种情况下您可以删除它们。它们不是必需的,因为ARKit使用设备的相机。

重命名

我将重命名模型的文件和文件夹以使其更加明确。更改model.scniPhoneX.scn模型文件夹的材质和最终图像名称这只是一个下划线iPhoneX_screen.jpg

让我们回到我们的场景。由于重命名,纹理的链接被破坏了。要解决此问题,请单击手机屏幕,转到“ 材质”检查器并将漫反射更改为iPhoneX_screen.jpg。在此期间,让我们将背景更改为Procedural Sky

中心点

我要谈的下一件事是支点。它是所有箭头的交集。旋转对象时,它将转向该点。最重要的是,当您将对象添加到曲面上时,初始放置将是该点。现在,它位于手机的左下方,所以不好。我们将把它改为模型的中间部分。顺便说一下,这一步不是强制性的。它也可以通过代码修复。但这是一个很好的诀窍。

这该怎么做?请注意,我们只能这样做,因为这个模型有许多节点布局,父节点是SketchUp。我们将改变其直接子组group_0的位置。首先,我们将从前面看模型。好吧,似乎角度已经改变,如果你去节点检查员,你可以看到它。我们将视图改为顶部。选择SketchUp,我们将检查Bounding框。如果手机的宽度2.819,那么它的中心位于1.410。同样,如果高度为5.635,由边界框的深度定义,其中间点为2.818。考虑到父节点对x,y和z放置为0并且原始枢轴点位于左侧,我们应该将group_0的x位置设置为-1.410。选择SketchUp,您将看到x位置是固定的。对z执行相同操作,将其设置为2.818。现在枢轴点位于模型的中心。

展平节点

最后,我们现在需要做的是将所有节点展平为只有一个节点。如果我们不这样做,我们稍后会遇到一些操纵模型的问题。例如,您将旋转手机的边框而不是整个手机。要展平节点,请右键单击SketchUp,然后展平选区。现在,您将处理一个节点而不是多个节点,但只有在您完成模型编辑后才能执行此操作。让我们从前面看看它的样子。当我运行应用程序时它会是这样的,但我希望它现在站起来所以将x角度改为90度。

更改场景参考

是时候模拟我们的应用程序并检查iPhone了。但在此之前,我们首先要改变对场景的引用,从船舶场景到我们的新场景文件。转到ViewController.swift文件,在viewDidLoad中我们引用场景,让我们将单词ship改为iPhoneX/iPhoneX

代码语言:javascript
复制
let scene = SCNScene(named: "art.scnassets/ship.scn")!

代码语言:javascript
复制
let scene = SCNScene(named: "art.scnassets/iPhoneX/iPhoneX.scn")!

现在,让我们运行应用程序。

缩放模型

那么这里发生了什么?你可能会想到什么都没发生。但如果你退一步,你终于可以看到你的模型。发生的事情是你在对象的中间,你在这个位置什么也看不见。什么都不是一个银盘子,对吗?通常,3D模型超大。所以,我们要缩小规模。回到iPhoneX场景,将其缩放到0.025,即x,y和z为2.5%。再次运行该应用程序。

导入资产

我们完成了iPhoneX模型的导入。对于应用程序,如果您看到该演示,则可以选择其他模型。幸运的是,它们已经包含在下载的资产文件夹中。因此,打开它,访问3D文件夹并将所有内容导入到art.scnassets下的Xcode中。

在这里,我们也将导入其他资产。单击Assets.xcassets,打开2D文件夹并将所有内容拖动到那里。接下来,仅选择文件夹,转到“ 属性”检查器并选中“ 提供命名空间”。这将添加文件夹名称作为图像名称的前缀。如果您具有相同名称但位于不同文件夹中的资源,则此功能特别有用。它有助于整理它们。然后,选择除按钮图标之外的那些文件夹中的所有图像,并将Scales属性更改为Single Scale。这些图像不是图标,我们不需要多种尺寸。

我们仍然保留了应用图标。单击AppIcon,在finder中打开文件夹App Icon,并将2x和3x图标放在适当的位置。

当应用程序出现在我们的设备上时,让我们将图标与另一个名称相关联,而不是项目名称。转到项目文件DesignCodeARKit并将显示名称更改为Angle AR

重命名场景文件

为了完成这个,我们应该重命名船舶场景,因为我们用它来代替我们的手表。代码将不再引用它。将文件ship.scn重命名为myWatch.scn。记住,也删除它不需要的纹理文件texture.png

3D资产的推荐网站

在我们结束本课程之前,我想带您浏览一些3D资产网站。那里有很多,但我喜欢这些。

纹理推荐网站

对于材质,这里列出了一些您可以查看的网站。

结论

因此,在这里您学习了如何将3D模型导入Xcode,调整它以便在程序中进行优化并实现更好的交互。您还了解了一些建模软件,可供下载模型的站点以及适用于它们的纹理站点。您现在可以找到要添加到项目中的优秀模型。请注意,使用3D非常耗时,因为要在应用程序中很好地集成,需要进行大量操作。有了这个,祝你好运,玩得开心!

原文: https://designcode.io/arkit-importing-3d-models

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019.02.28 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 3D建模软件
    • Blender
      • Cinema 4D
        • Autodesk Maya
          • Sketchup
            • Autodesk 3ds Max
            • 3D的常用文件格式
            • 下载导入3D模型
            • 下载资产
            • 下载模型
            • 导入模型
            • 将文件转换为场景
            • 节点布局
            • 重命名
            • 中心点
            • 展平节点
            • 更改场景参考
            • 缩放模型
            • 导入资产
            • 重命名场景文件
            • 3D资产的推荐网站
            • 纹理推荐网站
            • 结论
            领券
            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档