In meinem Libgdx Spiel habe ich Wegpunkte (ModelInstance) und ich muss wissen, die Entfernung zwischen ihnen. Ich versuchte Transform.getTranslation (neue Vector3) zu verwenden, aber es gibt die Übersetzung des Modells zurück. Ich habe keine Methoden gefunden, um die globale Position des Modells zu erhalten.So finden Sie Abstand zwischen zwei Objekten in libgdx
2
A
Antwort
0
den Abstand zu bekommen zwischen zwei Vektoren, die die dst Methode verwenden:
public float dst(Vector3 vector)
Specified by:
dst in interface Vector<Vector3>
Parameters:
vector - The other vector
Returns:
the distance between this and the other vector
Der beste Weg, um Ihr Modell zu verfolgen, ist ein Wrapper erstellen, die Ihre Objektposition (Vector3) und Rotation speichert (Quaternion) und in diesem Wrapper stellen Sie die Modellposition auf dem render-Methode, so etwas wie diese:
public abstract class ModelWrapper{
private ModelInstance model;
private Vector3 position;
private Quaternion rotation;
public ModelWrapper(ModelInstance model,Vector3 position,Quaternion rotation) {
this.model = model;
this.position = position;
this.rotation = rotation;
}
public ModelInstance getModel() {
return model;
}
public void setModel(ModelInstance model) {
this.model = model;
}
public Vector3 getPosition() {
return position;
}
public void setPosition(Vector3 position) {
this.position = position;
}
public Quaternion getRotation() {
return rotation;
}
public void setRotation(Quaternion rotation) {
this.rotation = rotation;
}
public void render(ModelBatch modelBatch, Environment environment) {
this.model.transform.set(this.position,this.rotation);
modelBatch.render(model, environment);
}
}
1
Ihr Spiel in 2D oder in 3D-Raum? Wenn in 2D, dann können wir einfach den Satz des Pythagoras verwenden und unsere eigene Methode schreiben:
double distance(Vector2 object1, Vector2 object2){
return Math.sqrt(Math.pow((object2.x - object1.x), 2) + Math.pow((object2.y - object1.y), 2));
}
+0
Genau das, was ich brauche, danke! – ROSA
Verwandte Themen
- 1. So entfernen Sie den Abstand zwischen zwei Abschnitten in Bootstrap
- 2. So ermitteln Sie den Abstand zwischen zwei Körpern in Bearbeitung
- 3. Finden Sie den Abstand zwischen zwei aufeinanderfolgenden Bounding-Boxen?
- 4. Finden Sie den Abstand zwischen zwei DIVs mit jQuery?
- 5. Finden Sie den Abstand jedes Paares zwischen zwei Vektoren
- 6. So steuern Sie den Abstand zwischen zwei Labels zur Laufzeit
- 7. So minimieren Sie den Abstand (Höhe) zwischen zwei Alpaka-Komponenten
- 8. Finden Sie den Unterschied zwischen Objekten Tasten
- 9. Geometrie: finden Punkt einen bestimmten Abstand zwischen zwei Punkten
- 10. Entfernung zwischen zwei Objekten in Vuforia
- 11. Edit Abstand zwischen zwei Graphen
- 12. Berechnen Sie den Abstand zwischen zwei Koordinaten in einem Koordinatensystem
- 13. Linux-Ausgabe - Finden Sie Zahlen zwischen zwei/
- 14. Python, Abstand zwischen zwei Punkten Typ Problem
- 15. Java: Abstand zwischen zwei Punkten immer Null
- 16. Berechnen Sie den Abstand zwischen zwei Punkten in Java
- 17. Passen Sie den Abstand nur zwischen zwei Unterplots in Matplotlib
- 18. So finden Sie Verkäufe pro Stunde zwischen zwei Datum
- 19. mysql Hamming Abstand zwischen zwei phash
- 20. wie Abstand zu finden zwischen aufeinanderfolgenden Punkten
- 21. Einen Abstand zwischen zwei Klassen setzen
- 22. Normalisierter Abstand zwischen zwei Punkten - MATLAB
- 23. So vergrößern Sie den Abstand zwischen Absätzen in einer Textansicht
- 24. Unterschied zwischen zwei time.Time-Objekten
- 25. Berechnen Sie den Abstand zwischen zwei Punkten (C++ zu Java)
- 26. Google Cardboard So ändern Sie den Abstand zwischen den Augen
- 27. So finden Sie den Abstand zwischen Zeilen und Spalten in c
- 28. Wörterbuch Vergleich zwischen zwei Objekten
- 29. Euklidischer Abstand zwischen zwei Vektoren (einreihige Matrix)
- 30. Den euklidischen Abstand zwischen Koordinaten in Python finden
Danke, sieht gut aus, es wird mir wirklich helfen. Und wie bekommt man die Position des Modells im globalen Raum? – Mike
Ihre ModelWrapper-Instanz .getPosition() – Hllink