gpt4 book ai didi

java - Sceneform ARCore 加载并构建随机 3D 资源

转载 作者:行者123 更新时间:2023-12-01 18:40:44 26 4
gpt4 key购买 nike

我有一种在 AR 环境中构建和生成 3D Assets 的方法。 3D 资源是存储在元数据文件夹中的 .sfb 文件。我的元数据文件夹中有多个 3D 资源,我希望在调用此函数时随机选择一个资源。这是我用于生成特定 Assets 的代码:

private void addCreatureToScene() {

ModelRenderable
.builder()
**.setSource(this, Uri.parse("20170219_Dragon_small.sfb"))**
.build()
.thenAccept(renderable -> {

Node node = new Node();
node.setRenderable(renderable);
scene.addChild(node);

Random random = new Random();
int x = random.nextInt(6);
int z = random.nextInt(6);
int y = random.nextInt(5);

z = -z;

node.setWorldPosition(new Vector3(
(float) x,
y / 10f,
(float) z
));
});
}

粗体的 .setSource 代码是引用特定 3D 资源的位置。有没有办法从元数据文件夹中随机选择 3D 资源?感谢您的帮助。

最佳答案

为了帮助您简化这个问题,您应该尝试将其分解为更小的目标。例如,您在这里尝试:

  1. 从文件夹中随机选择一个文件
  2. 将该对象放置在 AR 中

既然你已经有了第二步,即复杂的步骤,现在看看独立于它的第一步。您问的问题是选择一个随机文件名。

有多种方法可以实现这一目标。最简单的一种方法是,如果您已经知道所有这些文件名是什么,则可以创建这些名称的 java 列表,然后使用 java.util.Random 随机获取一个。更多信息请参见:https://www.geeksforgeeks.org/randomly-select-items-from-a-list-in-java/

否则,您将必须有一个功能来读取文件夹中的所有文件,然后随机选择这些文件。希望这会有所帮助。

关于java - Sceneform ARCore 加载并构建随机 3D 资源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59936441/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com