Grüß euch
Wieder mal seit langen eine Frage meinerseits. Seid ich für die Uni ein Spiel für Android programmieren muss, habe ich wieder etwas Lust auf Spieleentwicklung bekommen. Und zwar versuche ich zurzeit ein kleines 3d Spiel zu entwickeln, welches ähnlich diesem Spiel hier ausschauen soll: store.steampowered.com/app/569480/Kingdoms_and_Castles/
Bin relativ neu in der 3d Welt und habe gerade Schwierigkeiten folgendes abzubilden:
Ich habe eine PerspectiveCamera definiert, welche die position 100, 200, 100 besitzt. Somit wird die "Karte" rotiert angezeigt. Nun soll sich die Kamera aufgrund von einer Touchbewegung bewegen. Soweit so gut - und es funktioniert sogar ein wenig. Schaut wie folgt aus (Bild: example1):
Die Bewegung folgt nun "leider" auf den Axen (x und z), was bei einer 0 Rotation korrekt wäre, aber leider nicht bei der aktuellen rotation. Das Objekt befindet sich somit bei einer Bewegung von rechts nach links rechtsunten (example2), welches sich aber rechts mittig befinden soll (example3):
Mein Code ist folgender:
Alles anzeigen
Beim Code wird quasi nur x und y verschoben, welches aber bei einer Rotation eben nicht korrekt ist. Ich krieg zwar von der Camera diverse Rotations vektoren, kann aber mit diesem leider nicht viel anfgangen. Hat da jemand von euch Ideen oder ähnliches schon gemacht? Da sowas ja "quasi" jedes Framework ähnlich behandel muss dachte ich mir ich frag mal euch.
Danke
Rodrog
Wieder mal seit langen eine Frage meinerseits. Seid ich für die Uni ein Spiel für Android programmieren muss, habe ich wieder etwas Lust auf Spieleentwicklung bekommen. Und zwar versuche ich zurzeit ein kleines 3d Spiel zu entwickeln, welches ähnlich diesem Spiel hier ausschauen soll: store.steampowered.com/app/569480/Kingdoms_and_Castles/
Bin relativ neu in der 3d Welt und habe gerade Schwierigkeiten folgendes abzubilden:
Ich habe eine PerspectiveCamera definiert, welche die position 100, 200, 100 besitzt. Somit wird die "Karte" rotiert angezeigt. Nun soll sich die Kamera aufgrund von einer Touchbewegung bewegen. Soweit so gut - und es funktioniert sogar ein wenig. Schaut wie folgt aus (Bild: example1):
Die Bewegung folgt nun "leider" auf den Axen (x und z), was bei einer 0 Rotation korrekt wäre, aber leider nicht bei der aktuellen rotation. Das Objekt befindet sich somit bei einer Bewegung von rechts nach links rechtsunten (example2), welches sich aber rechts mittig befinden soll (example3):
Mein Code ist folgender:
Java-Quellcode
- // camera init
- camera = new PerspectiveCamera(67, Gdx.graphics.getWidth(), Gdx.graphics.getHeight());
- camera.position.set(100f, 200f, 100f);
- camera.lookAt(0, 0, 0);
- camera.near = 1f;
- camera.far = 3000f;
- camera.update();
- // moving
- float d = Gdx.graphics.getDeltaTime();
- float dX = (float) (screenX - dragX);
- float dY = (float) (screenY - dragY);
- dragX = screenX;
- dragY = screenY;
- Vector3 tmpV = new Vector3().add(-dX, 0, -dY).scl(d).scl(10);
Beim Code wird quasi nur x und y verschoben, welches aber bei einer Rotation eben nicht korrekt ist. Ich krieg zwar von der Camera diverse Rotations vektoren, kann aber mit diesem leider nicht viel anfgangen. Hat da jemand von euch Ideen oder ähnliches schon gemacht? Da sowas ja "quasi" jedes Framework ähnlich behandel muss dachte ich mir ich frag mal euch.
Danke
Rodrog
Je mehr Käse, desto mehr Löcher.
Je mehr Löcher, desto weniger Käse.
Ergo: Je mehr Käse, desto weniger Käse.
Je mehr Löcher, desto weniger Käse.
Ergo: Je mehr Käse, desto weniger Käse.