在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而不是改变节点的不透明度。这不会被子节点继承。