Annonce

>>> Bienvenue sur codelab! >>> Première visite ? >>> quelques mots sur codelab //// une carte des membres//// (apéros) codelab


#1 2009-06-02 01:55:01 Importer un objet tridimensionnel

EricRG
membre
Lieu: Lorient
Date d'inscription: 2008-03-11
Messages: 171
Site web

Importer un objet tridimensionnel



Bonjour,

est-ce possible de récupérer un objet tridimensionnel fabriqué avec un logiciel x pour l'utiliser dans un programme processing ???

J'ai vu qu'il était possible d'exporter un objet au format dxf mais qu'en est-il de l'importation ?

Dans mon bouquin sur Processing, il est fait mention du format OBJ mais comment faire dans la pratique ?

De plus, il faudrait pouvoir appliquer des textures... Je me demande si on peut utiliser Processing pour ce genre de chose ???


J'étudie Godot Engine. Mon site internet est : https://ericrogergarcia.legtux.org/

Hors ligne

 

#2 2009-06-02 09:01:32 Re : Importer un objet tridimensionnel

XGouchet
membre
Date d'inscription: 2008-04-06
Messages: 22
Site web

Re: Importer un objet tridimensionnel



Tiens, un mec a fait un importeur .obj, qui prends en compte les textures : http://www.xs4all.nl/~elout/proce55ing/ … index.html

Apparement dans le setup il parse le fichier obj (fichier texte) et stock les valeurs dans un tableau, et dans le draw, il applique les valeurs (Faces/Vertex) avec une texture.


La vie serait plus facile si j'en avais le code source...
Projets Processing / Tribal-IP / Celtic-IP

Hors ligne

 

#3 2009-06-02 11:18:13 Re : Importer un objet tridimensionnel

emoc
@#@*$
Lieu: Quimper
Date d'inscription: 2008-01-28
Messages: 1576
Site web

Re: Importer un objet tridimensionnel

Hors ligne

 

#4 2012-02-14 06:39:04 Re : Importer un objet tridimensionnel

le singe vert
nouveau membre
Date d'inscription: 2012-02-14
Messages: 7
Site web

Re: Importer un objet tridimensionnel



Salut,

Je remonte le topic....Après avoir vaguement survolé processing, je m'y rattelle....à petit pas....

Voilà, je viens d'essayer la librairie de Saito (obj loader), et ça ne marche pas... J'ai un message d'erreur suivant :
The constructor OBJModel(obj_loader, String, String, int) is undefined

le code est le même que donner en exemple sur le site :

import saito.objloader.*;

// declare that we need a OBJModel and we'll be calling it "model"
OBJModel model;
float rotX;
float rotY;

// these booleans will be used to turn on and off bits of the OBJModel
boolean bTexture = true;
boolean bStroke = false;
boolean bMaterial = true;


void setup()
{
    size(600, 600, P3D);

    // making an object called "model" that is a new instance of OBJModel
    model = new OBJModel(this, "CHAMBRANLE.obj", "relative", TRIANGLES);

    // turning on the debug output (it's all the stuff that spews out in the black box down the bottom)
    model.enableDebug();

    model.scale(8);

    noStroke();
}

void draw()
{
    background(32);
    lights();

    //this will do nothing until the model material is turned off
    fill(255,0,255);

    pushMatrix();
    translate(width/2, height/2, 0);
    rotateX(rotY);
    rotateY(rotX);
    
    model.draw();

    popMatrix();
}



void keyPressed() {
    // turns on and off the texture listed in .mtl file
    if(key == 't') {
        if(!bTexture) {
            model.enableTexture();
            bTexture = true;
        } 
        else {
            model.disableTexture();
            bTexture = false;
        }
    }

    else if(key == 'm') {
        // turns on and off the material listed in .mtl file
        if(!bMaterial) {
            model.enableMaterial();
            bMaterial = true;
        } 
        else {
            model.disableMaterial();
            bMaterial = false;
        }
    }

    else if(key == 's') {
        if(!bStroke) {
            stroke(10, 10, 10);
            bStroke = true;
        } 
        else {
            noStroke();
            bStroke = false;
        }
    }

    // the follwing changes the render modes
    // POINTS mode is a little flakey in OPENGL (known processing bug)
    // the best one to use is the one you exported the obj as
    // when in doubt try TRIANGLES or POLYGON
    else if(key=='1') {
        stroke(10, 10, 10);
        bStroke = true;
        model.shapeMode(POINTS);
    }

    else if(key=='2') {
        stroke(10, 10, 10);
        bStroke = true;
        model.shapeMode(LINES);
    }

    else if(key=='3') {
        model.shapeMode(TRIANGLES);
    }

    else if(key=='4') {
        model.shapeMode(POLYGON);
    }

    else if(key=='5') {
        model.shapeMode(TRIANGLE_STRIP);
    }

    else if(key=='6') {
        model.shapeMode(QUADS);
    }

    else if(key=='7') {
        model.shapeMode(QUAD_STRIP);
    }
}

void mouseDragged()
{
    rotX += (mouseX - pmouseX) * 0.01;
    rotY -= (mouseY - pmouseY) * 0.01;
}

mon objet est bien en place, un wavefront sortie de Blender... j'utilise processing 1.5.1 sur mac os 10.6.8...
J'ai cherché une solution mais rien à l'horizon.....

D'où vient l'erreur?

Dernière modification par le singe vert (2012-02-14 06:50:45)

Hors ligne

 

#5 2012-02-14 14:56:21 Re : Importer un objet tridimensionnel

rep
modérateur
Lieu: Toulouse
Date d'inscription: 2008-02-27
Messages: 1444
Site web

Re: Importer un objet tridimensionnel



le singe vert a écrit:

Voilà, je viens d'essayer la librairie de Saito (obj loader), et ça ne marche pas... J'ai un message d'erreur suivant :
The constructor OBJModel(obj_loader, String, String, int) is undefined

J'y connais que dalle en processing, mis elle est bien installée ta lib ??
Non parce qu'apparemment, le constructeur OBJModel() ne lui évoque que dalle à ton p5...

Hors ligne

 

#6 2012-02-14 23:58:41 Re : Importer un objet tridimensionnel

le singe vert
nouveau membre
Date d'inscription: 2012-02-14
Messages: 7
Site web

Re: Importer un objet tridimensionnel



La librairie est bien installé....

je viens de tester le code avec processing 1.2 et là tout fonctionne mais j'aimerais tout de même que le code tourne sur une version 1.5 voir 2.....

je test sur la 2.

Hors ligne

 

#7 2012-02-18 11:47:46 Re : Importer un objet tridimensionnel

cgiles
membre
Lieu: Est de la France
Date d'inscription: 2005-05-25
Messages: 329

Re: Importer un objet tridimensionnel



Ce serait étonnant que la librairie soit pas compatible 0149 et ultérieur.
A ce propos faut s'attendre a ce que certaines librairies ne soient pas compatible avec la 2.0, entre autre a cause de la modification du mode p3d...

Hors ligne

 

#8 2012-02-19 00:26:25 Re : Importer un objet tridimensionnel

le singe vert
nouveau membre
Date d'inscription: 2012-02-14
Messages: 7
Site web

Re: Importer un objet tridimensionnel



Alors chose étonnante, ça marche sur P5 2.a...

Hors ligne

 

#9 2012-02-19 15:35:58 Re : Importer un objet tridimensionnel

emoc
@#@*$
Lieu: Quimper
Date d'inscription: 2008-01-28
Messages: 1576
Site web

Re: Importer un objet tridimensionnel



Hello,

Vu le message d'erreur que tu décris "The constructor OBJModel(obj_loader, String, String, int) is undefined"

Le constructeur devrait recevoir un objet PApplet comme argument (voir le code de la classe ici : http://code.google.com/p/saitoobjloader … el.java#77 ) et là il semble qu'il ne le reçoive pas...

Tu peux essayer de définir l'objet PApplet avant le setup() avec :

PApplet sketch = this;

Et construire l'objet dans le setup() avec :

model = new OBJModel(sketch, "CHAMBRANLE.obj", "relative", TRIANGLES);

Hors ligne

 

fil rss de cette discussion : rss

Pied de page des forums

Powered by FluxBB

codelab, graphisme & code : emoc / 2008-2024