# jME2 und 3ds



## d3rbastl3r (11. Feb 2011)

Hallo leute,

habe mal ne frage bezüglich der 3D-Modelle und deren Texturen die man aus c4d in 3ds exportiert und dann in jME2 laden kann.

Also, im anhang findet man 2 gerenderte bilder in c4d "Earth.jpg und Raumschiff.jpg" 

Dann habe ich diese 2 Objekte in 3ds exportiert und in jME2 geladen "jME.jpg"
Hier tauchen bei mir 2 Probleme auf:
1. Die textur auf dem raumschiff sieht nicht wirklich prikelnd aus
2. Polygone werden durchsichtig
`-> 2.1 Das Raumschiff ist teilweise durchsichtig
`-> 2.2 Die Erde weist auf den ersten blick rechts und links render/texturfehler auf, aber wenn ich mit dem raumschiff mich näher an diese bewege sieht man dass da die halbe kugel fählt und die textur im inneren der kugel liegt.

Habt ihr da eine idee welche einstellungen ich machen muss damit das ganze vernunftig aussieht??
Falls ihr von mir quelltextsnipsel braucht von irgendwelchen einstellungen dann fragt, will jetzt nicht den ganzen quelltext hier posten da ich dort noch rumexperementiere und das ganze sieht noch total chaotisch aus


----------



## d3rbastl3r (11. Feb 2011)

habe mal ein video aufgenommen, vielleicht kann man sich hier mehr vorstellen welche probleme ich mit dem programm habe ^^

YouTube - jME2 MyBuggs.wmv


----------



## d3rbastl3r (11. Feb 2011)

ach ja, hat einer ne idee wie ich geschickt weltraumumgebung schaffen kann ?? ich meine quasi die sterne und so


----------



## Empire Phoenix (11. Feb 2011)

erstmal empfehle ich das jmonkeyengine.org forum ^^

Als zweites jme3 zu nehmen sofern das die Zielplatform hardware nicht übersteigt.
Ansonsten kann es sein das die erde relativ groß ist fürn float raum? un du dann zbuffer probleme hast?


----------



## d3rbastl3r (12. Feb 2011)

Empire Phoenix hat gesagt.:


> erstmal empfehle ich das jmonkeyengine.org forum ^^


Bin nicht so wortgewandt auf english xD



Empire Phoenix hat gesagt.:


> Als zweites jme3 zu nehmen sofern das die Zielplatform hardware nicht übersteigt.?


Hatte ich am anfang auch vor, leider gibt es dafür nur wenig beispiele (im vergleich zu jME2) und jetzt reicht meine zeit nicht mehr aus um mich noch in jME3 einzuarbeiten, nur noch knapp über ner woche bis zur abgabe meiner hausarbeit 



Empire Phoenix hat gesagt.:


> Ansonsten kann es sein das die erde relativ groß ist fürn float raum? un du dann zbuffer probleme hast?


Ja, die erde ist richtig groß, aber da kenn ich mich in dem bereich noch garnicht aus (ich meine 3d programmierung und so), mein Raumschiff ist aber nciht so groß, trotzdem sind da auch ca 30% der polygone durchsichtig *kopfkratz*

Soll ich die erde kleiner machen oder gibts da ne andere möglichkeit ??


----------



## d3rbastl3r (12. Feb 2011)

Hmm, habe ein weiteres Problem ... vielleicht kann mir da einer helfen

Und zwar möchte ich die ausrichtung des Raumschiffes rausfinden um daraus die beschleunigungsrichtung/beschleunigungsvektor zu bestimmen, leider komme ich nicht drauf wie.


```
// Mein objekt ist objNode
Vector3f richtung = objNode.getLocalRotation().inverse().mult(new Vector3f(0.0f, 0.0f, 1.0f));
```
Dies habe ich durch google gefunden, funktioniert aber auch nicht wirklich (glaub ich)
Hat da einer eine idee ??


----------



## Empire Phoenix (12. Feb 2011)

Die logik ist aber im wensentlichen richtig dazu, ein quaterionen verscheibt jeden eingbenen vector entsprechend. Leide weiß ich nciht genau wie das in jme2 ist, bei den vecmath klassen brache ich das inverse nicht zb.


```
public static void getForward(Quat4d quat, Vector3d out) {
		out.set(0, 0, 1);
		multLocal(quat, out);
	}
```

Wenn die polygone durchichtig sind kann das entweder nen fehler das loaders sein, glabue ich aber nicht, oder die normals stimmen nicht.


----------



## d3rbastl3r (13. Feb 2011)

hmm, ok, vielleicht habe ich allgemein einen denkfehler ^^

Was ich vor habe ist es einen Raumschiff zum fliegen zu bringen, dazu verwende ich einen Vector3f um die geschwindigkeit in eine bestimmte richtung zu speichern.
Beim beschleunigen soll dann die ausrichtung des Raumschiffes berücksichtigt werden.
Beim jedem frame wird dann die Position des Raumschiffes um diesen geschwindigkeitsvector verändert, da die Position auch in einem Vector3f gespeichert wird brauche ich diese dann nur noch zu addieren.

Und jetzt habe ich blöderweise das Problem dass ich nicht drauf komme wie ich aus der Ausrichtung des Raumschiffes "Quaternion" den neuen geschwindigkeitsvector berechnen soll.

In dem oben geposteten Video ist ein geradeaus flug sichtbar, dieser wird z.B.: folgendermaßen durchgeführt:

```
// Das Raumschiff
protected Node objNode;

// Bewegungsvektor und Bewegungstempo
protected Vector3f movement = new Vector3f(0.0f, 0.0f, 0.0f);

// Beim drücken der Beschleunigungstaste
this.movement = this.movement.add(new Vector3f(0.0f, 0.0f, 0.01f));

// Bei aktualisierung bzw. bei jedem Frame
super.objNode.setLocalTranslation(this.movement.add(super.objNode.getLocalTranslation()));
```

Sieht jemand wie ich das Problem lösen könnte ^^?


----------



## d3rbastl3r (13. Feb 2011)

Die Frage mit der Raumschiffbewegung hat sich erledigt


```
Vector3f richtung = objNode.getLocalRotation().inverse().mult(new Vector3f(1.0f, 0.0f, 0.0f));
```
Der Code war schon richtig, das einzige problem war dass man das ganze auf den ersten blick nicht erkennen konnte (rein von den zahlenergebnissen her) weil diese durch die startausrichtung des raumschioffs versetzt waren.


----------



## d3rbastl3r (15. Feb 2011)

So, ich habe noch ein problem was ich nciht verstehe xD

Einige objekte werden erst hinter anderen gerendert obwohl sie weiter vorne stehen

Im volgendem Beispielvideo ist die Raumstation vor der Erde, jedoch wird sie so angezeigt als ob sie dahinter währe, erst wenn man sich dieser nähert wird sie richtig angezeigt.
YouTube - jME-Bugg3.wmv

Weis da einer was es sein könnte ??


----------



## Empire Phoenix (16. Feb 2011)

Wieviele units hat der Palnet durchmesser?

(Btw wenns dich interessiert mal meine aktuelle bastellei, video ist elider schon etwas älter gibt aber noch kein neueres)
YouTube - ????? ???????????? EmpirePhoenix


----------



## d3rbastl3r (16. Feb 2011)

Empire Phoenix hat gesagt.:


> Wieviele units hat der Palnet durchmesser?


Ich weis es nicht, ist ein 3DS-Model was geladen und mit "MaxToJme()" konvertiert wird.
Wenn man genau darauf achtet, haben die Asteroiden in dem Umfeld genau das selbe problem, manche die weiter hinten sind kann man durch die asteroiden die sich weiter vorne befinden sehen.



Empire Phoenix hat gesagt.:


> (Btw wenns dich interessiert mal meine aktuelle bastellei, video ist elider schon etwas älter gibt aber noch kein neueres)
> YouTube - ????? ???????????? EmpirePhoenix


Könnte ich den quelltext von deinem Game haben xD??
Kann mir da vielleicht einpaar sachen abschauen ^^


----------



## d3rbastl3r (16. Feb 2011)

ach ja, alle meine objekte sind Node´s und nicht Spatial´s, vielleicht hats damit was zutun.

edit: ne, habe alle auf spatial umgeändert, jetzt schauts noch schlimmer aus xD


----------



## Empire Phoenix (16. Feb 2011)

Quellcode kann ich nicht herrausgeben, aber wenn du zu irgetwas speziellen fragen hast kann ich dir die beantworten.

Sind die Models alle im opaque bucket? Das könnte sonst die probleme erkären. Aber mit jme2 infos biste im forum wirklich besser dran, kannst ja notfalls auf deutsch und mit google translate untertitel posten, da dort auch relativ viele deutsch verstehen.


----------



## d3rbastl3r (16. Feb 2011)

was ist "opaque bucket" xD


----------



## Empire Phoenix (16. Feb 2011)

Das Bucket für alle objecte die nicht tranzparent.


----------



## d3rbastl3r (17. Feb 2011)

Empire Phoenix hat gesagt.:


> Das Bucket für alle objecte die nicht tranzparent.



Könntest du mir nen beispielcode geben wie ich das z.B.: auf Spatial anwende ???
Finde irgendwie grad nix.


----------



## Empire Phoenix (17. Feb 2011)

Tut mir leid, ich bin vor über einem Jahr auf JME3 gewechselt, und habe die meisten Sachen mit und von JME2 vergessen. Ich kann dir nur erneut empfehlen dich an das jmonkey forum z wenden, da ich nur sehr limitiert mit jme2 mich auskenne, besonders bei sowas wie dem Rendersystem.


----------



## d3rbastl3r (17. Feb 2011)

alles klar, danke ^^


----------

