【问题标题】:3D Models in ScenekitScenekit 中的 3D 模型
【发布时间】:2020-04-17 12:35:32
【问题描述】:

我购买了 3D 模型以在 SceneKit 中使用,但我无法让模型看起来像我购买它们的网站上显示的最终产品。我一直在购买 .obj 文件并在 Xcode 中转换它们。我能够成功完成一个模型,但我还有 5 个其他模型都遇到了同样的问题。

如您所见,我希望它看起来像这样(图片来自我购买它的网站)Image 1

但是当我移动 .obj 文件时(还有更多文件),这就是令人困惑的地方。该模型有很多材料(我也不明白),当我尝试通过“漫反射”添加其中一种纹理时,它根本不起作用。这是我得到的最好的。Image 2

纹理也好像不太对,都是这些,但我不明白即使它们连接起来,它是如何实现闪亮的金属外观的?谢谢。 Image 3

这些材料看起来像这样,并且有很多重复的材料(超过 100 个) Image 4

任何指导将不胜感激。谢谢!

【问题讨论】:

  • 我有 code-sn-ps 来分析这个问题。您使用的是 Objective-C 还是 Swift 哪种语言?
  • 我正在使用 Swift。

标签: xcode scenekit arkit


【解决方案1】:

您需要了解如何将材质应用于 3D 对象。 .obj 文件上不会应用材质,但会有图像文件,然后将在 3D 对象周围进行 UV 映射。你刚刚添加到物体上的漫反射图像,简单来说就是材质表面的颜色。可以在3D物体上应用不同的组件,如镜面反射、法线、遮挡等。当然只是应用漫反射组件不会给你足够好的结果。

这个 Unity 文档让我了解了这些组件中的每一个是什么以及它们在应用于对象时的作用。 https://docs.unity3d.com/Manual/StandardShaderMaterialParameters.html

这与我们在 SceneKit 中使用的非常相似,您应该能够了解如何将地图应用于您的 3D 模型。

基本上,当您将地图正确应用到 3D 模型时会发生以下情况:

您可能想要研究的另一件事是 PBR(基于物理的渲染) 根据您购买的 3D 模型,也许您会发现这很有帮助。 https://developer.apple.com/videos/play/wwdc2016/609/ 这个 WWDC 视频应该让您了解 PBR 的工作原理。 另外,https://medium.com/@avihay/amazing-physically-based-rendering-using-the-new-ios-10-scenekit-2489e43f7021

【讨论】:

  • 感谢您的回答!我会调查的。您提到的 Unity 文档在哪里?
  • 对不起,我的错。更新了答案。
  • 感谢更新!我会调查的!
猜你喜欢
  • 2016-02-29
  • 2021-02-08
  • 2018-03-13
  • 2017-02-23
  • 2023-03-27
  • 2018-11-05
  • 1970-01-01
  • 2017-11-19
  • 1970-01-01
相关资源
最近更新 更多