Annonce

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


#1 2011-02-23 15:57:23 Réalité Augmentée Processing

tomaok
membre
Date d'inscription: 2011-02-22
Messages: 46
Site web

Réalité Augmentée Processing



Depuis quelques mois je m'échine à explorer la réalité augmentée avec tout ce que je peux exploiter (applications dédiées, flash et artoolkit etc...). Je précise que je suis une vraie bille en programmation, juste quelques notions AS2, html. Les softs de création graphiques me sont toutefois très familiers, je suis enseignant en Communication Visuelle. Nous avons d'ailleurs monté un petit atelier AR qui a produit quelques bricolages sympathiques.

Donc Grosso modo en ce qui concerne mes expériences, le bilan est plutôt mitigé:

- Des logiciels propriétaires (payants donc ^^!) aux possibilités réduites et très souvent instables.

- Des solutions en Flash avec Flarmanager par exemple. Pas franchement très souples et aux résultats plutôt   
  médiocres avec l'avantage toutefois de pouvoir mettre en ligne certains dispositifs.

Je découvre depuis quelques semaines Processing qui propose une librairie AR: Simple ARToolKit Library for Processing de Bryan Chung:

http://www.bryanchung.net/?page_id=415

Je fouille encore un peu sur le net Den Ivanov propose une solution multimarqueur / multiobjet:

http://www.cleoag.ru/2009/04/14/process … est-video/
http://www.cleoag.ru/category/processing/


lien vers la page de la vidéo sur vimeo


ÔOO surprise je teste le bazarre avec un coup de pouce de emoc (http://codelab.fr/1705)!
Le dispositif marche immédiatement: 2 marqueurs, 2 objets le tout franchement stable!!


//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

Donc je lance ce sujet afin de glaner quelques pistes!

Objectif: produire un travail "d'édition augmentée" > Livre + Réalité Augmentée

1/ Je cherche à créer une scène incluant plusieurs marqueurs appelant des objets 3D texturés.
2/ À terme animer ces objets et inclure des sons.
3/ Pourquoi pas des objets interactifs.


"la question esthétique est une question politique" B. Stiegler
///////////////////// Juste l'hyperclasse ^^! \\\\\\\\\\\\\\\\\\\\\\

Hors ligne

 

#2 2011-02-23 16:29:31 Re : Réalité Augmentée Processing

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

Re: Réalité Augmentée Processing



Bonjour Tomaok,

Est ce que tu as eu l'occasion d'essayer directement ARToolkit ? C'est une bibliothèque de fonctions pour la réalité augmentée. La version processing est un "binding" qui permet d'utiliser les fonctions de la bibliothèque en java.

Comme applications d'exemples, ils citent le "Black Magic Book", un bouquin sur la coupe de l'America, la vidéo devrait t'intéresser si tu ne la connais pas :





lien vers la page de la vidéo sur youtube




Tu peux aussi jeter un oeil sur openframeworks, pour lequel il existe des exemples avec ARToolkit (cf. cette discussion sur le forum openframeworks), mais c'est plus complexe d'accès que processing.

Hors ligne

 

#3 2011-02-23 17:11:21 Re : Réalité Augmentée Processing

oyster_twiter
membre
Lieu: saint-herblain
Date d'inscription: 2008-04-01
Messages: 444
Site web

Re: Réalité Augmentée Processing



Salut,

J'ai essayé cette lib de réalitée augmentée sur P5 :
http://nyatla.jp/nyartoolkit/wiki/index … ontPage.en
Elle marche bien pour moi sous ubuntu 10.04. et elle supporte plusieurs marqueurs, je sais pas si elle est plus developpée que simpleartoolkit...a voir.
Tu peux trouver un exemple et de quoi t'en sortir ici:
https://github.com/Cdriko/interact/tree … Rtoolkit_1

+++

Dernière modification par oyster_twiter (2011-02-23 17:12:57)

Hors ligne

 

#4 2011-02-23 19:36:15 Re : Réalité Augmentée Processing

tomaok
membre
Date d'inscription: 2011-02-22
Messages: 46
Site web

Re: Réalité Augmentée Processing



Je vais regarder tout ça de plus près... Merci pour les infos!!

En attendant voici une vidéo plutôt bluffante qui expose bien ce vers quoi je veux me diriger...

- Un support imprimé (ici un carton d'invitation)
- des objets texturés
- animés
- et interactifs (certains motifs faisant office de bouton)





lien vers la page de la vidéo sur youtube


"la question esthétique est une question politique" B. Stiegler
///////////////////// Juste l'hyperclasse ^^! \\\\\\\\\\\\\\\\\\\\\\

Hors ligne

 

#5 2011-02-24 15:05:08 Re : Réalité Augmentée Processing

tomaok
membre
Date d'inscription: 2011-02-22
Messages: 46
Site web

Re: Réalité Augmentée Processing



Je vous propose quelques pages qui permettront à ceux qui le souhaitent de se documenter sur l'AR (Augmented Reality). Et surtout de mettre en oeuvre rapidement un petit projet.

- Artoolkit, la librairie qui a ouvert le filon, même si certains dispositifs existaient déjà...

http://www.hitl.washington.edu/artoolkit/


- Le site du Hitlab de Nouvelle Zélande (qui bugue depuis quelques jours, tentez une visite un peu + tard?? !) et le logiciel Buildar

> Buildar (PC)
Buildar est un soft qui existe en version pro et en démo, la version démo permet de lier les marqueurs et les ojets avec beaucoup de facilité sans aucunes connaissances en programmation. Seuls inconvenients la version pro est payante et la démo flanche pas mal si l'on est trop gourmand.

http://www.hitlabnz.org/BuildAR





lien vers la page de la vidéo sur youtube




- Atomic (PC, Mac, Linux)

> Logiciel libre plutôt pas mal mais acceptant seulement le format 3D .wrl. Tout comme Buildar, très simple d'utilisation, il permet de débuter rapidement.

http://www.sologicolibre.org/projects/a … /index.php





lien vers la page de la vidéo sur youtube




- Flartoolkit

> Il s'agit d'Artoolkit version AS3, pour les flasheurs tendance codeurs. Là c'est pas la même histoire, il faut connaître un peu l'AS3.

http://saqoo.sh/a/en/flartoolkit/start-up-guide

Si vous voulez aller plus loin en ARflash voici d'autres pages, avec des tutos permettant de gérer du son ou de l'animation.

http://blancer.com/tutorials/78609/begi … d-reality/


Voilà donc ce que j'ai exploré, testé, bricolé etc...


"la question esthétique est une question politique" B. Stiegler
///////////////////// Juste l'hyperclasse ^^! \\\\\\\\\\\\\\\\\\\\\\

Hors ligne

 

#6 2011-02-24 15:17:23 Re : Réalité Augmentée Processing

tomaok
membre
Date d'inscription: 2011-02-22
Messages: 46
Site web

Re: Réalité Augmentée Processing



Quelques tests maison... Buildar + Flartoolkit, un marqueur vaguement scotché quelques objets 3D / 2D, opaques ou transparents...

/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

http://www.ultra-book.com/2010_phpThumb/phpThumb.php?w=825&h=720&src=/users/ricord/images/a47ac3be99ffcd.jpg

http://www.ultra-book.com/2010_phpThumb/phpThumb.php?w=825&h=720&src=/users/ricord/images/27a679717eb925.jpg

http://www.ultra-book.com/2010_phpThumb/phpThumb.php?w=825&h=720&src=/users/ricord/images/d76ca4f93fdbcb.jpg

http://www.ultra-book.com/2010_phpThumb/phpThumb.php?w=825&h=720&src=/users/ricord/images/ffe9223fb3fe5c.jpg


"la question esthétique est une question politique" B. Stiegler
///////////////////// Juste l'hyperclasse ^^! \\\\\\\\\\\\\\\\\\\\\\

Hors ligne

 

#7 2011-02-25 16:58:05 Re : Réalité Augmentée Processing

tomaok
membre
Date d'inscription: 2011-02-22
Messages: 46
Site web

Re: Réalité Augmentée Processing



J'avance, J'avance, un peu seul sur le forum mais je compte sur vous ^^!

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

Donc 2 tests l'un avec la librairie AR de Bryan Chung (http://www.bryanchung.net/?page_id=415).

http://codelab.fr/up/Processing-AR.jpg

L'autre avec la librairie 3D de Saito, Matt Ditton, Ekene Ijeoma (http://thequietvoid.com/client/objloader/#download)

http://codelab.fr/up/Processing-3D.jpg

Ma question comment coupler les deux!!!

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

Voici le code AR légèrement modifié >>

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

Voici le code 3D, merci à Martin pour son modèle >>

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(800, 800, P3D);

    // making an object called "model" that is a new instance of OBJModel
    model = new OBJModel(this, "aliencouleur.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(1);

    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;
}

Dernière modification par tomaok (2011-02-25 20:54:21)


"la question esthétique est une question politique" B. Stiegler
///////////////////// Juste l'hyperclasse ^^! \\\\\\\\\\\\\\\\\\\\\\

Hors ligne

 

#8 2011-02-25 18:49:12 Re : Réalité Augmentée Processing

oyster_twiter
membre
Lieu: saint-herblain
Date d'inscription: 2008-04-01
Messages: 444
Site web

Re: Réalité Augmentée Processing



Tu n'es pas seul... on t'observe on t'observe tongue

Pour ton mélange de code, as tu réussi à bien situer la partie ou l'image 3D est affichée (ton vampire) ?
c'est cette méthode 'model.draw()' que tu dois replacer au bon endroit dans ta version ARToolkit.
peut-être ici par exemple :

void displayCube(MultiARToolKit _a) {
  fill(0,255,0);
  translate(0,0,40);
  box(80,80,80);
}

insérer cette partie aussi dans ton displayCube():

    pushMatrix();
    translate(width/2, height/2, 0);
        popMatrix();

essayes déjà ça puis voyons voir ce que ça donne.
+++

Dernière modification par oyster_twiter (2011-02-25 18:50:36)

Hors ligne

 

#9 2011-02-25 20:57:45 Re : Réalité Augmentée Processing

tomaok
membre
Date d'inscription: 2011-02-22
Messages: 46
Site web

Re: Réalité Augmentée Processing



Au passage je signale la sortie de cet ouvrage dont je viens de faire l'acquisition.
Vraiment clair, simple et impeccable pour les débutants comme moi!

http://www.pearson.fr/livre/?GCOI=27440100060660

http://www.pearson.fr/Resources/titles/27440100060660/Images/27440100060660L.gif


"la question esthétique est une question politique" B. Stiegler
///////////////////// Juste l'hyperclasse ^^! \\\\\\\\\\\\\\\\\\\\\\

Hors ligne

 

#10 2011-02-25 22:58:57 Re : Réalité Augmentée Processing

tomaok
membre
Date d'inscription: 2011-02-22
Messages: 46
Site web

Re: Réalité Augmentée Processing



J'ai tenté ceci mais il y'a un conflit... ??
Duplicate method setup() in  type MultiARToolKit_simple

Je patauge gentiment ^^!


"la question esthétique est une question politique" B. Stiegler
///////////////////// Juste l'hyperclasse ^^! \\\\\\\\\\\\\\\\\\\\\\

Hors ligne

 

#11 2011-02-26 00:44:00 Re : Réalité Augmentée Processing

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

Re: Réalité Augmentée Processing



ben t'as 2 fonctions setup() d'ou la "duplicate method"
(c'est ça ou j'ai faux ?)

Hors ligne

 

#12 2011-02-26 11:36:16 Re : Réalité Augmentée Processing

oyster_twiter
membre
Lieu: saint-herblain
Date d'inscription: 2008-04-01
Messages: 444
Site web

Re: Réalité Augmentée Processing



Tout juste Rep ! tout juste ! tongue
C'est bien ça, Processing ne fonctionne qu'avec une seule méthode setup(), celle qui permet d'initialiser ton appli. Là il y en a 2, donc problème...c'est ce que dit ton message d'erreur :

citation :

Duplicate method setup()

@Tomaok : je t'invite à prendre en main processing avec 2 ou 3 exemples plus simple, pour te sentir plus à l'aise avec son fonctionnement, et après tu pourras envisager le mix de tes 2 programmes. Donnes toi du temps, t'es pas à 3 semaines près...smile
Le bouquin dont tu parles à l'air très bien pour cette prise en main de P5 (chapitre 5 pour le problème rencontré ici), n'hésites pas à "t'appuyer" dessus.
+++

Dernière modification par oyster_twiter (2011-02-26 11:36:55)

Hors ligne

 

#13 2011-02-26 15:48:29 Re : Réalité Augmentée Processing

tomaok
membre
Date d'inscription: 2011-02-22
Messages: 46
Site web

Re: Réalité Augmentée Processing



J'avais compris le conflit avec le doublon setup()... Mais effectivement je suis franchement dépassé... ^^!
Un petit retour aux fondamentaux est indispensable! Aller au boulot!


"la question esthétique est une question politique" B. Stiegler
///////////////////// Juste l'hyperclasse ^^! \\\\\\\\\\\\\\\\\\\\\\

Hors ligne

 

#14 2011-03-01 00:07:30 Re : Réalité Augmentée Processing

tomaok
membre
Date d'inscription: 2011-02-22
Messages: 46
Site web

Re: Réalité Augmentée Processing



C'est bon j'ai enfin réussi à coupler les deux librairies... C'est un peu chaotique au niveau de l'ancrage du modèle 3D, mais tout y est: objet 3D + texture. Manque toutefois à l'appel une gestion de la lumière en temps réel.

En revanche l'affichage de l'objet est très gourmand, dès que le marqueur est reconnu on sent que la machine rame pour afficher l'objet! Cela vient sans doute du mode d'affichage OPENGL qui sollicite la carte graphique.

Donc il faut que je creuse la question des coordonnées de l'objet par rapport au marqueur (peut être depuis mon soft 3D) et que j'optimise l'affichage (???) ! De plus ce bricolage accepte plusieurs objets.

http://codelab.fr/up/Processing-AR-1.jpg

/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

Voici le code ^^! J'attends vos observations pour améliorer tout ça!

Dernière modification par tomaok (2011-03-01 18:54:44)


"la question esthétique est une question politique" B. Stiegler
///////////////////// Juste l'hyperclasse ^^! \\\\\\\\\\\\\\\\\\\\\\

Hors ligne

 

#15 2011-03-01 11:29:47 Re : Réalité Augmentée Processing

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

Re: Réalité Augmentée Processing



Bravo, ça avance bien!

tomaok a écrit:

En revanche l'affichage de l'objet est très gourmand, dès que le marqueur est reconnu on sent que la machine rame pour afficher l'objet! Cela vient sans doute du mode d'affichage OPENGL qui sollicite la carte graphique.

Normalement, l'opengl allège la tache du processeur principal puisqu'il prend en charge les calculs pour l'affichage graphique, et les gpu ont pas mal de ressources en réserve, à moins que tu aies une carte graphique très ancienne ?

Un truc qui me semble étrange, c'est que l'objet model est recréé à chaque appel de displayCube, à chaque fois il est rechargé à partir du fichier, ce qui veut probablement dire plusieurs dizaines de fois par seconde, tu devrais sortir ce passage de displayCube, il suffit de le charger une fois. D'ailleurs, quand cette fonction est elle appelée ? (on ne voit pas l'appel dans la boucle draw() )

edit: je viens de comprendre, cette fonction est liée à un marqueur dans le setup...

Dernière modification par emoc (2011-03-01 11:32:14)

Hors ligne

 

fil rss de cette discussion : rss

Pied de page des forums

Powered by FluxBB

codelab, graphisme & code : emoc / 2008-2024