tôi sử dụng vuforia với Dominoes mẫutay cầm chạm vào đối tượng 3d Dominoes Vuforia
Nói cho tôi biết là xin gì domino-> pickingTransform trong
Vuforia::Vec3F intersection, lineStart, lineEnd;
projectScreenPointToPlane(Vuforia::Vec2F(touch1.tapX, touch1.tapY), Vuforia::Vec3F(0, 0, 0), Vuforia::Vec3F(0, 0, 1), intersection, lineStart, lineEnd);
Domino* domino;
Domino* selected = NULL;
float dist;
// For each domino, check for intersection with our picking line
for (int i = 0; i < dominoCount; i++) {
domino = &dominoArray[i];
bool intersection = checkIntersectionLine(domino->pickingTransform, lineStart, lineEnd);
if (intersection) {
selected = domino;
selectedDominoIndex = i;
break;
}
}
tôi thay domino-> pickingTransform với matrix44F (modelViewMatrix)
intersection = SampleMath.getPointToPlaneIntersection(
SampleMath.Matrix44FInverse(vuforiaAppSession.getProjectionMatrix()),
matrix44F, metrics.widthPixels, metrics.heightPixels,
new Vec2F(x, y), new Vec3F(0, 0, 0), new Vec3F(0, 0, 1));
lineStart = SampleMath.getPointToPlaneLineStart(
SampleMath.Matrix44FInverse(vuforiaAppSession.getProjectionMatrix()),
matrix44F, metrics.widthPixels, metrics.heightPixels,
new Vec2F(x, y), new Vec3F(0, 0, 0), new Vec3F(0, 0, 1));
lineEnd = SampleMath.getPointToPlaneLineEnd(
SampleMath.Matrix44FInverse(vuforiaAppSession.getProjectionMatrix()),
matrix44F, metrics.widthPixels, metrics.heightPixels,
new Vec2F(x, y), new Vec3F(0, 0, 0), new Vec3F(0, 0, 1));
boolean bool = checkIntersectionLine(matrix44F, lineStart, lineEnd);
nhưng hiện tại ứng dụng không phát hiện cảm ứng trên 3d
Tôi nghĩ rằng domino-> pickingTransform là modelViewMatrix sau khi quay, phải không?
ứng dụng của tôi havent bất kỳ luân chuyển và tôi cần phải phát hiện chạm trong cùng một trạng thái của đối tượng