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

Posted

技术标签:

【中文标题】SceneKit:使子球体在半透明父球体内可见?【英文标题】:SceneKit: Make child sphere visible inside semi-transparent parent sphere? 【发布时间】:2016-12-23 12:21:46 【问题描述】:

在 SceneKit 中,假设您想在半透明节点 Parent 中嵌入一个节点 Child,这样 Parent 就像一个“笼子”,您可以看穿并查看 Child。

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

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

如何使 Child 完全不透明,但仍可通过 Parent 看到?

一种选择是将 Child 设置为独立节点,不再是 Parent 的子节点,而是手动计算将 Child“置于”Parent 中所需的位置。但这需要在每次 Parent 移动时手动移动 Child,而当 Child 已经是 Parent 的子节点时,这种移动会自动发生。

有更好的方法吗?

【问题讨论】:

【参考方案1】:

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

【讨论】:

以上是关于SceneKit:使子球体在半透明父球体内可见?的主要内容,如果未能解决你的问题,请参考以下文章

iOS在半透明view上面添加label导致label半透明

Swift SceneKit 也不是圆形球体

Scenekit 如何在地球/球体周围弯曲/扭曲/弯曲瓷砖

SceneKit 球体法线似乎随着相机移动而改变?

如何在半透明的 QWidget 上播放视频?

如何从3D对象中剪切掉一部分?