我正在使用 SceneKit 为 Swift iOS 应用程序创建一个 3D 房间。
我使用多个盒子并将它们放在一起以创建房间的不同墙壁。我还想在房间中添加门窗,我需要在墙壁上开孔。这看起来是一个非常常见的场景,但我找不到任何相关的答案。
我知道有多种方法可以做到这一点——
-
最简单的存在,不要切盒子。放置另一个带有门或墙壁纹理的盒子。
- 但我确实想在房间外放一个光源,并希望它通过这些门窗流入房间。
-
为单面墙创建多个框并将它们放在一起以形成几何图形
- 也许是我最后的手段。
-
创建自定义几何图形。
- 感觉太复杂了,因为它需要我自己画每个三角形。不确定?
但我真正期待的是——
- 从几何中
- 减去几何 ?
- 已经在处理这些复杂性的图书馆?
任何指针都会非常有帮助。
谢谢。
场景套件提供了一些令人敬畏的潜力,但它不能替代3D建模程序。如果您想要的东西不仅仅是在平面中使用基元和拉伸进行组装,则应考虑在专用的 3-D 包中构建模型,并将模型作为 .dae 文件导出到 SceneKit 中。你可以看看Blender。它是免费的,在网上很容易获得。我怀疑它可以很容易地做你想做的事,学习曲线将通过图形程序与编码的更高级别的功能来补偿。
我认为@bpedit描述了最好的方法。
弱的第二选择是使用 SCNShape 来构建几何图形。这仍然会给您构建与您的墙壁布局/拓扑相匹配的贝塞尔路径留下问题。这在短期内可能是一个有用的技巧,可以让您免于建模软件的即时学习曲线。但我预测你最终仍然会转向像Blender,SketchUp,Cheetah 3D或Maya这样的工具。