[Java3D] Probleme mit KeyFrame Animationen

Maxim6394

Bekanntes Mitglied
Ich beschäftige mich jetzt schon ne weile mit verschiedenen tutorials zu java 3d, aber ich komme beim morphing einfach nicht klar. ich habs jetzt geschafft 2 meshes aus 3ds max zu importieren, eine standart kugel und eine deformierte kugel. beide werden korrekt angezeigt wenn ich sie einfach nur in den sceneGraph einfüge.
ich will jetzt aber eine keyframe animation, wo die eine kugel sich zu der anderen transformiert. ich hab die geometryarrays aus den 3ds dateien rausgeholt, beide haben die gleiche vertex anzahl. ich hab ein alpha objekt und ein morph objekt erzeugt. dazu noch das behavior, aber ich versteh nicht so richtig was ich genau machen soll.
hier der code:

Java:
	Shape3D[] frames;
	GeometryArray[] frameGeom;


Java:
	public void loadFrames(String dir)
	{
		String[] frameNames=new String[]{"testSphere02.3DS","testSphere01.3DS"};
		
		this.frames=new Shape3D[frameNames.length];
		int i=0;
		for(String s:frameNames)
		{
			FileWriter ofw=null;
			System.out.println("Loading: "+s);
			
			try{
				
				ModelLoader loader=new ModelLoader();
				loadedScene=loader.load(dir+s);
				if(loadedScene!=null)
				{
					frames[i]=(Shape3D)loadedScene.getSceneGroup().getChild(0).cloneNode(true);

					   Appearance app=new Appearance();
					  
						frames[i].setAppearance(createAppearance());
				
					
					  System.out.println(loadedScene.getSceneGroup().getChild(0));
					  i++;
				}
				
			}catch(Exception e){System.err.println(e);}
		}
	}
Java:
public void playAni()
	{
		
		TransformGroup tg=new TransformGroup();
		
		loadFrames("F:\\3d\\");
		
		frameGeom=new GeometryArray[frames.length];
		int i=0;
		for(Shape3D s:frames)
		{
			
			frameGeom[i]=(GeometryArray)frames[i].getGeometry();
			i++;
		}
		
		Morph morphObj=new Morph(frameGeom,createAppearance());
		morphObj.setCapability(Morph.ALLOW_WEIGHTS_WRITE);
		
		Alpha alpha = new Alpha(-1, 500);
		alpha.setIncreasingAlphaRampDuration(100);	
		morphBehavior morphBehav=new morphBehavior(morphObj,alpha);
	
		tg.addChild(morphObj);
		
		sceneBG.addChild(morphBehav);
		sceneBG.addChild(tg);
	}

Java:
public class morphBehavior extends Behavior
	{
		Morph targetMorph;
		Alpha alpha;
		 WakeupCondition trigger = new WakeupOnElapsedFrames(0);
	
		 
		 morphBehavior(Morph targetMorph, Alpha alpha)
		 {
				this.targetMorph=targetMorph;
				this.alpha=alpha;
				setSchedulingBounds(bounds);
		 }
		 
		public void initialize()
		{
		this.wakeupOn(trigger);
		}
		
		public void processStimulus(Enumeration e)
		{
		
			System.out.println("asdf");
			this.wakeupOn(trigger);
		}
	}

kann jemand helfen?

übrigens ist dabei im sceneGraph nur das ausgangsframe zu sehen(je nachdem welche 3ds datei ich zuerst lade), bewegung ist da keine.
 
Zuletzt bearbeitet:

Marco13

Top Contributor
Das Thema ist so speziell, dass vermutlich kaum jemand "durch draufschauen" die Lösung oder eventuelle Fehler erkennt. Wenn es dafür was leicht testbares gäbe (KSKB + Beispielmeshes) würde ich ggf. im Lauf der Woche mal genauer schauen, aber versprechen kann ich nichts...
 

Maxim6394

Bekanntes Mitglied
als meshes kann man 2 beliebige 3ds dateien nehmen, nur den namen da ändern. und das grundgerüst ist doch bestimmt bei jeder keyframe animation ähnlich, ich versteh nur nicht genau wie das aussehen soll.

edit:
ich bin jetzt bisschen weiter gekommen, die kugel wechselt jetzt im 2 sekunden takt ihre form, problem ist nur dass die polys wohl überhaupt nicht zusammenhängen.
so sieht das dann mitten in der animation aus.
nur im ausgangs und endframe ist das mesh wie er wartet ohne lücken.

edit: mein fehler, wird wohl am mesh gelegen haben. auf jeden fall kann ich nicht jedes frame als 3ds exporten, weis jemand mit welchem format man sowas in 3ds max macht und dann in java läd?
ich könnte ja vieleicht das fbx format verwenden, da sind auch animationen drin, nur hab ich nichtmal einen einzigen loader dafür gefunden.
 
Zuletzt bearbeitet:

Maxim6394

Bekanntes Mitglied
aber ich will nicht unbedingt für jeden frame in der animation eine obj datei exportieren. was wenn ich da par dutzend frames hab? gibts kein format wo die ganzen frames zusammengefügt werden in einer datei und dann von java ausgelesen werden können?
 

Marco13

Top Contributor
Moment - das Morphing ist für die Animation zwischen den Frames, und du suchst jetzt etwas, was mehrere Frames zusammenfasst?
 

Maxim6394

Bekanntes Mitglied
ich suche nach einer möglichkeit eine animation mit mehreren frames in einer einzigen datei zu haben, damit man die gesamte animation mit allen frames in java laden kann. ich weis dass zum beispiel das fbx format animationen aus 3ds max speichert, ich hab aber keinen loader dafür gefunden.
 
Zuletzt bearbeitet:

Marco13

Top Contributor
No offense, aber: Die Formulierung mit "in Java laden" und so klingt .. ein bißchen naiv ;) Du kannst jede beliebige Datei, die eine Animation in einem belieibigen Format enthält, "in Java laden". Du kannst schließlich jedes einzelne byte der Datei lesen, und damit machen, was du willst.
Es geht also um die Frage, ob irgendjemand schonmal ein paar hundert Stunden seiner Freizeit investiert hat, und aus Altruismus oder ähnlichen Gründen einen Loader für genau dieses Dateiformat geschrieben und der Welt kostenlos zur Verfügung gestellt hat.
Spontan kenne ich kein Format/Loader, das das leistet, aber das heißt nicht viel. Die Frage hast du aber nicht beantwortet. Im Zweifelsfall kannst du ja eine handvoll OBJ-Dateien in eine ZIP packen und die dann einzeln laden - ist aber ziemlich ineffizient in mehrerer Hinsicht...
 
V

vanny

Gast
Vielleicht ist der Ansatz auch nich der schönste.
Wenn du dein 3DObjekt morphen möchtest, geschiet das im 3D-Programm in der Regel per PLA(Point Level Animation).
Diese Daten sind für dich interressant um eben genau 1 Object im Programm zu haben und zu animieren.
Mit welchem Tool arbeitest du?
 

truesoul

Top Contributor
Hallo.

Ich weiß das 3D Objekte im .wrl (VRML) Format, Animationen enthalten kann ABER es gibt kein Loader der dies Unterstützt (in Java). Also heißt es, selber machen. Und jede "Animationsframe" einzel zu laden wird tatsächlich sehr ineffizient sein. Man kann aber alle Frames der Animation in einer Datei (z.B .wrl) packen. Dann dauert das laden des 3D Objects bissl länger aber dann hast du es einmal "drin" aber es ist und bleibt trotzdem ineffizient. Wie du damit umgehst ist dann deine Sache und zudem klingt es komisch:)
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
Maxim6394 [Java3D] Probleme bei Kollision Spiele- und Multimedia-Programmierung 7
G [Java3D] Probleme bei Animation Spiele- und Multimedia-Programmierung 4
C Probleme mit Java3D (sun.awt.DrawingSurface) in Java 5 Spiele- und Multimedia-Programmierung 10
N Java3d in Eclipse einbinden Spiele- und Multimedia-Programmierung 4
Neumi5694 Java3D Viewer Beschriftung Spiele- und Multimedia-Programmierung 1
C Java3D Transformieren von obj. Datein Spiele- und Multimedia-Programmierung 0
M Cylinder anhand eines Vektors ausrichten (Java3d) Spiele- und Multimedia-Programmierung 0
Ruvok Java3D Tutorial gesucht Spiele- und Multimedia-Programmierung 5
U Hilfe bei Implementierung eines PointSounds in Java3D Spiele- und Multimedia-Programmierung 1
R Java3d ViewingPlatform erst Verschieben und dann RotationsInterpolator Spiele- und Multimedia-Programmierung 0
D Java3D - Blickfeld Spiele- und Multimedia-Programmierung 1
P Java3D Box Dimensionen und Positionierung Spiele- und Multimedia-Programmierung 1
E Java3D Objekt skalieren per JSlider/JButton Spiele- und Multimedia-Programmierung 10
S Java3D: Primitives zu einem Objekt kombinieren Spiele- und Multimedia-Programmierung 7
J Java3D - Textur laden geht nicht Spiele- und Multimedia-Programmierung 9
J Java3D - Farben vermischen sich Spiele- und Multimedia-Programmierung 7
T Java3D Rendering Problem Spiele- und Multimedia-Programmierung 7
S Java3D oder JMonkey? Spiele- und Multimedia-Programmierung 17
H Java3D - Textur aufs innere einer Sphere mappen Spiele- und Multimedia-Programmierung 9
C java 3d ohne Java3d Spiele- und Multimedia-Programmierung 28
Maxim6394 [Java3D] lookAt Mausposition Spiele- und Multimedia-Programmierung 17
K Java3D als Applet ohne Installation von Java3d Spiele- und Multimedia-Programmierung 6
D Java3D Installation: package javax.media.j3d not found Spiele- und Multimedia-Programmierung 5
C Java3D Texture Mapping Spiele- und Multimedia-Programmierung 2
W Java3D: Kanten die hinter einem Objekt liegen werden gezeigt Spiele- und Multimedia-Programmierung 2
W Java3D: Farbe von Objekten stimmt nicht mit übergebenem RGB-Wert überein Spiele- und Multimedia-Programmierung 9
M Eigene Renderengine ohne Java3D,etc. Spiele- und Multimedia-Programmierung 19
C Java3D Sound spielt nur einen Sound ab. Spiele- und Multimedia-Programmierung 8
A JAVA3D TransformGroup <--> Group Problem Spiele- und Multimedia-Programmierung 3
M [Java3D] Animation von mehreren Objekten Spiele- und Multimedia-Programmierung 7
W Java3D: Eckkoordinaten einer Box herausfinden Spiele- und Multimedia-Programmierung 18
T Java3D: Objekte platzieren und entfernen? Spiele- und Multimedia-Programmierung 7
T Java3D: Nur die Kanten des Würfels rendern? Spiele- und Multimedia-Programmierung 4
W Java3D setBounds(BoundingBox) Spiele- und Multimedia-Programmierung 6
T [gelöst] Java3D: Unerwünschte Rotation um die 3.Achse vermeiden? Spiele- und Multimedia-Programmierung 3
Bastie JAVA3D - WRL Transform Spiele- und Multimedia-Programmierung 9
G Eclipse Problem mit Java3d Spiele- und Multimedia-Programmierung 3
T Java3D - Lichtquelle einbauen Spiele- und Multimedia-Programmierung 7
jemandzehage java3d parallel und perspective view Spiele- und Multimedia-Programmierung 5
H Cinema 4D in Java3D importieren Spiele- und Multimedia-Programmierung 2
1 [Java3D] komplexes Projekt? Spiele- und Multimedia-Programmierung 10
P .obj-Datei in Java3D laden: ParsingErrorException Spiele- und Multimedia-Programmierung 7
C Java3D Lichtquelle beim Beobachter Spiele- und Multimedia-Programmierung 2
C Java3D Interaktion während Animation Spiele- und Multimedia-Programmierung 3
aze Java3D: Flächen teilen Spiele- und Multimedia-Programmierung 15
P Java3D Textur verzerrt Spiele- und Multimedia-Programmierung 3
aze Java3D: Gegenstände aufeinander zubewegen ohne Kollision Spiele- und Multimedia-Programmierung 4
D [JAVA3D] Es werden 2 Fenster erzeugt und auf dem falschen gezeichnet Spiele- und Multimedia-Programmierung 3
aze Java3D: leere Räume füllen Spiele- und Multimedia-Programmierung 2
aze Java3d:Helligkeit von Shape3D ändern Spiele- und Multimedia-Programmierung 2
S Einschätzung zu Java3D-Einstieg Spiele- und Multimedia-Programmierung 3
F Programm mit Java3D unter Linux laufen lassen Spiele- und Multimedia-Programmierung 3
I Vergleich von Java3D und OpenGL Spiele- und Multimedia-Programmierung 17
W Waterslide mit Java3D Spiele- und Multimedia-Programmierung 11
M Java3D Picking - falsche Objekte werden gepickt Spiele- und Multimedia-Programmierung 3
M [Java3D] Rotieren der Scene NICHT des POV Spiele- und Multimedia-Programmierung 4
F Jogl oder Java3D ? Spiele- und Multimedia-Programmierung 20
K Java3D Abfängerfrage Spiele- und Multimedia-Programmierung 3
aze Java3D:Farbige Flächen verschwinden lassen(Transparenz- oder Colorinterpolator?)) Spiele- und Multimedia-Programmierung 5
C Java3D PositionInterpolator Spiele- und Multimedia-Programmierung 3
E [JAVA3D] Kamerasteuerung Spiele- und Multimedia-Programmierung 3
E [JAVA3D] Schattenstrich durch die Szene Spiele- und Multimedia-Programmierung 4
M Grundsätzliche Java3D Fragen Spiele- und Multimedia-Programmierung 2
C Java3D SceneGraohPath Spiele- und Multimedia-Programmierung 2
C Java3D Rotation um einen Punkt (y-achse) Spiele- und Multimedia-Programmierung 2
G Java3D plattformunabhängig bundeln Spiele- und Multimedia-Programmierung 3
TheKing Java3D-Shooter View Spiele- und Multimedia-Programmierung 2
A Java3D tutorial? Spiele- und Multimedia-Programmierung 3
R Java3D Kollisionserkennung und Schwerkraft Spiele- und Multimedia-Programmierung 17
M Java3D Objekte entfernen und hinzufügen Spiele- und Multimedia-Programmierung 10
J Java3d Schnelle Geschosse Spiele- und Multimedia-Programmierung 12
D Kann ich mit Java3D 2D Daten als 3D surfaceplot plotten? Spiele- und Multimedia-Programmierung 5
J Java3d setTextureTransform verändert J3DGraphics2D Spiele- und Multimedia-Programmierung 4
J Hilfe: Rotation X und Y Achse (Java3d) Spiele- und Multimedia-Programmierung 12
K Java3D: LineStripArray Spiele- und Multimedia-Programmierung 2
P Java3D - Zylinder genau wie Vektor ausrichten Spiele- und Multimedia-Programmierung 5
Developer_X Java3D Mensch Ärgere Dich nicht. Spiele- und Multimedia-Programmierung 10
C JAVA3D Rotation um einen bestimmten Punkt Spiele- und Multimedia-Programmierung 20
Developer_X Java3D-Ungeeignet für 3D Spiele wegen Heap Space=? Spiele- und Multimedia-Programmierung 23
Developer_X Java3D Canvas post Renderer und? Spiele- und Multimedia-Programmierung 5
A Java3D Sichtweite Spiele- und Multimedia-Programmierung 2
"Er" Kamera rotation in Java3D Spiele- und Multimedia-Programmierung 2
A Java3D: Behavior scheduling bounds Spiele- und Multimedia-Programmierung 3
Developer_X THE BALL (needs Java3D) Spiele- und Multimedia-Programmierung 34
Developer_X Java3D Game_(die erste) Spiele- und Multimedia-Programmierung 2
Developer_X Java3D und while schleifen Spiele- und Multimedia-Programmierung 4
Developer_X Collisionserkennung in Java3D Spiele- und Multimedia-Programmierung 3
Developer_X Java3D Node -> Obj Data Spiele- und Multimedia-Programmierung 2
Developer_X Figuren werden nicht angezeigt (Java3D) Spiele- und Multimedia-Programmierung 5
S PDFRenderer und Java3D Spiele- und Multimedia-Programmierung 2
Developer_X Java3D- der Mausklick auf Nodes Spiele- und Multimedia-Programmierung 3
Developer_X Java3D Point Sound Spiele- und Multimedia-Programmierung 71
Developer_X Lines in Java3D Spiele- und Multimedia-Programmierung 4
V Java3D: HUD erstellen Spiele- und Multimedia-Programmierung 2
V Java3D: scheinende Sonne Spiele- und Multimedia-Programmierung 4
V Java3D: Ringe für Saturn erstellen Spiele- und Multimedia-Programmierung 8
V Java3D: automatisches Bewegen der Kamera Spiele- und Multimedia-Programmierung 19
V Java3D: mehrere ViewingPlaforms in Sonnensystem Spiele- und Multimedia-Programmierung 8
Developer_X Thread in Java3D Spiele- und Multimedia-Programmierung 8
B Java3D .obj dateien Spiele- und Multimedia-Programmierung 2

Ähnliche Java Themen

Neue Themen


Oben