【问题标题】:Joining nodes in SceneKit在 SceneKit 中加入节点
【发布时间】:2015-06-20 01:13:47
【问题描述】:

如何将 SceneKit 模型中的节点连接在一起,以便对该节点之一的位置或大小的任何修改都会影响其他节点的位置(以及可选的大小)?例如,使用http://www.raywenderlich.com/83748/beginning-scene-kit-tutorial 的精彩教程,我已经建立了甲烷分子的模型。如果我以编程方式更改模型中心碳原子的半径,我需要自动更改四个氢原子的位置。

谢谢。

【问题讨论】:

    标签: ios scenekit


    【解决方案1】:

    您可以将所有 atom 节点分组到一个公共 molecule 节点下(该节点没有任何几何形状,只有子节点)。当您移动或缩放分子时,效果将应用于每个原子。

    【讨论】:

    • [分子扁平克隆];将所有子节点扁平化为一个节点。 ;-)
    • 这不是一个好主意。原子可以共享相同的几何数据(它们都是具有相同细分参数的球体),这很棒。通过展平节点,您可以创建具有大量顶点的巨大几何体。
    • 顶点数不增加。 FlattenedClone 将使您无法在单个子对象之间移动,并且只为一个克隆存储内存,从而通过减少指针的数量一起使用更少的内存。
    • 顶点数急剧增加。因为新几何体是由扁平节点树中的所有其他几何体组成的,并且它们的顶点必须根据其节点的变换移动,所以它们不能被重用。因此,如果一个球体有 N 个顶点,并且您将一个具有 M 个球体的节点树展平,那么您最终会得到一个由 N*M 个顶点组成的几何体。
    猜你喜欢
    • 2015-07-10
    • 1970-01-01
    • 2016-12-02
    • 1970-01-01
    • 2017-02-07
    • 2016-06-16
    • 2021-05-19
    • 2021-10-11
    • 2018-12-17
    相关资源
    最近更新 更多