如何将对象随机放置在 Sceneform 平面上?

How to place objects on a Sceneform plane randomly?

我想使用 Sceneform 构建一个 AR 游戏,其中一个对象根据计时器放置在平面上(例如:每 1 秒放置一个对象)。我还希望它被放置在检测到的平面上的随机位置。

我只知道如何使用 HitTest 放置对象,但它只会将对象放置在用户点击的位置和时间。我希望放置由应用程序控制,因为这是一款游戏。

当您检测到平面时,您需要在平面的中心点(或随机位置)创建一个锚点。

DetectedPlane planeDetected = _newPlanes[0]
Anchor anchor = plane.CreateAnchor(plane.CenterPose);

之后,使用锚变换渲染环境中的对象。

我不是 Android 开发人员,我将 ARCore 与 Unity 结合使用,但我认为这将是相同的解决方案。