我正在使用 ARCore 和 Sceneform 构建棋盘游戏应用程序。我的 3D 模型需要捕捉到网格而不是放置在任何地方。想象一个棋盘。
我怎么做?
我复制了这些类TransformableNode
并TranslationController
对其进行了修改。在TranslationController
中,坐标使用 设置在变量desiredLocalPosition
中Vector3
。
据我了解,我应该能够对坐标进行整数除法,以便我的对象只能跳跃特定距离。
this.desiredLocalPosition = new Vector3(pose.tx(), pose.ty(), pose.tz());
float X = (int) (pose.tx()/0.05f) * 0.05f;
float Y = pose.ty(); //i don't care about vertical
float Z = (int) (pose.tz()/0.05f) * 0.05f;
this.desiredLocalPosition.set(X,Y,Z);
可悲的是,这仅在我拖动对象时有效,而在它们实际放置时忽略它。
由于我是一名学生,因此我几乎是一个菜鸟程序员。有人有想法吗?