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



在SceneKit中,假设你想嵌入一个节点,子节点,在一个半透明的节点,父节点中,这样父节点就像一个"笼子",你可以看穿并查看子节点。

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

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

如何使子节点完全不透明,但仍然对父节点可见?

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

有更好的方法吗?

你可以设置父材质的透明度为0.3而不是改变节点的不透明度。这不会被子节点继承。

最新更新