如何从特定模型获取所有节点(libgdx)

时间:2015-12-19 12:23:26

标签: java arrays 3d libgdx

我试图从我创建的Sphere获取所有节点并使用以下代码。

private Array<Node> nodes;

    ModelBuilder modelBuilder = new ModelBuilder();
    Model model = modelBuilder.createSphere(10, 10, 10, 20, 20, new Material(ColorAttribute.createDiffuse(Color.RED)), Usage.Position | Usage.Normal);
    nodes = model.nodes;

    for (Iterator<Node> iterator = nodes.iterator(); iterator.hasNext();)
    {
        Node node = (Node) iterator.next();
        nodes.add(node);
    }

在我看来,这应该返回所有节点 实际上nodes.size是&#34; 1&#34;无论球体大小如何。

1 个答案:

答案 0 :(得分:0)

这是正确的,Model#nodes提供对(Array)根节点的直接访问。 ModelBuilder仅创建根节点,因此在您的情况下,将是模型的所有节点。 createSphere方法总是会创建一个节点,无论球体的大小(尺寸)如何(尽管我不确定为什么你认为它会相关?)

如果您愿意,this tutorial可以深入解释模型结构。