Я создаю приложение для настольных игр, используя 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);
К сожалению, это работает только , пока я перетаскиваю объекты и игнорирую их, когда они на самом деле размещены.
Поскольку я студент, яхотя в значительной степени нубский программистУ кого-нибудь есть идея?