scnBox 中间有 scnTube

scnBox with scnTube through the middle

我一直在努力寻找一种方法来展示各种游戏板。

它基本上是一个中间有一个圆孔的方形板,我可以渲染 scnBox 和 scnTube,但我希望 scnTube 位于盒子中的区域是透明的并且看透游戏板,但似乎找不到任何有例子的地方。任何帮助将非常感激。我希望我只是遗漏了一些非常简单的东西,但这是我第一次使用场景工具包。

谢谢。

在 Unreal Engine 4 之前,(UDK 和之前)Epic 的建模 space 是减法 - 填充块是您的游戏世界及其范围。你从这个方块内部取出块来为玩家创造 space,让他们 运行 进入并互相射击。爱情是公平的 war.

我告诉你这个是因为它是一个很好的例子,说明如何将人为的 3D 建模与现实世界的场景进行比较,并且应该(希望)让你有足够的不安来消化接下来的内容。

这种从有限块中切出的方法仍在 Unreal Engine 4 中并且很受老用户欢迎,但它现在默认为一个开放的无限世界,可以在其中添加东西。大多数新用户倾向于wards 构建一个无限的space 虚无,而不是从一个坚实的有限块中雕刻space。

关于 3D 建模的一切都是虚拟的,几乎不可能与现实世界相关联。与其考虑如果对象是真实的和字面上的东西如何完成,您需要考虑大多数 3D 建模和游戏引擎中使用的几何定义的局限性(而且有很多局限性)。

这种心理体操的编程等价物是从 类 和对象的概念到它们在语言和框架中的现实。一方面,想法和理想是美好的,另一方面,现实的惨淡提醒人们,编程语言并没有真正取得太大的进步。

3D建模就是这样。它并没有比几十年前走得更远,而且仍在使用陈旧的方法来解决许多最初的问题。

在立方体上切割一个漂亮、干净、高效的圆孔就是这样一个原始问题。

一个非常简单的形状正在被一个具有无限复杂性潜力的形状相交和切割。应该发生什么?是简单变复杂,还是复杂变简单?如何在两者之间做出最优雅的过渡?

这就是您面临的问题:立方体是一种简单的几何形状,很容易由最少的线段定义。圆柱体引入了围绕其圆周进行线分割的无限可能性。

因此,沿着开发路线的某个地方,3D 建模的架构师必须想出一种方法,使这些对比鲜明的线条复杂性能够很好地协同工作,以便在有限的硬 ware 上进行轻量级演示。在大多数情况下,他们的解决方案是用户可操作性的混合体和灾难,但其几何效率高超:多边形建模、UVW 展开和细分!

所有这些都意味着,如果您想使用当今的工具以最佳方式实现这一点,为了 Scene Kit 的目的,我建议在 Maya 中对这个板进行多边形建模,原因有 4 个。

  1. 它有 30 天的免费试用期。
  2. 适用于 Mac
  3. 它的多边形建模工具仅次于 3ds Max
  4. 它比 MODO 更容易学习(对于一个完全的新手),而且比 Blender 更容易学习。

如果您已经精通多边形建模,MODO 会很有趣,但如果您之前没有经验,我建议您首先使用其他任何东西,那么它会非常混乱。除了搅拌机。 Blender 是免费的,但不要被诱惑。与购买所有其他专业 3D 应用程序相比,它会花费您更多的学习时间。

在 MODO 的支持下,以及我提到它的原因,它确实可以很好地导出 Scene Kit。我知道这是事实,但我还不确定 Maya 为 Scene Kit 导出的效果如何。

您将要遇到的下一个问题是什么。并非所有 COLLADA 文件生而平等。

新 Maya 确实有 Unity 和 Unreal 导出预设,所以我认为可以校准其 COLLADA 导出以完美匹配 Scene Kit 的需求,只是还没有必要这样做。这将(很可能)涉及反复试验以获得正确的设置。如果 Apple 能准确地告诉我们如何为 Scene Kit 配置从所有主要 3D 应用程序的导出,那就太好了,但他们给了我们半生不熟的模型 I/O,这样我们就可以将导入艺术品的工作量加倍。

抛开所有上下文(这主要是为了证明 3D 并不比使用 IDE 和 Xcode 和 Cocoa 等框架更简单或更精致),这是重点和土豆:

关于什么是打洞的最佳方法的一个方面的视频,开始时使用立方体和圆柱体:

https://www.youtube.com/watch?v=zaEv5rio8bk

但它确实假定一定程度的 Maya 熟悉度,您可以从对其他两种在立方体中打洞的方法的相当缓慢而繁琐的检查中获得一些知识:

https://www.youtube.com/watch?v=lvMfoH5Ikrc

是的,如果您数一数,那就是打洞的 3 种方法。实际上是四个,因为第一个视频以布尔运算开始,您可能一直期望 could/should 是如何完成的。在某个平行的未来,我们将拥有运行良好的布尔几何运算。我们还没有。

希望同样的平行未来会为我们提供一种编程语言、框架和术语,这些语言、框架和术语不会混淆,并且会保留足够长的隐喻,使教学变得容易,使用起来优雅而简单。

我不知道这么长的答案,但这可以通过布尔减法来实现。您创建一个立方体和一个圆柱体。您从立方体中减去圆柱体。在 3ds Max 中,这是在复合对象-修改器-布尔减法下。我想 Maya 在菜单的某个地方有一个类似的功能。