Textur laden auf ein eingelesenes 3D Objekt

Status
Nicht offen für weitere Antworten.
G

geeko

Gast
Hi zusammen,

hab ein 3D Model das ich gern mit ner Textur versehen würde, jedoch klappt das nicht so recht... =(

Das laden der. obj file mit dem Standard ObjectLoader von Java3D klappt, irgendwie kapier ich nur nicht wie ich die Textur drauf kriege.
Ist sicherlich ein ganz poliges Problem leider hab ich mit Java3D noch nicht sooo viel gemacht.

wäre scht nett wenn mir jemand weitehelfen könnte!!

gruß
geeko
 

merlin2

Top Contributor
Du fügst der Appearance des Objekts eine Textur folgendermaßen hinzu(wie jedem anderen Objekt):
Code:
//Zusätzlicher Import:
import com.sun.j3d.utils.image.*;
//...
app.setTexture((new TextureLoader("textur.jpg",null)).getTexture());
//...
Genaueres sollte in deinem Tutorial/Handbuch stehen.
 
G

geeko

Gast
Das beantwortet nicht ganz meine Frage ;)

Ich habe ja ein 3D Model eingeladen und erstelle ja keinen cube oder sowas dem ich die app mitgeben kann.
Oder is das bei scene Objekten auch irgendwie möglich?!!

Das 3D Model steckt in meinem scene Objekt das ich dann an ne TG hänge und wie kann ich dazwischen ne app mitgeben ?!

Steh aufm Schlauch... ;)

gruß
Geeko
 

merlin2

Top Contributor
Hab den folgenden Code aus einem Buch und da hat man eine Appearance...

Code:
import javax.vecmath.*;
import com.sun.j3d.utils.universe.*;
import javax.media.j3d.*;
import com.sun.j3d.utils.behaviors.vp.*;
import javax.swing.JFrame;
import com.sun.j3d.loaders.*;
import com.sun.j3d.loaders.objectfile.*;
import java.util.Hashtable;



/**
* Beispiel fuer das Laden eines geometrischen Objekts, das nicht angezeigt
* wird. Es wird nur ein Teilobjekt aus dem geladenen Objekt dargestellt.
*
* @author Frank Klawonn
* Letzte Aenderung 07.07.2005
*/
public class Extract3DExample extends JFrame
{

  //Der Canvas, auf den gezeichnet wird.
  public Canvas3D myCanvas3D;


  public Extract3DExample()
  {

    //Mechanismus zum Schliessen des Fensters und beenden des Programms
    this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);


    //Standardeinstellung fuer das Betrachteruniversum
    myCanvas3D = new Canvas3D(SimpleUniverse.getPreferredConfiguration());


    //Aufbau des SimpleUniverse:
    //Zuerst Erzeugen zusammen mit dem Canvas
    SimpleUniverse simpUniv = new SimpleUniverse(myCanvas3D);


    //Standardpositionierung des Betrachters
    simpUniv.getViewingPlatform().setNominalViewingTransform();


    //Die Szene wird in dieser Methode erzeugt.
    createSceneGraph(simpUniv);


    //Hinzufuegen von Licht
    addLight(simpUniv);


    //Hierdurch kann man mit der Maus den Betrachterstandpunkt veraendern
    OrbitBehavior ob = new OrbitBehavior(myCanvas3D);
    ob.setSchedulingBounds(new BoundingSphere(new Point3d(0.0,0.0,0.0),Double.MAX_VALUE));
    simpUniv.getViewingPlatform().setViewPlatformBehavior(ob);


    //Darstellung des Canvas/Fensters:
    setTitle("Ein aus einer Datei geladenes Objekt");
    setSize(700,700);
    getContentPane().add("Center", myCanvas3D);
    setVisible(true);


  }




  public static void main(String[] args)
  {
     Extract3DExample e3de = new Extract3DExample();
  }





  //In dieser Methode werden die Objekte der Szene aufgebaut und dem
  //SimpleUniverse su hinzugefuegt.
  public void createSceneGraph(SimpleUniverse su)
  {



    //Laden einer obj-Datei:
    ObjectFile f = new ObjectFile(ObjectFile.RESIZE);
    Scene s = null;

    try
    {
      s = f.load("schiff.obj");
    }
    catch (Exception e)
    {
      System.out.println("File loading failed:" + e);
    }














    //Auswaehlen des Teilobjekts
    Hashtable namedObjects = s.getNamedObjects();
    Shape3D partOfTheObject = (Shape3D) namedObjects.get("schiffsrumpf");

    //Erstellen einer Kopie des ausgewaehlten Teilobjekts
    Shape3D extractedObject = (Shape3D) partOfTheObject.cloneTree();

    //Einfaerben des Teilobjekts in Blau
    Appearance lightBlueApp = new Appearance();
    setToMyDefaultAppearance(lightBlueApp,new Color3f(0.0f,0.1f,0.3f));
    extractedObject.setAppearance(lightBlueApp);

    //Zuordnen des eingefaerbten Teilobjekts zu einer Transformationsgruppe
    Transform3D tfObject = new Transform3D();
    tfObject.rotZ(0.4*Math.PI);
    Transform3D xRotation = new Transform3D();
    xRotation.rotY(0.4*Math.PI);
    tfObject.mul(xRotation);
    TransformGroup tgObject = new TransformGroup(tfObject);

    tgObject.addChild(extractedObject);

    BranchGroup theScene = new BranchGroup();

    //Hinzufuegen der transformationsgruppe mit dem blauen Teilobjekt zur Szene
    theScene.addChild(tgObject);


    //Die folgenden drei Zeilen erzeugen einen weißen Hintergrund.
    Background bg = new Background(new Color3f(1.0f,1.0f,1.0f));
    BoundingSphere bounds = new BoundingSphere(new Point3d(0.0,0.0,0.0),Double.MAX_VALUE);
    bg.setApplicationBounds(bounds);
    theScene.addChild(bg);



    theScene.compile();

    //Hinzufuegen der Szene
    su.addBranchGraph(theScene);
  }


  /**
  * Erzeugt eine Standardoberflaechenstruktur in einer gewuenschten Farbe
  *
  * @param app      Die Appearance, mit der die Oberflaeche belegt werden soll
  * @param col      Die gewuenschte Farbe
  */
  public static void setToMyDefaultAppearance(Appearance app, Color3f col)
  {
    app.setMaterial(new Material(col,col,col,col,120.0f));
  }



  //Hier wird etwas Licht zu der Szene hinzugefuegt.
  public void addLight(SimpleUniverse su)
  {

    BranchGroup bgLight = new BranchGroup();

    BoundingSphere bounds = new BoundingSphere(new Point3d(0.0,0.0,0.0), 100.0);
    Color3f lightColour1 = new Color3f(1.0f,1.0f,1.0f);
    Vector3f lightDir1  = new Vector3f(-1.0f,0.0f,-0.5f);
    DirectionalLight light1 = new DirectionalLight(lightColour1, lightDir1);
    light1.setInfluencingBounds(bounds);

    bgLight.addChild(light1);
    su.addBranchGraph(bgLight);
  }



}
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
J Java3D - Textur laden geht nicht Spiele- und Multimedia-Programmierung 9
N Jogl Probleme mit dem Buffer beim laden einer Textur Spiele- und Multimedia-Programmierung 2
D TextureLoader - Textur von Url laden Spiele- und Multimedia-Programmierung 2
J Quadrat Textur lädt als Dreieck Spiele- und Multimedia-Programmierung 3
L Textur färben Spiele- und Multimedia-Programmierung 1
T [LWJGL] Textur / File wieder freigeben Spiele- und Multimedia-Programmierung 4
S [LWJGL] Zweimal selbe Textur trotz unterschiedlicher IDs Spiele- und Multimedia-Programmierung 3
R LWJGL: Textur -> unsichtbare Stellen, wie erzeugen? Spiele- und Multimedia-Programmierung 4
F LWJGL: Textur ändern mit GL11.readPixels Spiele- und Multimedia-Programmierung 5
A [LWJGL] BMP Textur wird nicht richtig dargestellt Spiele- und Multimedia-Programmierung 8
Creylon [LWJGL] Textur wird falsch angezeigt Spiele- und Multimedia-Programmierung 12
H Java3D - Textur aufs innere einer Sphere mappen Spiele- und Multimedia-Programmierung 9
S OpenGL Textur unsauber Spiele- und Multimedia-Programmierung 2
R OpenGL Textur mit verschiedenen bit depths Spiele- und Multimedia-Programmierung 6
A OpenGL Textur und nicht Textur Spiele- und Multimedia-Programmierung 2
T JMonkey Textur nicht ganz angezeigt Spiele- und Multimedia-Programmierung 3
X JOGL - Textur auf Quad verzerrt Spiele- und Multimedia-Programmierung 2
M Wavefront Object Loader zeigt nur eine Textur an. Spiele- und Multimedia-Programmierung 7
P Java3D Textur verzerrt Spiele- und Multimedia-Programmierung 3
F Kleine GL Texturen auf grosse GL Textur kopieren? Spiele- und Multimedia-Programmierung 24
D Jogl:Textur auf GLUquadric wird vertikal spiegelverkehrt dargestellt Spiele- und Multimedia-Programmierung 2
F 2D Textur auf dem Display 2x so groß wie angeben? Spiele- und Multimedia-Programmierung 4
radiac Stringtext mit BufferedImage Textur. Spiele- und Multimedia-Programmierung 6
E JPCT textur problem Spiele- und Multimedia-Programmierung 8
D Java3D Textur Problem Spiele- und Multimedia-Programmierung 9
G Textur in Java3D Spiele- und Multimedia-Programmierung 3
S KameraBild als Textur? Spiele- und Multimedia-Programmierung 4
E Textur-Problem Spiele- und Multimedia-Programmierung 2
A "Textur-Achse" drehen. Spiele- und Multimedia-Programmierung 2
G Textur auf Box jede Sekunde erneuern Spiele- und Multimedia-Programmierung 2
S Zylinder mit Textur erzeugt out of memory :( Spiele- und Multimedia-Programmierung 3
M Problem mit Textur Spiele- und Multimedia-Programmierung 4
J Java3D: Textur kacheln? Spiele- und Multimedia-Programmierung 2
S Bump Mapping (Relief-Textur) in Java3D Spiele- und Multimedia-Programmierung 3
N Textur - Koordinaten Spiele- und Multimedia-Programmierung 2
Hatsi09 Libvlc laden Spiele- und Multimedia-Programmierung 0
E TMX - Dateien in Java laden Spiele- und Multimedia-Programmierung 1
R Fehler beim Laden eines 2D-Bildes Spiele- und Multimedia-Programmierung 3
D JAVA Basiertes Spiel aus dem Internet in eigenem Client laden Spiele- und Multimedia-Programmierung 1
D [JOGL] bibliothek aus jar laden Spiele- und Multimedia-Programmierung 3
D Minecraft Config in andere Class laden/Minecraft Plugin Spiele- und Multimedia-Programmierung 1
R LWJGL: Object Loader -> .obj, .c4d, ... laden Spiele- und Multimedia-Programmierung 3
J Images laden in static Methode Spiele- und Multimedia-Programmierung 8
A Welche chunks im vorraus laden? Spiele- und Multimedia-Programmierung 9
CookieSoft Slick Texture laden Fehler Spiele- und Multimedia-Programmierung 6
A Speichern un Laden mit Serializable Spiele- und Multimedia-Programmierung 4
S Sounds abspielen, ohne sie jedesmal neu zu laden Spiele- und Multimedia-Programmierung 8
Gossi Probleme beim Laden der Images aus dem "Tutorial für Java-Spiele" Spiele- und Multimedia-Programmierung 4
D JOGL2 eigene mipmaps laden Spiele- und Multimedia-Programmierung 13
P .obj-Datei in Java3D laden: ParsingErrorException Spiele- und Multimedia-Programmierung 7
aze Problem beim Laden von Obj File Spiele- und Multimedia-Programmierung 3
B Teile eines Bildes laden - BitBlk und drawImage Spiele- und Multimedia-Programmierung 3
S Problem beim laden eines Bildes in einer Methode Spiele- und Multimedia-Programmierung 14
G Laden von 3D-Modellen Spiele- und Multimedia-Programmierung 3
S Image will nicht laden Spiele- und Multimedia-Programmierung 3
J Opengl Texture laden Null Pointer Exception Spiele- und Multimedia-Programmierung 6
H Bild von Webcam laden Spiele- und Multimedia-Programmierung 4
P Langsames laden der Maps, bitte testen Spiele- und Multimedia-Programmierung 14
M Directx Datei laden Spiele- und Multimedia-Programmierung 3
G Bilddatei laden Spiele- und Multimedia-Programmierung 4
M Seltsames Flackern bei Laden von Grafiken Spiele- und Multimedia-Programmierung 4
F Texturen laden? Spiele- und Multimedia-Programmierung 3
M Laden von Texturen nicht möglich Spiele- und Multimedia-Programmierung 11
T 3D-Objekte Laden Spiele- und Multimedia-Programmierung 3

Ähnliche Java Themen

Neue Themen


Oben