【发布时间】:2021-02-08 10:16:23
【问题描述】:
在 Scenekit 中我想做的是编辑 3d 模型(或场景)。
-
- 假设我有一个包含一张桌子的场景。
-
- 我知道桌腿的变形。
-
- 我只想剪掉腿。
-
- 我可以得到表格的顶点数组。
-
- 我过滤数组是否每个人的位置只为腿的位置。
-
- 然后我得到形成腿的顶点。
我的问题是,如何使用这些顶点制作新的 3d 模型。
有没有什么方法可以在不放置顶点索引的情况下轻松实现这一点,让它们连接在每个相邻的顶点上?
【问题讨论】:
在 Scenekit 中我想做的是编辑 3d 模型(或场景)。
我的问题是,如何使用这些顶点制作新的 3d 模型。
有没有什么方法可以在不放置顶点索引的情况下轻松实现这一点,让它们连接在每个相邻的顶点上?
【问题讨论】:
首先我应该说 SceneKit 不是像 3dsMax 或 Maya 那样的 3D 编辑工具。它是一个框架,可让您加载模型、播放动画、创建粒子系统、模拟物理、生成阴影和渲染着色器。
但是,Xcode 生态系统包含执行Constructive Solid Geometry Operations 的Model I/O 框架,例如union、intersection 和difference。差异操作是您正在寻找的。为此,您需要使用具有 difference(with:) 实例方法的 MDLVoxelArray 类。
func difference(with voxels: MDLVoxelArray)
所以,如果你想剪掉桌子的腿,就往这边走吧。
【讨论】: