SceneKit:使子球体在半透明父球体中可见?

SceneKit: Make child sphere visible inside semi-transparent parent sphere?

在 SceneKit 中,假设您想将一个节点 Child 嵌入到一个半透明节点 Parent 中,这样 Parent 就像一个 "cage" 您可以透视并查看 Child。

具体来说,Parent是一个半径为2的SCNSphere,Child是一个半径为1的SCNSphere,是Parent的子节点。

子项不可见,因为它在父项中。将 Parent 的不透明度设置为 0.3 或半透明的东西也会影响 Child 的不透明度让你看到 Child 但现在 Child 不再是完全不透明的。

如何让 Child 完全不透明,但通过 Parent 仍然可见?

一个选项是将一个独立节点作为子节点,不再是父节点的子节点,而是手动计算使子节点 "inside" 父节点居中所需的位置。但这需要每次父节点移动时手动移动子节点,而当子节点已经是父节点的子节点时,此移动会自动发生。

有没有更好的方法?

您可以将父 material 透明度设置为 0.3,而不是更改节点不透明度。这不会被子节点继承。