Ich benutze vuforia mit Probe DominoesGriff berührt 3D-Objekt Dominoes Vuforia
Sagen Sie mir bitte, was domino ist> pickingTransform in
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;
}
}
I ersetzt domino> pickingTransform mit 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);
aber jetzt ist die Anwendung nicht erkennt Berührung auf 3d
Ich denke Domino-> PickingTransform ist ModelViewMatrix nach Rotation, oder?
meine app jede Drehung havent und ich brauche Berührungen im gleichen Zustand des Objekts