Home
`SCP Camera` Shoot, Cut & Play
Contents
1. j j verifier que les objets selectionn s sont bien des courbes relatives listRelatives s curve if objectType i nurbsCurve relatives 0 error curve is not a nurbs curve j ensuite cr er un groupe qui continedra les locators cr s group em rename curve Group int spans eval getAttr curve spans pour chaque edit point on cr e un locator for i 0 i lt spans i eval select r curvet ep i pos xform q ws t spaceLocator p 0 O O n curve Point i move a pos 0 pos 1 pos 2 select add curve Group parent j select cl print Locators created succesfully n 94 ANNEXE A SCRIPTS JI Frame to Curve VSL Frame2curve usl Xavier Gouchet Les param tres pour convertir les frames en courbes extern String curveName extern bool linear extern bool closed extern bool deleteEntities void main int count j ac selection Size on cr e d abord la courbe Curve theNewCurve ac CreateCurve curveName Str false true for int i 0 i lt count i pour chaque frame selectionn on recupere sa position puis on place un point sur la courbe cet endroit Entity3D ent Entity
2. Color E AAA 1 CHAPITRE 4 LE ROLE DE NICOLAS 34 4 4 Scripts Assez rapidement nous nous sommes apercu que certaines fonctions t utilis es tres r guli rement Plut t que de parcourir sans cesse l interface Maya Nico a d cid de cr er sa propre boite a outils en Mel cf Fig 4 6 p 34 qui donnait un acc s direct aux fonctions les plus utiles outliner hypergraph UvEditor outils de mod lisation Au fur et a mesure de l avanc e du projet les fonctions se sont toff es et cela a permis aussi d int grer facilement les outils d velopp s par Xavier dal NICOTOOLS Center Pivot Merge Vertices Export Selection Export ll SetToFace SoftenHarden Reverse Show Normals Show Grid Rename Arbo Del History Freeze Trans Align Vertices Pipe Estude RenameHelper Planar Project Import ScpFiles Fic 4 6 Les c l bres Nico sTool ChangeResoFiles Avec l utilisation des grandes textures s est pos la question d optimisation pour Virtools Pour r pondre a cela Xavier a cr e un script le ResolutionFiles qui faisait permutter les connections des mat riaux entre des textures hautes r solutions pour Maya et basses d finitions pour le temps r el C est ce systeme qui nous a r ellement permis d utiliser la m me scene quelque soit la sortie car ainsi nous n avions qu permutter le node appropri en BasseResolution pour pr parer l
3. SCP Camera Shoot Cut amp Play X Gouchet R Quittard N Serikoff Departement Arts et Technologies des Nouvelles Image Master 1 Universit Paris VIII http scp camera free fr s c p cam SHOOT CUT amp PLAY CAMERA Chapitre 1 Presentation du projet 1 1 Principe du projet Notre projet trouve son origine la fin du mois d avril 2005 suite au festival de r alit virtuelle Laval Virtual Le but tait de r aliser une application permettant a des etudiants cadreurs ou r alisatuers de prototyper de fa on simple et rapide des cadrages et angles de vue En effet grace a l outil 3D nous avons la possibilit de se d placer dans des scenes virtuelles et de manipuler facilement l environnement d cors lumi res acteurs Ce projet tait pour nous un moyen de mettre nos connaissances au service d un domaine que nous appr cions le cin ma et la r alisation Partant de cette id e le projet a subit plusieurs modifications au fur et mesure de sa r alisation Au d part il tait question d enregistrer les mouvements de cam ra de l utilisateur pour le r utiliser dans un logiciel 3D Maya Puis nous avons compris qu il serait plus utile et plus novateur de cr er un logiciel de montage complet permettant d diter les mouvements enregistr s Puis nous avons eu l id e de cr er des figurants foule pseudo dynamique ce qui rajoute de la vie dans la sc ne Au final notre a
4. duit de notre quipe et la synergie de travail qui s est install e naturellement ne nous a pas pouss a avoir ou a tablir de chef de projet Les relations de travail ont toujours t de type horizontale sans aucune notion de hi rarchie Les grandes d cisions et les choix techniques ou artistiques ont toujours t prises d un commun accord apr s argumentation de chacun Il est donc important de souligner que la r ussite de ce projet tient au travail d quipe fourni par chacun a la mise a disposition et aux partages de nos savoir faire Le role de chacun a t cruciale pour l aboutissement du projet qui aurait t compromis sans l un de nous Notre formation universitaire a A T I s est efforc e de nous donner les clefs indispensables pour comprendre les contraintes et le travail de l autre dans l univers dans lequel nous voluons tout les jours le num rique Quel que soit notre profil programmeur ou graphiste nous avons tous une base commune de connaissances qui nous permet de mieux appr hender le travail en quipe Aussi la r ussite de ce projet aux comp tences vari es en est sans doute une excellente illustration CHAPITRE 2 NOTRE TRAVAIL 5 2 2 D roulement du projet Le projet s est d roul en trois phases ou tapes disctinctes qui en caract rise l volution Tout d abord nous avons commenc par une maquette d but e en octobre et qui s est achev e fin mars Il s agit a la fois de la phas
5. j lt matCount j mat mes GetMaterial j mat SetTwoSided bothSided j j j j ANNEXE A SCRIPTS CrowdCreator VSL CrowdCreator usl Xavier Gouchet extern Character perso extern Color pull extern Color pantalon extern Color chaussure extern Material materiauDeil extern Texture dirtmap extern String nom void main j creation des variables de base String PullM perso_pull BaseString pullBase PullM String PantalonM perso pantalon BaseString pantBase PantalonM String ChaussureM perso_chaussures BaseString chauBase ChaussureM String YeuxM perso yeux BaseString yeuxBase YeuxM copie du character selectionn Character new Character Cast ac Copy perso false true new SetName nom Str int partCount new GetBodyPartCount pour chaque partie du character on r cup re un mesh for int h 0 h lt partCount h BodyPart curPart new GetBodyPart h int meshCount curPart GetMeshCount pour chaque mesh recup r on r cup re un materiau for int i 0 i lt meshCount i Mesh curMesh curPart GetMesh i if curMesh int materialCount cur
6. FIG 3 22 Le boitier 26 CHAPITRE 3 LE ROLE DE REMI 27 3 4 Cr ation du site Internet Apr s Laval nous avons senti la n cessit d tre pr sents sur internet afin de mieux communiquer sur le projet R mi qui avait des comp tences en Flash a donc mis en place un site web Ce site entierement fait sous Flash Mx 8 est compos de cing rubriques Chacune de ces rubrique est accessible depuis la page d accueil et arrive avec une animation de d placement Les trois premi res sont les m me que celle de l application savoir Shoot Cut et Play Chacune integre une vid o t l chargeable et agrandissable La partie suivante la rubrique M dia est une galerie Photos et Vid os Chaque m dias est charg en dynamique via un fich XML et est repr sent par un petite vignette Chacune d entre elles est affich e dans une barre de navigation r tractable Enfin la rubrique contact redirige le visiteur sur nos e mail et le site Artweb de l universit Paris8 Chapitre 4 Le role de Nicolas Nicolas Serikoff a t charg de tout le travail 3D et graphique du projet exception faite du site web et des personnages De plus suite aux contacts tablis a Laval il s est charg de tout l ascept relationnnel du projet 4 1 L id e L utilit de la scene 3D est de pouvoir illustrer et montrer de mani re ludique l utilisation du projet SCPCamera A partir de la nous avons cherch des id
7. cubes spheres et cylindres Puis nous avons donn les volumes g n rale des diff rentes partie du corps en subdivisant et en placant les Vertex cf Fig 3 1 p 11 Une fois les bases de la morphologie fix es les d tails du visage et des mains sont venus se rajouter cf Fig 3 2 p 11 Notez qu afin d avoir la possiblilit de g n rer facilement un grand nombre de figurants virtuels plusieurs petits accessoires de personalisation ont t mod lis s s par ments et la texture est faite de telle mani re que plusieurs coloris de v tements puissent tre cr s dynamiquement dans Virtools Ainsi les passants peuvent arborer diff rentes barbes coupes de cheveux au choix beret et ou baguette de pain cf Fig 3 3 p 12 En ce qui concerne la texture nous avons choisi de seulement mettre une map d AmbientOcclusion pour ajout du r alisme Cette texture fut plac e sur un canal texture suppl mentaire et fusionn en mode Multiplication De cette fa on le personnage avait une couche d AO appel aussi Dirtmap ind pendante des couleurs des mat riaux de peau et de v tements Cela permettant d avoir des personnages aux tenues differentes cf Fig 3 4 p 12 Pour la pr paration l animation rigging et skinning nous avons utilis comme mod le le squelette Mbskel de MotionBuilder En effet la hierarchie et la convention de nomage permettent une reconnaissance direct de l ossature
8. dans Motion Builder 10 CHAPITRE 3 LE ROLE DE REMI FIG 3 1 Evolution de la modelisation du corps Fic 3 2 Evolution de la modelisation du visage 11 CHAPITRE 3 LE ROLE DE REMI 12 FIG 3 3 Accessoires de personalisation des personnages Fic 3 4 Variation de couleurs de personnages Fic 3 5 Phase de rigging CHAPITRE 3 LE ROLE DE REMI 13 Fic 3 6 Phase de skinning Le tyranosaure Le dinosaure a n cessit moins de travail car il a t repris d une sc ne exemple de Motion Builder Nous lui avons apport des modification de maillage optimisation une texture d Ambient Occlusion et un skinning enti rement refait cf Fig 3 7 p 14 CHAPITRE 3 LE ROLE DE REMI FIG 3 7 Modelisation du Tyranosaure 14 CHAPITRE 3 LE ROLE DE REMI 15 3 2 Animation De toutes les parties relatives aux personnages celle ci f t la plus longue et complexe Pour animer nous avons choisi d utiliser principalement deux logiciels Motion Builder qui est une r f rence dans le domaine et Endorphine qui permet de faire de l animation dynamique et comportementale Pour la grande partie des anims notre choix s est port vers la Motion Capture capture de mouvements Cela pour deux raisons premi rement le souhait de pratiquer concr tement cette technique qui est de plus en plus utilis dans la production de films et jeux vid os et deuxi ment R mi n tan
9. dition d un clip borne du clip longueur etc Le temps de lecture Ce code est uniquement cr pour faciliter la compr hension de l utilisateur lors de la relecture d un montage dans virtools Il commence zero au d but du montage et a pour longueur celle du montage Foule Pseudo Dynamique Lorsque le coeur du programme fut op rationnel et que nous avons eu l occasion de tester notre projet notre sc ne d mo semblait un peu vide Nous avons donc d cid d ajouter un peu de vie avec une foule que nous voulions dynamique La premi re id e que nous avons essay fut de cr er un syst me de path finding pour avoir une foule r element dynamique Mais cette methode fut rapidement cart e car trop lourde utiliser Ensuite nous avons d cid d utiliser des courbes pr par s dans Maya pour avoir un contr le sur la foule Cela r solvait non seulement le choix des trajectoires mais aussi les soucis de collisions avec le d cors Le soucis tait que l export de Maya vers Virtools ne fonctionnait pas avec les courbes Il a donc fallut cr er un script Mel et un script VSL pour pouvoir importer des courbes dans Virtools voir plus loin Ensuite il a fallu trouver un moyen pour que la foule soit enregistr e en m me temps que le mouvement de cam ra En effet des utilisateurs trouvaient frustrant de faire leurs cadrages en fonction de la foule et de ne pas retrouver les m mes images lors de la relecture
10. jours que nous avons r alis e cette premi re version C est gr ce tout le travail pr alable de r flexion et au travail pr liminaire que chacun avait fait dans son domaine que nous avons pu tenir les d lais impos s par le festival de Laval Virtual 2006 R mi a travaill exclusivement sur la r alisation de la cam ra et de notre propre interface l ctronique Toutes les principales fonctions n cessaires notre applications enregistrement lecture profondeur de champs ont t reli es par l ctronique aux boutons d j existants de la cam ra VHS r cup r e cf Fig 3 18 p 24 Xavier a approfondi le syst me de montage en rajoutant des options comme l outil couper ou d placer Il a d velopp aussi un syst me client serveur pour faire fonctionner le Polhemus sur une seconde machine et permettre ainsi de ne pas ralentir Virtools Nicolas a mod lis et textur l ensemble de la sc ne 3D et int gr le shaders HLSL de profondeur de champs la sc ne virtools Laval Virtual C est lors du festival de r alit Virtuelle de Laval Virtual 2006 que nous avons fait nos premiers tests et notre premi re pr sentation au public Pour nous ce salon repr sentait l aboutissement du projet Des retours qu on aurait sur le salon d pendaient la poursuite du projet Deux points positifs sont noter propos de ce salon Tout d abord l aide que nous avons pu avoir sur place d
11. s sensible aux conditions de lumi re Un des leitmotiv du projet a toujours t que le systeme soit le plus facilement utilisable partout avec le moins d al as possible Il nous aurait fallu alors d velopper un studio de tournage sp cifique au projet avec des conditions de lumiere toujours identiques chose nullement envisageable ni r alisable Nous avons eu par la suite confirmation de ces contraites lors du festival de Laval Virtual 2006 o des quipes ayant int gr es ce type de technologie se retrouvaient qualibrer constament leur mat riel selon les conditions d clairage Magn tique Nous nous sommes fix s sur les capteurs magn tiques de positions de type Polhemus ou Fastrack Patriot pour deux raisons La premiere est que ces systemes permettent d obtenir excatement les donn es que nous cherchions a avoir positions et rotations c est a dire 6 axes de libert La seconde est que nous disposions d un syst me Polhemus Flock Of Bird a l universit ce qui vacuait ainsi la question de l achat du syst me environs 3500 E CHAPITRE 2 NOTRE TRAVAIL 6 Toutefois ce genre de dispositif impose quand m me quelques contraintes Bien que les dispositisf magn tiques soient sensibles aux ondes et aux l ments magn tiques barres et charpente m taliques nous n avons pas constat de perturbation de ce genre avec notre mat riel Le rayon d action ou de libert est th oriq
12. tences L interface En parallele nous avons cr e une v ritable interface d utilisation 4 menus dont celui des options la TimeLine barre du temps sur laquelle s effectue toute les op rations de montage Cette phase a t une p riode de travail collaboratif et d int gration importante entre le graphiste Nicolas et le d veloppeur Xavier L ensemble des diff rentes fonctions a t red battue pour s assurer de leurs sens et de leurs utilit s Le code couleur a t adopt pour permettre de plus facilement identifier les 3 modes d utilisations Shoot enregistrement lt bleue Cut montage lt orang Play pr visualisation lt vert De la claret de l interface d pend la lisibilit et l accroche de l utilisateur Am liorations graphiques En termes de mod lisation relativement peu de changement ont t apport La nouveaut vient plutot des changement du pipeline de production Nicolas a am lior le rendu pr calcul retravaillant l ensemble des textures pour les adapter en deux formats 1 fichier optmis pour le temps r el avec des tailles r duite de textures taille max 128 128 1 fichier de meilleur qualit pour la sc ne pr calcul e taille max 1024 1024 Un syst me de Resolution Node permet de permutter l utilisation et l affichage entre les textures basse et haute r solution CHAPITRE 2
13. 3D Cast ac selection i if ent j Vector curPos ent GetPosition curPos CurvePoint curPoint ac CreateCurvePoint curvpoint false true curPoint SetPosition curPos definit si la courbe est lin aire ou bezier curPoint SetLinear linear theNewCurve AddControlPoint curPoint if deleteEntities ac DestroyObject ent j theNewCurve CreateLineMesh if closed theNewCurve Close j ANNEXE A SCRIPTS MakePlaces VSL MakePlaces vsl Xavier Gouchet extern String PlaceFlag extern Place place void main int count ac selection Size place SetName PlaceFlag Str for int i 0 i lt count i Entity3D ent Entity3D Cast ac selection i if ent String name ent GetName BaseString bsFlag PlaceFlag if name Contains castStencil place AddChild ent true y j j MakeBothSided VSL MakeBothSided vst Xavier Gouchet extern bool bothSided void main int count ac selection Size for int i 0 i lt count i Entity3D ent Entity3D Cast ac selection i if ent String name ent GetName String CastS BS_ Basestring castStencil Casts if name Contains castStencil Mesh mes ent GetCurrentMesh Material mat int matCount mes GetMaterialCount for int j 0
14. ICOLAS 4 5 Evolution de la chaine de production graphique Fic 4 10 Photo r f rence d un immeuble 37 CHAPITRE 4 LE ROLE DE NICOLAS Fic 4 11 Mod lisation sous Maya 38 CHAPITRE 4 LE ROLE DE NICOLAS FIG 4 12 Ombres de contactes avec passe d Ambiante Occlusion 39 CHAPITRE 4 LE ROLE DE NICOLAS Fic 4 13 Textures Temps r el Maya 40 CHAPITRE 4 LE ROLE DE NICOLAS FIG 4 14 Temps r el Virtools 41 CHAPITRE 4 LE ROLE DE NICOLAS Fic 4 15 Rendu pr calcul Maya 42 CHAPITRE 4 LE ROLE DE NICOLAS 43 4 6 L interface Apr s Laval il tait vident que si nous voulions pousser encore plus loin l application nous devions cr er une interface utilisateur Dans un premier temps nous avons mis sur papier toutes les fonctions qui devaient figurer dans le projet afin d avoir un apercu clair Nous avons choisis de diff rencier les trois modes d utilisation grace a l utilisation de trois couleurs Chaque l ment de l interface peut donc s afficher dans les trois couleurs selon le mode utilis Ainsi grace au code couleurs l utilisateur doit pouvoir savoir dans quel mode il est uniquement en jetant un coup rapide a un des l ments de l interface L ensemble des l ments de l interface a t r alis sous maya avec des primitves comme les cylindre ou les spheres Pour permettre de faire mes r glages de colorim trie de mani r
15. Mesh GetMaterialCount pour chaque materiau on opere les changements ad quats for int j 0 j lt materialCount j Material curMat curMesh GetMaterial j Texture curTex curMat GetTexture 0 if curTex curMat SetTexture dirtmap else String name curMat GetName if name Contains pullBase curMat SetDiffuse pull if name Contains pantBase curMat SetDiffuse pantalon if name Contains chauBase curMat SetDiffuse chaussure if name Contains yeuxBase curMesh ApplyGlobalMaterial materiauDeil 7 j ov Annexe B Mode d emploi du programme Virtools Le programme SCP Camera se d compose en trois parties Shoot Cut et Play enregistrement montage et pr visualisation Il permet de cr er et monter rapidement et intuitivement des mouvements de cam ra r utilisables dans une sc ne 3D pour le temps r el Virtools ou une sc ne d animation Maya L interface L interface principale cf Fig B 1 p 61 se compose de 1 La boite a outils 2 La timeline 3 Le code temporel La Timeline La timeline situ e en bas de l cran permet de visualiser les clips mouvements enregistr s Chaque clip poss de un num ro et une couleur permet
16. NOTRE TRAVAIL 9 La technique du BumpMapping a t impl ment dans les rendus maya Aussi pour permettre d utiliser toujours une seule et m me sc ne 3D Xavier a dt cr e des outils scripts Mel facilitant l export de la sc ne maya vers Virtools en tenant compte d optimisations pour le temps r el R mi a r alis sous MotionBuilder et a partir de motion capture l action qui sert de scene filmer Une partie de l animation a t r alis e a l aide du logiciel endorphine afin de rajouter un aspect naturelle et dynamique Pour rajouter un aspect plus vivant une simulation de foule a t ajout Il s agit d acteurs secondaires qui suivent une multitudes de courbes Le didacticiel Afin de r pondre a la demande du Futuroscope nous avons ajout un mode didacticiel Il s agit simplement de pr senter les diff rentes valeur de cadrages la notion de champs contre champs et de plong e contre plong e Pour cela nous expliquons l effet l aide d une illustration puis l utilisateur doit essayer de refaire l effet Pour les enfants c est un moyen d appr hender de maniere simple des notions parfois complexes et de rentrer dans la peau des grands r alisateurs Ce mode permet d ouvrir notre application a un public qui n est pas forc ment familier avec l univers de l audiovisuel ou du cin ma Le code L ensemble du projet Virtools et du plug in Maya a t refait de A a Z pour plusieurs r
17. PITRE 3 LE ROLE DE REMI Fic 3 10 Mocap non cyclique et Mocap cyclique Fic 3 11 Trajectoires des acteurs 18 CHAPITRE 3 LE ROLE DE REMI Fic 3 12 Sc ne dynamique cr e sous Endorphine Fic 3 13 L arriv e du second personnage 19 CHAPITRE 3 LE ROLE DE REMI gt Scaling Le ibility WN er _ ie a 4 p AS G reference Trex gt Scaling Lel ibility reference_Trex Fic 3 14 Contr le de la machoire et de la queue du T rex 20 21 A CHAPITRE 3 LE ROLE DE REMI F E CCE Perr 0000 FIG 3 15 Les relations controllant la queue et la machoire du dinosaure CHAPITRE 3 LE ROLE DE REMI 22 3 3 El ctronique Comme dit pr c dement l id e de l installation est de permettre a l utilisateur de filmer du virtuel avec les fonctionnalit s d une cam ra Pour une interactivit optimale il nous fallait cr er un p riph rique en forme de cam ra capable de communiquer avec Virtools Dans l quipe R mi tait le seul a avoir des notions d lectronique c est donc a lui qu est revenu cette tache La r flexion concernant ce mat riel a commenc d s le d but du projet Trouver une cam ra La premiere tape tait de trouver une base pour l lectronique Par chance un r parateur lectronique nous a gracieusement donn une cam ra hors d usage cf Fig 3 16 p 22 Fic 3 16 La cam ra or
18. Pour cela nous avons cr un tableau qui lors d un enregistrement r cupere la position de chaque per sonnage sur une courbe laquelle est al atoire Chaque personnage pour faciliter la gestion de la foule ne se d place que sur une seule courbe Ensuite lors de la relecture il nous suffit de replacer chaque personnage sa position sur la courbe CHAPITRE 5 LE ROLE DE XAVIER 47 Le didactitiel Suite au succ s obtenu lors du Festival de Laval nous avons d cid d int grer un didactitiel permettant a un utilisateur n ophyte d apprendre l utilisation de base d une cam ra Plan large gros plan Champs contrechamps plong e contreplong e etc Il a donc fallut pour cela trouver un moyen de v rification des actions de l utilisateur L id e est d utiliser des bo tes centr es sur une action deux personnages face face plus ou moins grandes Nous pla ons ensuite des locators aux extr mit s d une diagonale et au centre de chaque bo te Une fois import s dans Virtools il suffit de v rifier que les locators aux extr mit s ne sont pas visibles et que le locator centrale l est Cela indique que globalement la cam ra est point e dans la bonne direction et plac e au bon endroit Lorsque l utilisateur doit effectuer une action se d placer zoomer une boucle teste chaque fois la visibilit dans le cadre de la cam ra des locators utiles et ne passe la main que lorsque les condition
19. aison La premi re est que la version faite pour Laval a t programm e en 15 jours De fait le code tait souvent non optimis non comment et surtout difficile modifier Ensuite Xavier voulais reprendre le coeur du programme afin d avoir un code propre et optimis Ayant deja cod l essentiel de l application une premi re fois les besoins taient clairement definis et plus facile a mettre en place Enfin certaines fonctionnalit s notamment le drag n drop pr sente dans la version pr c dente tait bancale et necessitait d avoir une structure des donn es differentes Chapitre 3 Le role de Remi Sur ce projet le role de R mi fut vari puisqu il eu a s occuper de la mod lisation et de l animation des personnages de toute la partie lectronique ainsi que de la cr ation du site internet en Flash 3 1 Cr ation des personnages Les personnages humains C est juste apres avoir r alis la premiere maquette qu a d but la mod lisation du personnage temps r el C tait la premiere fois que R mi s essayait a la mod lisation d un tre humain lowpoly il a donc profit de cette execrcice pour augmenter ses comp tences dans ce domaine Ici le but n tait pas de faire un personnage ultra r aliste mais plutot un mod le de base passe partout facilement animable et peu cotiteux en polygones Nous avons proc d de facon tr s classique en partant de primitives simples
20. ant de fichiers que de clips ces fichiers contenant l animation compl te correspondant au clip ind pendant des op rations de montage Exporter Exporte le montage courant sans l enregistrer ni enregistrer les fichiers temporaires Ouvrir Ouvre un montage sauvegard pr c demment n cessite que les fichiers correspondant chaques clips soient toujours au m me endroit ANNEXE B MODE D EMPLOI DU PROGRAMME VIRTOOLS 60 Informations Cette partie concerne les informations sur la sc ne courante Frame Rate d finie le nombre d images par seconde de la sc ne Attention ne pas changer ces informations entre deux enregistrement de mouvement Le r sultat donnerai des mouvements non homogenes une fois r cup r s sous Maya Nom du plan nom ou identifiant du plan correspondant aux mouvements la sc ne courante Utilis lors de l import sous maya pour cr er les fichiers Batch Commentaires commentaires destin s donner des informations suppl mentaires sur le plan ou le mon tage Dossier temporaire Dossier ou sont stock s les fichiers contenant les donn es de tous les mouvements enregistr s Ces fichiers sont cras s a chaque r ouverture du programme SCP Camera et ne constituent en aucun cas des fichiers de sauvegarde Pour conserver ces fichiers et pouvoir en faire un montage utiliser la fonction enregistrer Donn es Cette partie concerne le contenu de la sc ne dans laquelle les mouv
21. codes temporels enregistr s dans virtools la matrice de la cam ra les informations de zoom et de profondeur de champs et le num ro du clip Ainsi chaque ligne correspond une clef sur la timeline De plus pour viter des conflits et des r sultats impr visibles nous avons d cid de cr er une cam ra par clip CHAPITRE 5 LE ROLE DE XAVIER 48 ii SepCamera Load Anim aj x SCP Camera 2006 Keysten gt A Use Depth of Field Correct Rotation warp Error Create batch file Animation import Camera ony C Whole Camera Load Fic 5 1 Le Plug In Maya Convertir les donn es Entre Virtools et Maya il y a une diff rence dans le type de donn e En effet l axe Z n est pas orient de la m me mani re dans Virtools et dans Maya Pour parer ce probleme il a fallu modifier la position et l orientation de la cam ra import e afin d avoir un r sultat identique a celui obtenu dans Virtools Options de chargement La premi re option de chargement Animation Import est utilis e pour d finir la disposition des clips par rapport la timeline de Maya On peut d cider d utiliser le temps absolu comme r f rence les mouvements de cam ras sont alors synchronis s avec les animations de la scene Maya en cochant la case Whole Camera Par contre dans ce cas si aucune animation n a t charg e dans Virtools le r sultat dans Maya sera impr visble et globalement incoh rent avec les mouvem
22. e d veloppement du projet Marl ne Puccini pour ses conseils artistiques et son ouverture d esprit C dric Pl sier pour ses conseils techniques son soutien et ses contributions A tout ceux qui nous ont aid et soutenu sur le salon de Laval Virtual en particulier la societ VHP Maintenance qui nous a gracieusement fournie le boitier de notre cam ra La societ Virtools et David Nahon pour l int r t port au projet et leur aide pr cieuse de derni re minute La soci t Immersion pour nous avoir permis d utiliser leur systeme de tracking infrarouge Le Futuroscope pour leur remarque dont nous avons tenue compte Thanks Peter A ceux aussi qu on aurait oubli merci L ensemble de l quipe de scp camera scp camera Shoot Cut Play scp camera free fr Xavier Gouchet R mi Quittard Nicolas Serikoff 62 Table des matieres 1 Presentation du projet Tl PEACE di PRO EL aed A me ti rapas ten in l E St a oe eR RA eee a t2 Pr sentation en Detail oh ar D OP D ET ET 2 Notre travail 21 Pr sentation de l quipe yor EEE ee s k HS A dea 22 D ro lenent da projets n vr ee As ee OA eS A ee EDAD 3 Le r le de Remi 3 1 Cr ation des personnages wen ad tok eh SER LA LS ee Oe a he JZ D API OD amp ia 45 eevee a ac ee Be OH Ke A ese es es P D der 3 3 El ctronique NE Me GE SG aaa es at WS tops P T S GRE Sie ae a ole esa amg eae A A ee LE TS 34 Cr ationdusitel
23. e de pr paration et de recherche la plus en amont du projet Bien que tr s difficilement quantifiable en terme de travail ceci nous a permis a travers de nombreuses r unions de travail de discuter et de poser les grandes lignes du projet Le role de chacun et la r partition des t ches a principalement t d cid a ce moment La maquette Le capteur La premi re chose dont nous nous soyons occup a t de r pondre a la probl matique du capteur de position Int grer ce genre de technologie dans le projet a t un l ment motivant et repr sente un des aspects innovants de SCPCamera Mais cela a soulev de nombreuses inquietudes tout au long de la r alisation Graces a nos recherches nous avons pu avoir un aper u des capteurs qui correspondaient notre volont de r cup rer la position et la rotation d un objet dans l espace Optique Nous avons rapidement limin l id e d utiliser un syst me optique qui consiste a placer plusieurs cam ras et retrouver par algorithme la position de l objet Un des principales int r ts de ce syst me r side dans son faible co t car il peut fonctionner avec des webcams mais il demande un d veloppement important notamment pour traiter et analyser le flux vid o bien que l on puisse trouver aujourd hui des librairies libres de droits facilitant le travail Mais l inconv nient principale est sans doute le fait que ce genre de syst me est tr
24. e la part de la soci t Virtools et Immersion sp cialis e dans les capteurs 3D David Nahon ancien de A T I et d sormais en charge de la r alit virtuelle chez Virtools nous a mis en relation avec la soci t Immersion pr sente sur le salon apr s avoir vu nos probl mes li s au capteur Polhemus Immersion nous a gracieusement pr ter un capteur optique qui est une cam ra infrarouge prototype cam ra Cyclope permettant de r cup rer la position et la rotation d un objet dans l espace A partir de l nous avons pu faire fonctionner notre cam ra en int grant tr s facilement 20 minutes en tout le dispositif d Immersion avec notre sc ne 3D virtools gr ce au pack VR de Virtools Malgr les d fauts de l application pas d animation pas d interface mais avec un syst me immersif op rationnel nous avons pu rencontrer des professionnels qui ont vu dans notre projet une r ponse pertinante des probl matiques qu ils pouvaient rencontrer dans leurs domaines audiovisuel principalement Le Futuroscope s est dit int r ss par une orientation de notre projet pour les scolaires Le Siggraph nous a encourag crire pour l dition 2007 Nous restons en contacte avec Immersion en esp rant d velopper un partenariat plus approfondi autour de notre application et de leur cam ra cyclope Ce salon de Laval a t pour nous l occasion de faire un premier tat des lieux du projet apr s plusieurs mois dessu
25. e plus souple les rendus taient fait en noir et blanc Dirtmap et taient ensuite retouch s sous photoshop pour la couleur cf Fig 4 16 p 43 Fic 4 16 Les principaux elements de l interface en differentes couleurs Avec cette m thode nous avons pu aussi cr er sans probleme les diff rents tats des boutons car comme sur un site web les boutons changent selon l action du curseur cf Fig 4 17 p 44 Nous avons galement cr un code d ic nes renseignant l utilisateur sur l effet de chaque bouton fonction cf Fig 4 18 p 44 L interface a t un moment d intense collaboration entre Xavier d veloppeur et Nicolas Graphiste car aussit t les l ments graphiques cr s ils taient int gr s dans Virtools Nous pr cedions ainsi a de nombreux tests avant d arriver au r sultat final CHAPITRE 4 LE ROLE DE NICOLAS Layers Channels M Paths Pass Through se Opacity 100 Leck L A P f vo Clk F di L llevek 1 copy 2 E di CC Color Balance 1 copy 2 E Background copy 2 E Layer copy 2 Fic 4 17 Cr ation des differents tat des boutons Fic 4 18 Les Icones des differentes options 44 Chapitre 5 Le role de Xavier Le role principal de Xavier a t de cr er le programme sous virtools le plug in d import sous Maya et tous les outils n cessaires pour l organisation et le travail des collegues 5 1 Programmation sous Virtoo
26. ements sont faits Importer Scene permet d importer un d cor ou des objets servant de r f rence au format nmo Importer Animation permet d importer un personnage ayant une animation Le personnage doit tre enregistr As Character et doit contenir son animation dans le m me fichier Vider la sc ne supprime tous les d cors et les personnages import s Affichage Permet de modifier l affichage de l interface Afficher temps affiche cache les codes temporels en haut de l ecran Temps en Frame Minutes Secondes Affiche les codes en frames ou en minutes secondes et millisecondes Gate 4 3 affiche le cadre correspondant la zone d action au format 4 3 Gate 16 9 affiche le cadre correspondant la zone d action au format 16 9 Divers Cette partie contient les options n entrant dans aucune autre cat gorie Profondeur de Champ affiche ou nom la profondeur de champ Langue change les textes de l interface en fran ais et en anglais ANNEXE B MODE D EMPLOI DU PROGRAMME VIRTOOLS 61 JA a M anis Time Play Time r ES a DO Oo 13 pm Fic B 1 L interface Fic B 3 La boite a outil Annexe C Remerciements A la suite de ce projet nous tenons remercier L quipe enseignante d A T I et tout particuli rement Antoine Pr vost pour ses conseils pertinents et pour nous avoir tres vite mis sur la bonne voie pour l
27. ents cr s dans Virtools On peut galement poser les clefs sur le temps relatif ou temps de lecture Option Camera Only Les clips sont alors pos s les uns apr s les autres sur la timeline de Maya sans consid ration pour les ventuelles animations pr sente dans la sc ne La seconde option est la cr ation de fichier batch Create Batch File evitant l utilisateur de lancer ses rendus Le batch lance les rendus dans l ordre avec les bons intervalles de frames et renomme les images en fonction du numero de clip correspondant On peut choisir lors de l import d utiliser ou non les informations de profondeur de champs Use Depth of Fleld La correspondance entre la profondeur de champs sous virtools et dans Maya est approximative mais fonctionne relativement bien Les informations r cup r es dans virtools sont cependant enregistr s dans la camera et utilisable si le param tre Depth of Field est coch sur la cam ra voulue Les clefs pos es sont d pendantes de la rapidit d execution sous virtools Plus l ordinateur sur lequel les mouvements sont enregistr s est puissant plus il y aura de clefs sur un m me intervalle de temps Pour viter d avoir trop de clefs le param tre keystep permet de n utiliser qu une partie des clefs Si ce param tre est mis a 4 par exemple lors du chargement on n utilisera qu une clefs sur 4 Le dernier param tre le Correct Warp error permet de palie
28. es accrues fournies par le hardware la limite polygonale n a pas t un v ritable souci pour nous De plus l tendue mod lis e et la complexit de la sc ne ne rivalise pas avec celle de jeux vid os ou la contrainte reste plus forte Et m me si les derni res g n rations de cartes graphiquse GPU allegent le processeur CPU de certains calcul 3D complexes la taille des textures reste plus limit e en temps r el CHAPITRE 4 LE ROLE DE NICOLAS 31 4 3 Les textures Pour Maya la taille des texures ne repr sente pas une limite mais allonge le temps de rendu Nous nous sommes donc limit une taille de 1024 1024 pixel cf Fig 4 4 p 32 car avec une taille superieur sur un cran en 1024x768 on n aurait pas vu la diff rence Afin d optimiser la sc ne Virtools j ai limit la taille des textures 128 pixels maximum pour environs 110 textures cf Fig 4 3 p 31 Les textures varies donc entre 32 et 128 pour Virtools Re ae fale aoe Je in i E Li FIG 4 3 Exemples de textures optimis es pour le temps r el Pour ajouter du r alisme la sc ne nous avons utilis une passe d AmbienteOcclusion ou Dirtmap qui a servie pour les ombres de contacts D habitude ce genre de technique s utilise en pr calcul donc pour r utiliser ces informations d ombrage nous avons d rendre sur une texture sp cifique ces informations baking Ensuite dans Maya j ai mi
29. es d environnements qui seraient les plus adapt s a nos attentes Nous avons retenu la sc ne dans la ville car cela permettait d avoir de nombreux sc narios diff rents et originaux tout en restant coh rent a l environnement Une des images qui vient en premier lorque l on voque la ville c est celle de grands buildings de facades modernes et d embouteillages Nous avons voulu nous d tacher le possible de cela en cr ant une ville plus intime et chaleureuse Pour cela Nicolas a effectu un gros travail de recherche pr alable et de rep rages Il a sillonn de nombreux quartiers de Paris ler 4 me 5 me 13 me qu il connaissait pour aller y trouver les b timents et les d tails qui l ont nourri pour l laboration et la coh sion de la ville Pr s de 250 clich s ont t pris allant du mur abim a la porte d immeuble en passant par la facade ou au bloc d immeubles cf Fig 4 1 p 29 L int r t de cette d marche a t triple aide a la pr visualisation permettre de mieux se faire une id e de l ambiance g n rale de la rue 3D aide a la mod lisation se servir des photos comme r f rences pour la mod lisation 3D aider a la cr ation de texture avoir de la mati re pour les textures Ces nombreux clich s ont permis donc de s lectionner les l ments qui semblaient int r ssants mettre dans notre sc ne Tout les l ments ont t photographi s
30. es de la ville et les fils l ctriques Align Vertices Ce script permet d aligner automatique un groupe de vertex edges face ou control vertex selon un axe avec diff rents param tres les aligner sur le vertex ayant la coordonn e la plus grand la plus petite ou une valeur param trable CHAPITRE 5 LE ROLE DE XAVIER 51 Target Pivot Ce script permet de placer le point pivot d un objet l emplacement d un vertex d un point sur une courbe d une face ou tout autre point dans Maya Outils pour le passage de Maya Virtools Renamer Cet outil a t cr pour la version de Laval Avril 2006 Il a t utilis principalement pour marquer les objets dans Maya afin de pouvoir leur appliquer des param tres dans virtools Par exemple nous avons utilis le flag BS pour marquer les objets Both Sided c est a dire les objets comme les parasoles que nous devont pouvoir voir des deux c t s A chaque flag correspondait une action faite l import dans Virtools Export de courbes Lorsque nous avons d cid de cr er une foule pseudo dynamique nous avons d cid d utiliser des courbes pour d terminer le chemin des personnages Mais l outil de cr ation de courbes sous virtools n tait pas suffisament complet nos yeux et il n existait pas d export de courbes entre Maya et Virtools Curve to Locator Nous savions que l on pouvait exporter des locators depuis Maya vers Virtools La premi re par
31. export Virtools Pour augmenter la qualit des rendus nous avons d cid d utiliser du BumpMapping sur les nodes de Diffuses des objets Xavier a confectionn un script reliant automatiquement un node de Bump partir du 2 me Layered Texture texture de diffuse d un mat riau cf Fig 4 7 p 35 Ce script a permis de faire voluer rapidement la scene pr calcul e et d en augmenter la qualit finale Et a l inverse pour pr parer l export vers Virtools il a fallu cr er un script permettant de supprimer seulement les informations rajout es par le ResolutionFiles et le BumpFromLayer Le syst me du Resolution Files a t appliqu ici uniquement a des textures mais il est tout a fait possible de l adapter pour g rer une sorte de Level Of Detail L O D qui offrirait la possibilit de permutter entre des mesh high poly pour du pr calcul et des mesh low poly pour du temps r el L automatisation par script nous a permis deux choses gagner du temps de production viter toute mauvaise manipulation d a une t che d licate ou r p titive CHAPITRE 4 LE ROLE DE NICOLAS TEE e Le iE LA FIG 4 7 Graphe d un shader avec ResolutionFiles et Bump appliqu s par script 39 CHAPITRE 4 LE ROLE DE NICOLAS 36 Fic 4 8 Textures Petit Format Sans Bump q A See a aaa AG q E D ae y LET FIG 4 9 Textures Grand Format avec Bump CHAPITRE 4 LE ROLE DE N
32. iginale Analyse du system existant Une fois la cam ra trouv e il a fallu la d monter enti rement pour comprendre son fonctionnement m canique et lectronique Ainsi apres une analyse et un rep rage des composants R mi a pu trouver une strat gie pour d river les circuits existants et en faire ce que nous souhaitions Recherche d une interface connectable A cette tape il nous manquait un l ment important une interface capable de convertir les signaux logiques et analogiques venant de la cam ra en donn es compr hensibles par Virtools Notre premi re id e fut d essayer la norme MIDI grace aux cartes interfaces dont dispose la formation ATI Mais apres de nombreux tests plut t d cevants R mi eu l id e d utiliser une manette de jeu vid o gamepad Nous avons donc fait l acquisition d une manette PC avec deux leviers anologiques Une fois CHAPITRE 3 LE ROLE DE REMI 23 d mont c est devenu l interface parfaite avec douze entr es logiques quatre analogiques fonctionnant sans pilote Plug N Play sur port USB et parfaitement reconu par Virtools cf Fig 3 17 p 24 Ainsi en connectant les boutons de la cam ra sur la manette de jeu ceux ci sont interpr t s comme des boutons de la manette Pour la bague de la focale nous avons utilis un potentiometre coll au m canisme cf Fig 3 18 p 24 Recherche d une solution pour le retour visuel La cam ra ne disposant pas d un cran
33. int gr il fallait absolument trouver un autre syst me d affichage Apr s de nombreuses recherches nous avons finalement achet un lecteur DVD portable disposant d un cran 16 9 de sept pouces et d une entr e composite cf Fig 3 19 p 25 Avantage l appareil permet d utiliser directement la sortie vid o de la carte graphique de l ordinateur Le d montage fut sensible surtout en ce qui concerne l ecran qui est la partie fragile du syst me cf Fig 3 20 p 25 Mais le r sultat tait tr s encourageant il fallait ensuite int grer les cartes lectronique dans la cam ra et cr er un support pour l cran Pour le support une barre d aluminium a directement t fix dans la cam ra l aide de vis et d crous l cran lui m me tant coll sur une tige rainur et une quaire m talique cf Fig 3 21 p 26 Boitier et cable Une fois le plus complexe pass il ne reste qu r aliser un c ble pour faire passer les diff rentes donn es video usb alimentation electrique et un boitier propre pour connecter au PC cf Fig 3 22 p 26 CHAPITRE 3 LE ROLE DE REMI Fic 3 17 Le Joystick ee Fic 3 18 L interieur de la cam ra 24 CHAPITRE 3 LE ROLE DE REMI s OQ OV YULVID Y e Uw QUO _ VO o z FIG 3 19 Le lecteur DVD Fic 3 20 L ecran d mont CHAPITRE 3 LE ROLE DE REMI Fic 3 21 La Cam ra avec l cran
34. is rotateX L ensemble des param tres des nodes translate et rotate ainsi que la focale et le depth of field sont controll s par le node la racine de la hi rarchie 5 4 Scripts et outils Durant le d velopement du projet plusieurs scripts et outils ont d tre cr s afin de faciliter notre travail et de r duire les temps de production Gestions de Shaders dans Maya Bump from Layer Ce petit script permet d utiliser le n layer d un Layered Texture comme texture de Bump Resolution Files La sc ne 3D que nous avons cr comme d monstration contenait deux niveaux de d tails un pour l export vers Virtools et un pour les rendus Ces deux niveaux de d tails se traduisaient par deux textures de r solutions diff rentes pour chaque objet Le script permettait de cr er un shading groupe qui contenait les deux texture mais une seule tait utilis Un node contenant un parametre modifiable permettait de changer la texture utilis e pour tous les shaders de la sc ne Clean Shaders Ce script tait utilis conjointement avec le pr c dent Il permettait de supprimer tous les nodes inutiles l export vers Virtools Blend colors Bump etc Aide la mod lisation Pipe Ce script automatise la cr ation de tuyau partir d une seule courbe Il place un cercle la base de la les courbe s sel ctionn e s et applique un extrude Ce script a t utilis notamment pour les goutti r
35. le plan humain ce fut la d couverte de la gestion de projet et du travail d quipe sur le long terme D ailleurs face aux difficult s la concertation et la coh sion au sein du groupe ont t un atout important 6 2 Avenir du Projet Notre id e de d part tait de faire une application destin e aux professionnels de l audiovisuel et du cin ma Mais il faut bien remarquer que dans le temps imparti et avec une quipe de seulement trois personnes nous n avons pu faire qu une version moins ambitieuse et plus ludique A Laval Virtuel le projet qui n tait alors qu en version prototype a rencontr un grand enthousiasme Notamment nous avons re u l aide de Virtools et d Immersion pour les probl mes de capteur et avons pris contact avec un responsable du Futuroscope et un organisateur du Siggraph Actuellement nous sommes en relation avec le Futuroscope pour ventuellement tablir un partenariat technique concernant l application SCP cam Prochainement nous allons pr senter le projet au 3D3 a la Villette Num rique et peut tre au Lab des e magiciens A plus long terme nous comptons monter un dossier pour participer au SIGGRAPH 2007 et esp rons aussi pouvoir expos cette installation au centre des Arts d Enghien les Bains 03 Annexe A Scripts Curve to Locator MEL curve2locator mel c Xavier Gouchet global proc curve2locator sel ls sl for curve in sel
36. ls Enregistrement sauvegarde et lecture La premi re partie qui a t programm e fut la partie d enregistrement des mouvements de cam ra Pour cela chaque frame on enregistre la position et l orientation c est dire la Matrice de la cam ra s l ctionn e dans un tableau donc chaque ligne correspond a une frame Dans ce tableau nous gardons galement le zoom la distance focale A chaque fois que l utilisateur arr te d enregistrer le tableau est sauvegard dans un fichier temporaire unique lequel est r utilis pour le montage Pour g rer le montage nous utilisons un second tableau qui contient l organisation des differents enre gistrements Chaque ligne du tableau correspond un clip et contient le fichier correspondant la premi re et derni re ligne du fichier qui sont utilis es le num ro unique du clip ainsi que sa position qui permet de d terminer l ordre dans lequel sont dispos s les clips Enfin chaque fois qu un clip est ajout supprim ou modifi le mouvement final est recalcul Il contient les m mes informations que le tableau d enregistrement avec en plus pour chaque frame le num ro du clip correspondant Animation Il est possible d importer des objets personnages avec des animations pour avoir un rep re lors de l enre gistrement des mouvements de cameras Pour g rer l ensemble des animations pour le cas ot il y en a plusieurs et viter les co
37. n control Rig une sorte de manipulateur g rant le squelette et autorisant la cin matique inverse Pour information le Plot est une proc dure qui ajoute une cl d animation par frame sur chaque objet anim cf Fig 3 9 p 16 Fic 3 9 Correction d un bug lors du transfert Une fois ceci effectu on ajoute de nouvelles couches d animation Layers pour chaque l ment du corps problematique Pr cisons que pour le dynosaure un gros travail suppl mentaire de d shumanisation fut n c ssaire En effet ses animations principales venant d un humain il en avait les mimiques et il a donc fallut lui transmettre une impression de lourdeur et de grandeur Transformation en cycles Il a fallut ensuite convertir les animations de marche et de courses en cycles bouclant sur eux m mes a l infini Pour cela nous avons utilis les fonctions de m langeur d anim Motion Blend de Motion Builder Ici l important tait de bien choisir des positions de d part et d arriv e suffisament similaires dans le but d viter des interpolation de mouvements trop brutales cf Fig 3 10 p 18 Au final six capture de mouvements ont t utilis sur le projet Une fois toutes les animation n cessaires cr es on les sauve avec les personnage dans un m me fichier pour proc der a la mise en sc ne La mise en sc ne Pour appuyer notre projet et tirer pleinement partit des fonctions de montage nous souhaitions avoi
38. nflits lors du passage a Maya nous avons utilis une variable contenant le code temporel des animations Ainsi toutes les animations sont synchronis esz et les mouvements de cam ras se placent au bon endroit dans la timeline de Maya Montage Pour le montage les seuls tableaux modifi s sont celui du montage et l enregistrement final Pour le cut on duplique le clip selectionn et on modifie juste la premi re derni re ligne utile du fichier correspondant 45 CHAPITRE 5 LE ROLE DE XAVIER 46 Pour le crop modification des bornes d un clip on ne fait que modifier la premi re ou derni re ligne utile du fichier correspondant Pour le drag and drop glisser deposer on modifie juste la position du clip qui a t d plac e ainsi que les clips dont la position est modifi e Gestion des codes temporels Dans la partie Virtools nous avons 3 codes temporels differents Le temps absolu ou temps d animation Ce code correspond au temps g rant l animation des personnages dans virtools Il correspond ainsi la timeline de Maya et permet d avoir une synchronisation entre les mouvements de cam ra et les mouvements des personnages que ce soit lors de la relecture dans Virtools ou l export dans Maya Le temps relatif ou temps d enregistrement Ce code temporel commence z ro au d but d un enregistrement de mou vement Il permet d avoir des valeurs plus coh rentes et manipulables lors de l
39. ntern t 00 0 000 0 0 0 0 0 4 4 Le r le de Nicolas AAs NICs RES AA A SR a eon Ge E EA EEE A 12 LS mod lisation 4 oo ee 2 ee ke Oe ee ow de de Be ERE EA OEE ERY RA A do MES UO UIT lt lt coat ete as SP sike de bak see A A Se e a YO Pe S DA Si AAS SONU e Aa oe AA A A RRP ee ee ee eee 4 5 Evolution de la chaine de production graphique ae L VAG ORL AC Co oh te Yee Yoi NE ah Ree ae An DN eh fan fan etc he See 1 AO Se ee AN 5 Le role de Xavier 9 1 Proetanmation SOUS NITEOOLS was dee multa A A mh HR Berk vec a area ey Bom eee 8 24 32 Ploe m NEO OLS na oe es Gee Oe Ja ae de ek Be a D D Re ee ee r Dd PM NAVA winch ee ia en Ge SS A Oe OO ES A Dale SCA PESTE QUISO odds errada Bd ome we A ded ee So de Gl AGONCIUSION xs Y Gules AA eee eo A GAG ee ae ee eee Ya 62 DVE ONE A LO EN ane sae hey Du Mort eee eee Bk Oe he ee BI aed oh Set we Er ede di Be 6 Conclusion et ouvertures A Scripts Mode d emploi du programme Virtools C Remerciements 63 en Hs Ha 10 10 15 22 27 28 28 30 31 34 37 43 45 45 47 47 50 53 93 93 54 58 62
40. plusieurs fois et sous des angles l g rement diff rents pour s assurer d avoir suffisament de clich s exploitables A partir de la nous avons pu d buter le travail de mod lisation a partir des photos 28 CHAPITRE 4 LE ROLE DE NICOLAS A E FIG 4 1 Quelques exemples de sources d inspiration 29 CHAPITRE 4 LE ROLE DE NICOLAS 30 4 2 La mod lisation La mod lisation a toujours t faite a partir de polygones parfaitement adapt s la mod lisation archi tecturale dont nous avions besoin Par ailleurs les Nurbs ou les subdivisions de surfaces de maya ne sont pas des techniques de mod lisation g r es ou optimis es par les moteurs temps r el Pour viter d avoir une sc ne trop cubique de nombreux Biseaux Bevel ont t fait sur les ar tes des murs ou des fenetres Cette technique qui ajoute des polygones trouve son int r t dans le fait de casser les angles droits et ainsi de permetttre a la lumi re de mieux clairer l objet L effet de sp culaire est plus visible et adoucie le mod le 3D cf Fig 4 2 p 30 Angle Net Sp culaire Peu Visible Angle Adouci Par un Biseau Sp culaire Tr s Visible FIG 4 2 Comparaison Biseaut non biseaut Afin de ne pas avoir a refaire une mod lisation sp cifique pour le temps r el et pour le pr calcul nous avons d cid d utiliser une mod lisation low poly pour les deux modes Toutefois avec les performanc
41. pplication permet d voluer dans une sc ne 3D soit au moyen d un capteur de positions et d orientations soit en utilisant le clavier et la souris et de filmer une sc ne virtuelle comme avec une vraie camera L aspect novateur du projet est qu au lieu d enregistrer les images issues des mouvements cr s nous enregistrons directement les mouvements pour pouvoir les diter et les r utiliser ensuite dans d autres logiciels Maya Virtools et pouvoir sortir une vid o de qualit 1 2 Pr sentation en Detail Cette installation est compos e de l application Virtools du plug d export Maya et d une cam ra servant d interface munie d un cran LCD et d un capteur de mouvements Materiel Du point de vue mat riel nous avons d velopp une cam ra factice utilisable sur notre application pour ajouter une dimension immersive au projet Cette cam ra est une ancienne cam ra VHS dont nous avons retir les composants l ctroniques qui permettaient l enregistrement de vid o pour int grer notre propre interface CHAPITRE 1 PRESENTATION DU PROJET 2 Scene 3D Programme Scene 3D Maya gt Virtools gt Maya Camera Capteur 3D FIG 1 1 Principe de l Installation Grace a un cable USB nous pouvons r cup rer la pression sur les boutons de la cam ra ainsi que l utilisation de la bague de l optique que nous utilisons pour la profondeur de champ Ensuite nous avons int gr cette cam ra un cran LCD r c
42. r un probl me sur les rotations cf Fig 5 2 p 49 En effet les valeurs r cup r es pour chaque axe sont situ es entre 180 et 180 Le r sultat est que pour des mouvements cens tre continu on assiste a des sautes se traduisant par des mouvements d sagr ables Cette option tente de supprimer cet effet en analysant chaque clef par rapport a la pr c dente L effet est le plus souvent corrig sauf dans certains cas Cependant si le nombre de clefs est suffisament important une ou deux par frame minimum l option est inutile car les sautes ne se voient pas CHAPITRE 5 LE ROLE DE XAVIER 49 FIG 5 2 Avant et apres la correction des rotations H 7 SCPCameraGroup 1_0 Ei zy track H Zz tall E pan El ge tilt dr o SepCam_ 1 0 FIG 5 3 La hierarchie de notre camera dans Maya CHAPITRE 5 LE ROLE DE XAVIER 50 Une camera d compos e Suite a quelques recherches nous avons d cid d utiliser la cam ra d crite lors d une Conf rence Alias Wavefront cf Fig 5 3 p 49 La cam ra en question est en fait une hi rarchie de nodes qui permet de d composer le mouvement de la cam ra en action rappelant la manipulation d une cam ra r elle Le node track est utilis pour d terminer la position de la cam ra Ensuite le noeud roll sert pour le tanguage rotateZ Puis le pan sert d terminer l orientation de la cam ra rotateY Enfin le tilt est utilis pour le roul
43. r et a placer dans note sc ne 3D L id e est ainsi de s inspirer d l ments r els et de nous servir de ces photos comme bases de textures Munis d un appareil num rique compact nous avons pris pr s de 250 photos de facades d immeubles et d espaces urbains qui nous ont servi a la conception de notre rue Chaque l ment a t pris plusieurs fois pour s assurer le choix d une photos r f rence de qualit Les Choix techniques Nous avons d termin lors de cette maquette les principaux choix techniques en matiere de 3D Une passe d occlusion bak servirait pour les ombres de contact Le fait de baker cette passe nous permettait a la fois de gagner du temps de calcul pour la sc ne pr calcul e mais aussi d am liorer la qualit graphique et le r alisme pour la version temps r el Les personnages seraient anim s a partir de biblioth ques de motion captures Ceci permet notamment dans le cas des animations secondaires de la foule d avoir un r sultat rapide cycle de marche court et dans les animations principales d avoir des mouvements tr s pr cis et r alistes Sous Virtools Le principe de base d enregistrement des mouvements de la cam ra dans Virtools est d fini La notion de timeline pourtant absente en temps r el est cr e Le systeme d export vers maya en fichier texte aussi CHAPITRE 2 NOTRE TRAVAIL 7 La premiere version C est dans un laps de temps tr s court 15
44. r une sc ne d action CHAPITRE 3 LE ROLE DE REMI 17 Ainsi nous nous sommes fix sur le sc nario suivant Un Tyranosaurus Rex arrive dans la ville et d vore un passant La premiere tape fut de d finir les trajectoires et les actions pour chacun des acteurs cf Fig 3 11 p 18 Dans ce travail de metteur en sc ne virtuel nous avons du tenir compte des rythmes de marches des personnage afin d viter les effets de flottement De meme l environnement 3D tant restreint il fallut bien choisir les lieux d entr e en sc ne et de sortie des personnages Le gros de l animation a t l enchainement des diff rents cycles de marche et de course ainsi que le keyframing du parcours des trajectoires Une des difficult s dans l enchaienement est de trouver les bons points d entr e sortie pour le m lange d animation Blending sans quoi des interpolations hazardeuses auront lieux Une premiere tape a consist a fixer grossi rement le d but de l action de l arriv du dinosaure jusqu la poursuite Ensuite nous nous sommes occup du moment critique ou le T rex attaque la victime et la d vore Nous avons donc pr par les mouvements du Trex dans sa course il se penche et tourne la t te avant de les exporter vers Endorphine Dans Endorphine nous avons cr l animation dynamique en essayant plusieurs r glages contraintes et comportement cf Fig 3 12 p 19 Une fois le r sultat sa
45. rement apparait dans la timeline situ e en bas de l cran Ces clips peuvent ensuite tre modifi s dans le mode Cut F3 Nous avons quatre outils de montage Tout d abord le Cut qui permet de couper un clip en deux Cela permet par exemple de ne garder que la partie qui nous int resse et supprimer l autre ou de placer un autre clip entre les deux parties coup es CHAPITRE 1 PRESENTATION DU PROJET 3 L outil Crop permet de modifier les bornes de lecture d un clip afin de ne garder que l intervalle utile L outil Drag and Drop glisser deposer permet de changer l ordre de lecture des clips en les d pla ant simplement a l endroit d sir sur la timeline Enfin l outil Delete permet de supprimer un clip Enfin avec le mode Play F4 on peut relire le montage effectu Ajout s ces options de base il est possible de sauver exporter ou ouvrir un montage Une fois export un montage peut tre utilis dans Maya o le mouvement de cam ra pourra toujours tre modifi a loisir Import Maya La derniere partie de notre projet permet d utiliser dans Maya des mouvements enregistr s dans Virtools Si la scene comporte des animations utilis es comme r f rences dans virtools les mouvements import s peuvent tre synchronis s pour obtenir un r sultat similaire a celui cr dans Virtools En outre le plug permet de cr er le fichier batch automatisant le rendu des mouvemen
46. rtenant un m me bloc en g n ral correspondant un batiment tait regroup en place lesquels n tant affich que si n cessaire Ceci permettait d optimiser l utilisation de la carte graphique CHAPITRE 5 LE ROLE DE XAVIER 52 Personnage dynamiques Lors de la premi re version les personnages avaient un mat riau par l ment pantalon pull peau etc Un script a t cr afin de g nerer une foule dynamique Ce script cf script p 57 permettait de copier le personnage de base en donnant une nouvelle couleur a chacune de ses parties Ce script a permis en quelques minutes peine de cr er facilement une demi douzaine de personnages diff rents ajoutant ainsi de la vie a notre sc ne Chapitre 6 Conclusion et ouvertures 6 1 Conclusion La r alisation de ce projet a pour nous trois t b n fique a plusieurs niveaux Sur le plan technique tout d abord nous avons mis en pratique et enrichie notre savoir I a fallu faire appel notre ing niosit pour d passer certaines contraintes mat riel temps et moyens financiers et r soudre les problemes D un point de vue artistique nous avons pris conscience que dans une installation interactive la perception de l environnement virtuel par l utilisateur d pend de la fa on dont il rentre en contact avec ce monde 3D Dans notre cas l objet usuel qu est la camera rend plus instinctif le rapport entre l homme et la synth se Enfin sur
47. s Des failles sur plusieurs aspects ont t mises nues tandis que les encouragements et les remarques nous ont redonn la motivation et la volont de pousser le projet Nous avons pris conscience de l int r t d aller jusqu une version r ellement plus aboutie CHAPITRE 2 NOTRE TRAVAIL 8 La version Finale Cette version finale a t l occasion de se nourrir des critiques et des d fauts pr sents dans la version de Laval Le but de cette version n a pas t de simplement corriger des bugs mais bel et bien d avoir une application utilisable par tous La prise de contact avec le Futuroscope nous a pouss e a repenser de mani re plus large le public vis par notre application Nous avons d cid de ne pas se restreindre aux seuls professionnels et ainsi de mettre au point une version ludo ducative permettant a tous grace un didacticiel de se familiariser avec le maniement d une cam ra Le web Pour gagner en visibilit et faciliter la pr sentation et la communication autour du projet nous avons d cid de cr er un site web r alis par R mi Nous voyons plusieurs int r ts majeurs poss der un site web communiquer plus facilement sur le projet acc der a tout moment et de n importe ot 4 du contenu descriptifs images et vid os appuyer la cr dibilit du projet en montrant que c est un projet vivant qui volue montrer la multiplicit de nos comp
48. s en color des Layered texture qui permettent la superposition de plusieurs textures la premiere texture tant toujours ma dirtmap la seconde tant la texture de diffuse Cette technique est extrement pertinente car elle permet d exporter le shading sans aucun souci vers Virtools qui a son tour combine les textures On retrouve ainsi le m me r sultat d affichage entre Maya et Virtools A la fa on des calques de Photoshop on peut sp cifier diff rents modes de fusion superposition multi plication cf Fig 4 5 p 33 Un des d fis tait donc de travailller sur une seule sc ne qui servait en simultan e pour le temps r el Virtools et pour le pr calcul Maya Nous venons de voir que grace aux outils sp cifiques de Maya il nous avait t possible de m langer des techniques du pr calcul avec le temps r el Toutefois nous avons d d velopper quelques outils sp cifiques pour nous permettre de travailler de maniere optimale CHAPITRE 4 LE ROLE DE NICOLAS Fic 4 4 Exemples de textures grand format 32 CHAPITRE 4 LE ROLE DE NICOLAS layered exturel filet file 33 Alpha 1 000 Blend Mode Over CE Layer is Visible w Alpha ls Luminance Hardware Color O maj Le Node Behavior i gt Extra Attributes FIG 4 5 Utilisation des LayeredTexture laperedT exture layeredTexture1 al e Focus Presets
49. s sont remplies 5 2 Plug in Virtools Filtre anti bruit L un des premier plugs cr pour l application fut le filtre anti bruit permettant d att nuer les effets de saut lors de l utilisation de la souris pour contr ler la camera et le bruit d au capteur 3D Magn tique ou infrarouge Le principe qui a t utilis est de conserver en m moire les 3 5 ou 7 derni res positions r cup r es a l aide d un capteur ou de la souris puis d en faire cette moyenne Nous utilisons alors cette moyenne comme position de la cam ra que nous enregistrons le cas cheant Ce type de filtre reste classique mais efficace pour peti que la machine soit suffisament puissante En effet nous avons remarqu s sur certaines machines un ralentissement lors de l utilisation du shader de Depth Of Field De fait lorsque nous utilisons un filtre avec 7 valeurs on observe un retard entre le mouvement captur et le retour video Client Serveur Pour la version de Laval Avril 006 nous avons tent de palier au probleme du capteur qui ralentis sait notre application Il a donc fallut d velopper un serveur non bloquant permettant de r cuperer les informations du capteur Polhemus Isotrack IT 5 3 Plug in Maya Charger un montage Le principal int r t du plug in Maya est de r cuperer des mouvements de cam ra cr s sous Virtools Pour cela on lit le fichier texte correspondant a l export qui contient sur chaque ligne les
50. t d un mouvement de camera Le mode Cut Le mode Cut Montage permet d diter et g rer les clips enregistr s Le bouton 5 Razor permet de couper un clip en deux Cela a pour effet de dupliquer le clip choisi et d en modifier les bornes Le bouton 6 Drag n Drop permet de modifier l ordre des clips en glissant les clips les uns par rapport aux autres Le bouton 7 Crop permet de modifier les bornes d un clip Cela ne modifie en aucun cas la vitesse de lecture de l enregistrement mais specifie juste quelle partie du clip sera prise en compte lors de la lecture et de l export Le bouton 8 Delete permet de supprimer un clip Le mode Play Le mode Play Lecture permet de pr visualiser le montage des enregistrements de mouvement de camera Le bouton 5 Play Pause lance et met en pause la lecture Le bouton 6 Stop arr te la lecture Les options Le menu d option permet de configurer le programme et d en utiliser toutes les ressources Fichier Cette partie permet de sauvegarder ou ouvrir un montage effectu avec le programme SCP Camera Nouveau supprime tous les clips et le montage en cours afin de refaire des mouvements dans une scene vierge Enregistrer Enregistre les donn es du montage les fichiers temporaires et exporte le montage au format scp utilisable sous Maya Le programme cr e deux fichiers un pour l export un pour le montage plus aut
51. t pas sp cialis en animation il lui aurait t plus difficile de cr er des animations de qualit enti rement en keyframing Recherche Une fois d cid e l utilisation de la Mocap la premi re t che f t de trouver des fichiers de capture de mouvements libres de droit et surtout exploitables Par exploitable il faut comprendre que les mouvements doivent tre assez proches de ce que l on veut pour notre personnage De meme il est n cessaire que la carrure et la d marche de l acteur ayant servi de mod le pour la capture se rapproche du perso 3D Par exemple une marche captur e sur une femme d un m tre soixante sera difficilement transf rable sur le mod le 3D d un homme d un m tre quatre vingt dix la d marche f minine lui ferait perdre toute cr dibilit Transfert et correction des mouvements Une fois les animations trouv es on proc de un retargeting adaptation permettant MotionBuilder de reconna tre le squelette import et d y appliquer un character Ainsi on peu transf rer la Mocap sur notre perso cf Fig 3 8 p 15 FIG 3 8 Transfert d une motion capture sur un personnage Lors du transfert on remarque tr s souvent des probl mes de d calages des bras et des jambes dus une diff rence de position de r f rence entre la mocap et notre personnage CHAPITRE 3 LE ROLE DE REMI 16 Afin de r soudre ce d faut il faut Ploter l animation sur u
52. tant de le distinguer des autres clips Au dessus de la timeline se trouve la barre de d filement permettant de d placer l ensemble des clips vers la droite ou la gauche lorsque ceux ci ne sont pas tous visible a l ecran De plus les touches Page Up et Page Down permettent de faire un zomm avant ou arriere sur la timeline notamment pour diter plus facilement des clips trop longs ou trop courts et avoir plus de pr cision sur l dition des clips cf Fig B 2 p 61 La boite a outils Le bouton 1 Options cf Fig B 3 p 61 permet d ouvrir le menu des options Les boutons 2 3 et 4 permettent de changer le mode dans lequel on se trouve respectivement Shoot Cut et Play Les boutons 5 6 7 et 8 permettent d effectuer des actions selon les modes dans lequel on se trouve IS ANNEXE B MODE D EMPLOI DU PROGRAMME VIRTOOLS 99 Le mode Shoot Le mode Shoot Enregistrer sert enregistrer des mouvements de cam ra Lorsque la sc ne contient des personnages anim s on utilise les boutons 6 Lancer l animation des personnages et 7 Arr ter les animations pour contr ler ces animations Cela correspond au Action lors d un tournage r el Tant qu il n y a pas d enregistrement de mouvement l action continue en boucle Par contre lorsqu on arrive a la fin de l animation pendant un enregistrement ce dernier s arr te automatiquement Le bouton 5 Enregistrer permet de commencer arr ter l enregistremen
53. tie tait donc de d composer la courbe dans maya et locators correspondant aux edit points de ladite courbe cf script p 54 Frame to Curve Ensuite une fois les locators import s dans virtools un script VSL cf script p 55 permet de les reconvertir en courbes avec la possibilit de cr er des courbes lin aires ou b ziers ouvertes ou ferm es Traitement des donn es par lots Enfin certaines op rations devaient tre faites sur un grand nombre d objets lors de l import dans Virtools Pour viter un travail long et fastidieux il a fallut cr er des actions en VSL permettant de faire ces op rations sur une s lection multiple La premi re de ces operations fut de passer la couleur Diffuse des mat riaux d un gris clair blanc En effet lors de l import par d faut depuis Maya nous nous sommes retrouv s avec tous les mat riaux ayant une diffuse en gris et non en blanc ce qui obscurcissait beaucoup la sc ne Ensuite il a fallut modifier le mode de rendu de certains objets en les mettant Both Sided c est dire visible des deux c t s cf script p 56 Puis il a fallut du moins lors de la premiere version selectionner les objets utilis s lors du calcul des ombres Enfin toujours dans la premi re version nous avions un flag permettant de reconna tre la situation g ographique de chaque l ment de la sc ne cf script p 56 Dans un but d optimisation les l ments appa
54. tisfaisant la sc ne a t r export e vers Motion Builder Les animations venant d Endorphine sont trait es comme une Mocap dans MotionBuilder Elles n cessitent exactement les m mes tapes de retargeting et retouche L animation transf r e sur notre acteur elle est ensuite ins r e dans la s quence a l aide du mode Story La dynamique effectu e et int gr e les tapes pr c dentes sont refaites en se concentrant sur l arriv du second personnage humain Celui ci essai de passer discr tement mais fini par attirer l attention du dinosaure qui lui cours apr s cf Fig 3 13 p 19 Finition et export Une fois les bases de l animation compl te la totalit de la sc ne trajectoire et actions des person nages a t plot e sur les Control Rigs Ainsi a suivi un affinage des enchainements et une correction des interp n trations trop flagrantes Nous en avons profit aussi pour ajouter des d tails d animation des mouvements de t te et de bras On peut noter l utilisation de relations pour animer la queue et la m choire du T rex avec plus de facilit cf Fig 3 15 p 21 Une fois l animation finie l ensemble est fix en keyframing plot avant une derniere sauvegarde Le r sultat est ouvert dans Maya ou la sc ne subit un dernier nettoyage en ne gardant que les animations de personnages Pour finir l animation d finitive est export e vers Virtools CHA
55. ts cr s Chapitre 2 Notre travail 2 1 Pr sentation de l quipe Nous avons t une petite quipe de trois personnes a travailler sur le projet SCPCamera Remi Quittard Xavier Gouchet Nicolas Serikoff De part les exigences du projet nous avons naturellement constitu un groupe aux comp tences vari es touchant a des domaines tr s diff rents l ctronique programmation graphisme mais dans notre cas compl mentaires Ainsi au vue des parcours et des sp cialisations de chacun la r partition des roles et des taches s est faite facilement R mi Quittard avec un bac STI Sciences et Techniques Industrielles et passionn d l ctronique a travaill sur toute la partie tr s technique du projet qui a consist a la mise au point du systeme de la cam ra factice Il a aussi r alis les animations pr sentent dans la scene 3D et gr ce ses connaissances en flash le site web du projet Xavier Gouchet avec une licence d Informatique a travaill sur toute la partie programmation qui com prend aussi bien le noyau principale de l application fait sous Virtools que des scripts Mel ou du d veloppement r seau Nicolas Serikoff avec une licence d Arts Plastiques et un profil artistique a travaill sur toute la partie graphique et principalement sur la partie 3D qui comprend la mod lisation et les textures d une scene 3D optimis e pour le temps r el et le pr calcul L effectif r
56. uement limit par un cable qui relie le capteur en mouvement la borne fixe ce qui fait un diam tre avoisinant les 8 m tres Mais lors des testes que nous avons effectu s pour la maquette nous avons constat une longueur de d placement maximale du capteur de l ordre de 1 m tre avant de perdre tout signal correct A ce probl me de distance c est ajout un probleme d int gration dans Virtools L utilisation du Polhemus dans une sc ne Virtools faisait automatiquement tomber les fps a 10 ou 14 Autrement dit inutilisable en tant que tel dans une sc ne temps r el Scene 3D Pour pouvoir montrer au mieux l utilisation du projet nous avons pens a cr er notre propre environne ment 3D dans lequel l utlisateur voluerait L id e Il a t retenu le choix d une sc ne de rue r aliste car cet environnment nous permettait de rajouter facilement des sc nes d actions qui serviraient de mati re a filmer Le but tait d avoir une sc ne plus d monstrative qu originale L id e d un syst me de foule a t abord et retenu pour donner un aspect plus vivant et plus dynamique Le principe d avoir des acteurs princpaux effectuants des actions personnalis es a aussi t adopt Ces acteurs sont les centres d int r ts de l action R p rages photos En parall le des recherches sur les capteurs nous avons commenc un travail de rep rages de lieux qui nous semblaient pertinants reconstitue
57. up r sur un lecteur DVD portable afin d avoir un retour visuel directe de l interaction entre l utilisateur et l application La cam ra est reli e un bo tier via un c ble parall le ou un c ble RJ45 Le bo tier permet de r cup rer les informations video et audio pour les transmettre a la cam ra et transmet l utilisation des boutons de la cam ra a l ordinateur Enfin un capteur de position peut tre plac sur la cam ra ind pendamment des c bles utilis s pour l cran et les boutons de la cam ra Cela permet d avoir un mat riel tr s portable pouvant tre aussi bien utilis avec un capteur magn tique Polhemus par exemple ou un capteur optique infrarouge Cyclope par exemple Application Virtools Le programme virtools s articule autour des trois fonctions de notre projet Shoot Cut and Play Enre gister monter et rejouer Dans le programme Virtools chaque mode est compartiment et distinct des deux autres Cela offre un moyen d orienter l utilisateur dans l tapes de la r alisation d un projet Utilisation La premi re partie du programme est le mode Shoot F2 permettant de se d placer librement dans la sc ne et d enregistrer le mouvement de cam ra touche R ou bouton enregistrer Le d placement peut se faire avec la souris pour l orientation et le clavier touches Z Q S D ou un capteur de positions orientations capteur magn tique ou infrarouge Chaque enregist
Download Pdf Manuals
Related Search
Related Contents
MDV-2 manual 2009 page web Peavey Mark III Series Musician User's Manual MPC-2190 Hardware Manual HDMI Matrix Switcher with 2x2 Videowall function Kensington KeyFolio Thin X2 Plus iPad Air PRG540 Digitus LC OM3, 5m MODELLER A Program for Protein Structure Page 1 of 4 取扱説明書 Copyright © All rights reserved.
Failed to retrieve file