【问题标题】:How to create a hole in the box in SceneKit?如何在 SceneKit 的框中创建一个洞?
【发布时间】:2016-06-04 18:41:56
【问题描述】:

我正在使用 SceneKit 为 Swift iOS 应用程序创建 3D 房间。

我正在使用多个盒子并将它们放在一起以创建房间的不同墙壁。我还想在需要在墙上开洞的房间中添加门窗。这看起来像一个非常常见的场景,但我找不到任何相关的答案。

我知道有多种方法可以做到 -

  1. 最简单的是,不要剪掉盒子。放置另一个带有门或墙壁纹理的盒子。

    • 但我确实想在房间外保留一个光源,并希望它通过这些门窗流入房间
  2. 为单面墙创建多个盒子并将它们组合在一起以制作几何图形

    • 也许是我最后的手段。
  3. 创建自定义几何体。

    • 感觉太复杂了,因为它需要我自己绘制每个三角形。不确定?

但我真正期待的是 -

  1. 从几何中减去几何?
  2. 已经在处理这些复杂性的库?

任何指针都会非常有帮助。

谢谢。

【问题讨论】:

    标签: ios graphics 3d scenekit


    【解决方案1】:

    场景套件提供了一些惊人的潜力,但它不能替代 3D 建模程序。如果您想要的不仅仅是在平面中使用基元进行组装和挤压,您应该考虑在专用的 3-D 包中构建模型并将模型作为 .dae 文件导出到 SceneKit。你可以看看 Blender。它是免费的,并且在网上很容易获得。我怀疑它可以很容易地做你想做的事,并且学习曲线将通过图形程序的高级功能而不是编码来补偿。

    【讨论】:

      【解决方案2】:

      我认为@bpedit 描述了最好的方法。

      较弱的第二选择是使用 SCNShape 来构建您的几何体。这仍然给您留下了构建与您的墙壁布局/拓扑相匹配的贝塞尔路径的问题。这在短期内可能是一个有用的技巧,可以帮助您避免立即学习建模软件。但我预测您最终仍会转向使用 Blender、SketchUp、Cheetah 3D 或 Maya 等工具。

      【讨论】:

        猜你喜欢
        • 2018-06-08
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-07-04
        • 1970-01-01
        • 1970-01-01
        • 2015-01-29
        相关资源
        最近更新 更多