如何从特定模型中获取所有节点 (libgdx)
How to get all Nodes from a specific Model (libgdx)
我试图从我创建的球体中获取所有节点并使用了以下代码。
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);
}
我认为这应该 return 所有节点。
事实上,无论 Spheres 大小如何,nodes.size
都是“1”。
没错,Model#nodes
提供对(Array
个)根节点的直接访问。 ModelBuilder
仅创建根节点,因此在您的情况下,这将是模型的所有节点。 createSphere
方法总是创建一个节点,无论球体的大小(维度)如何(虽然我不确定为什么你认为这会相关?)
如果愿意,this tutorial 深入解释模型结构。
我试图从我创建的球体中获取所有节点并使用了以下代码。
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);
}
我认为这应该 return 所有节点。
事实上,无论 Spheres 大小如何,nodes.size
都是“1”。
没错,Model#nodes
提供对(Array
个)根节点的直接访问。 ModelBuilder
仅创建根节点,因此在您的情况下,这将是模型的所有节点。 createSphere
方法总是创建一个节点,无论球体的大小(维度)如何(虽然我不确定为什么你认为这会相关?)
如果愿意,this tutorial 深入解释模型结构。