Home
        Compte rendu de projet SIMULATION 3D
         Contents
1.       1   var couleurEntrer   Color   Color green   2   var couleurSortie   Color   Color white   3 var Palette   Game0bject    4 var Carton   Game0bject    5 var msg   String    6     var monScriptB   UDPReceive    7  var scriptB  UDPReceive       var sens   int    9   function Start       co  pu       10 scriptB   this GetComponent   UDPReceive     111 sens  0    12     13 function OnMouseEnter       14 guiText material color   couleurEntrer    15     16     177 function OnMouseExit       18   guiText material color   couleurSortie    19     20H  function Update      21   1f scriptB copie     Creer carton      22 if sens    0     23 var clone 2   Instantiate Carton Vector3  0 1489229 13 24764  62 2034  Quaternion Euler 270  0  0     24 scriptB strReceiveUDP         25   sens   1    26   27 elsef   8   var clone 3   Instantiate Carton Vector3  0 1489229 13 24764  62 2034   Quaternion Euler 270  0  0     29   30   scriptB strReceiveUDP         31 sens   0    32     33     34 H    35     36  function OnMouseUp       37      38      cube   Instantiate cube  transform  position Vector3 0 0 4   Quaternion  identity    39    Instantiate Carton Vector3  0 1489229 13 24764  62 2034   Quaternion Euler 270  0  0       40      1    17    Reinit js      1  var couleurEntrer   Color   Color green    2  var couleurSortie   Color   Color white    3 var Palette   Game0bject    4   var Carton   GameObject    5  var msg   String         6  var scriptB  UDPReceive     7   9E  function Start   
2.     10 scriptB   this GetComponent  UDPReceive     11 4     12   3H  function OnMouseEnter       14 guiText material color   couleurEntrer   15   16   17E  function OnMouseExit          8 guiText material color   couleurSortie   19 LI    28 2  function Update   _  21 if scriptB copie   Relancer     22 Application LoadLevel  cube      3    24       29  26E  function OnMouseUp      27    Application LoadLevel   cube     28  29      MenuTourner js      1 var couleurEntrer   Color   Color green    2  var couleurSortie   Color   Color white    3   var Obj   GameObject    4  var sens   int    5  war t   float    6  var monScriptB   UDPReceive    7 war scriptB  UDPReceive     8   9 3  function Start      10 scriptB   this GetComponent  UDPReceive     11   0bj   GameObject Find  Carton Clone      12 sens 0    13 4 t    14 function OnMouseEnter      an   guiText material color   couleurEntrer   16      ER    182  function OnMouseExit   1  19    guiText material color   couleurSortie   20     21  Za    23  function Update      24  25 413        function OnMouseUp      28   scriptB strReceiveUDP    Tourner      ll      aa 1    18    Creer js      15  pragma strict   2   3   var couleurEntrer   Color  4   var couleurSortie   Color  5     var Palette   GameObject   6   var Carton   Game0bject   7   var msg   String    8     var monScriptB   UDPReceive   9    var sens   int     19   var scriptB  UDPReceive     11  function Start      Color green   Color white     12      3    sens  0   14 
3.    scriptB   this GetComponent  UDPReceive     15  13  16    172  function OnMouseEnter      18    guiText material color   couleurEntrer   19  20    21  function OnMouseExit      22    guiText material color   couleurSortie   23  24     25H  function Update      26  27 if  scriptB copie     Creer palette     28 var clone   Instantiate Palette Vector3 52 10294 19 2308  13 97307    transform rotation    29   i scriptB strReceiveUDP        308    J       he       function OnMouseUp        var cube   GameObject   GameObject  Find   1  var cube   GameObject Find  cube        cube   Instantiate cube  transform  position Vector3 0 0 4  Quaternion  identity   y    var clone   Instantiate Palette Vector3 50 10294 19 2308  13 97307   transform  rotation       WW UJ W UI U W W UI  OO     O   Cn     UNA    Objet js  mouvement camera       1 8   1 8     1  var moveSpeed  2 var turnSpeed    5  2      4 1 function Update            sil 1f Input GetButtonDown  Jump      6 1   7 transform position z    1 0    8          10   1f Input GetButton  Forward     i     11 transform position    transform forward   moveSpeed   Time deltaTime   12   3   if Input GetButton  Backward   t     14 transform position     transform forward   moveSpeed  Time deltaTime   15       16   if Input GetButton  Left           17   transform eulerAngles y     turnSpeed   Time deltaTime    8     19   if Input GetButton  Right     4 i     2l transform eulerAngles y    turnSpeed   Time deltaTime    211       ME    19    
4.   function Start     scriptB   this GetComponent  UDPReceive       function OnMouseEnter      guiText material color   couleurEntrer     function OnMouseExit      guiText material color   couleurSortie        function Update       if scriptB copie     Creer carton       var clone 2   Instantiate Carton Vector3  0 1489229 13 24764   62 2034   Quaternion Euler 270  0  0       scriptB strReceiveUDP        sens   1          function OnMouseUp   t  Instantiate Carton Vector3  0 1489229 13 24764  62 2034   Quaternion Euler 270  0  0            Figure 4   Creer carton js    Ce second script concerne la cr  ation des cartons  il est li   au menu    cr  er carton     Dans  un premier temps on d  fini deux variables de couleurs couleurEntrer et couleurSortie  ainsi qu une  variable d objet Carton et un script correspondant au script de r  ception UDP     Dans la fonction Sfart    on lie la variable scriptB au script existant UDPReceive cs  cela  permet d   interagir avec les variables contenu dans ce script     La fonction OnMouseEnter    correspond    l action qui se passe lorsque la souris passe sur le  menu  ici on change simplement la couleur des lettres lorsque la souris passe dessus ou lorsqu elle  n y est pas  OnMouseExit        Dans la fonction Update    on scrute une copie du message re  u sur le port r  seau  si ce  message correspond       Creer carton    alors on effectue l action qui consiste    cr  er un objet de  type Carton     l emplacement   0 1489229  13 24764   62 2
5.  IPEndPoint anyIP   new IPEndPoint IPAddress Broadcast  port      IPEndPoint anyIP   new IPEndPoint IPAddress Any  0    bytel  data   client Receive ref anyIP    string text   Encoding UTF8 GetString  data    strReceiveUDP   text     Debug Log strReceiveUDP    catch  Exception err     print err ToString        public string UDPGetPacket      return strReceiveUDP         e OnDisable      if   receiveThread   null  receiveThread Abort     client Close       14    UDPSend cs         using UnityEngine    using System Collections   using System    using System Text    using System Net    using System Net Sockets   using System Threading     public class UDPSend   MonoBehaviour       public string IP    192 168 1 10      default local  public int port   26000    IPEndPoint remoteEndPoint    UdpClient client    string strMessage        pari  void Start      init     i  void OnGUI    Rect rectObj new Rect 40 120 200  400    GUIStyle style   new GUIStyle     style alignment   TextAnchor UpperLeft   GUI  Box rectObj  UDPSendData n IP     IP   Port     port style     14  strMessage GUI TextField  new Rect 40 160 140 40  strMessage    if  GUI Button new Rect 180 160 80 40   Send        sendString strMessage    l  public void init    remoteEndPoint   new IPEndPoint IPAddress Broadcast  port      remoteEndPoint   new IPEndPoint IPAddress Any  port        remoteEndPoint   new IPEndPoint IPAddress Parse IP   port    client   new UdpClient          private void sendString string message   e  
6.  fonctions fournies par OpenGL     Sur internet la communaut   OpenGL est active mais elle est bien plus dirig  e vers les  professionnels  peu d amateur l utilise     b  Unity 3D    Ce logiciel d  velopp   par Unity Technologies est ce qu on appelle un    game engine    en  d autre terme il s agit d un moteur 3D et physique concu pour la r  alisation des jeux vid  o et des  animations en temps r  el     Un petit d  tour sur leur site internet nous montre que ce logiciel est tr  s utilis   par les   diteurs  ind  pendants de jeux vid  os  la communaut   y est tr  s active et concerne les utilisateurs d  butant     Le logiciel Unity 3D propose un environnement 3D dans lequel il est possible de cr  er des objets  complexes    partir d objets basiques tels que des cubes  sph  res  cylindres ou plan  Leurs animations  sont ensuite r  alis  es dans des scripts attach  s    l objet en question  ceux ci sont r  dig   en C     Javascript ou BOO     c   Irrlicht    Irrlicht est un logiciel 3D open source programm   en C    il n a pas vocation a devenir  lucratif  pour cette raison il est disponible gratuitement en t  l  chargement  Il est destin   en  particulier aux amateurs souhaitant cr  er des jeux vid  o  Le logiciel est moins puissant que les deux  cit  s pr  c  demment  il est plus utilis   pour r  aliser des environnement que pour des objets anim  s     Irrlicht   tant un logiciel peu connu il est difficile de trouver des tutoriels o   des guides pour  sa prise en main  m  me 
7. 0   function OnMouseUp      41    42 if sens    0   l   43   t    Time deltaTime 3   44    45 Cyl transform position   Vector3 Lerp Vector3 0 39573 4 802913  23 45374   Vector3 0 39573 5 102913  13 36388   t   46 sens 1    47    48 elsef     49 Cyl transform position   Vector3 0 39573 5 102913  13 36388    50 sens 0    51     52       53   54       21    
8. 034  du rep  re global et ayant une  rotation sur l axe X de 270 degr  s  Ensuite on r  initialise le message re  u pour   viter les cr  ations  multiples     Enfin la fonction OnMouseUp    indique l action    effectuer si l on clique sur le menu  en  l occurrence ici on cr  e un objet de la m  me mani  re que pour l action pr  c  dente     c  Rendu visuel    Sous Unity 3D  le principal objectif   tait de rendre l animation la plus esth  tique possible en  ajoutant des textures pour les objets  les murs  le sol etc  Aussi  le tapis servant    faire avancer les  palettes et les cartons a d     tre mod  liser dans ce logiciel afin de pouvoir en faire une animation et  rendre quelque chose de dynamique  Les textures n ont pas   t   cr     directement  certaines   taient  d  j   fournis avec le logiciel  d autres ont   t   import      partir de sites internet qui en proposaient   comme le site www cgtextures com par exemple         Apr  s les modifications effectu  es et dans l optique du meilleur rendu possible  nous avons  obtenons la sc  ne suivante          lt Q Unity   cubeunity   Unity Projects   PC  Mac ilnux Standen   O a ed    Window Help                            Figure 5   Sc  ne Unity 3D  d  Mis en place de la sc  ne  L animation va donc se d  composer en plusieurs   tapes  comme suit        1  A ce niveau  nous allons cr  er la palette qui va servir    accueillir les cartons  Cette  palette     la demande de l utilisateur  via UDP ou par appuie sur le bouton    Cr  
9. Rotationcarton js      scriptB   this GetComponent  UDPReceive           Tourner        H    orm Rotate Vector3 0  0  90     scriptB strReceiveUDP        sens 1     transform Rotate Vector3 0  0   90     scriptB strReceiveUDP        sens 0     1E  2    var scriptB  UDPReceive    3   var radius   float   1   4   var sens   int   5  6H function Start     7  8 sens 0   9 L  10    11 function Update          12 1f scriptB copie  3 if sens  14  15 transf  16  17  19 elsef  20  21  22  24     25      26    20    Envoi js      1  var couleurEntrer   Color   Color green   2 var couleurSortie   Color   Color white   3 var Cyl   Game0bject    4  var sens   int    5  var t   float    6 var monScriptB   UDPReceive    7  var scriptB  UDPReceive      92  function Start     10   scriptB   this GetComponent    UDPReceive       11   Cyl   GameObject Find  Cylinder     12 sens 0   ig    14  function OnMouseEnter       15   j guiText material color   couleurEntrer   16     17  18  function OnMouseExit       19   guiText material color   couleurSortie   20     21   22     23H  function Update       24   if scriptB copie     Envoyer      25   if sens    0     26 t    Time deltaTime 3    27  28 Cyl transform position z Vector3 Lerp Vector3 0 39573 4 802913  23 45374   Vector3 0 39573 5 102913  14 36388   t    29 scriptB strReceiveUDP         30 sens 1        32   elsef   33 Cyl transform position   Vector3 0 39573 5  102913   14 36388    34 scriptB strReceiveUDP         35   sens 0     37        4
10. bytel  data   Encoding UTF8 GetBytes  nessage    client Send  data  data Length  remoteEndPoint    H  catch  Exception err        print err ToString        void OnDisable      if   client   null   client Close       15    Menuarret js      couleurEntrer   Color  couleurSortie   Color  Obj   GameObject   sens   int    t   float    monScriptB   UDPReceive   scriptB  UDPReceive      var  var  var  var  var  var  var       function Start      scriptB   this GetComponen   Obj   GameObject Find  Con  sens 0     H pa   00 CO  J ou     GO h2 I    12  13  14H function OnMouseEnter        Color green   Color white     t  UDPReceive     veyor       15 guiText material color   couleurEntrer   16  17      8H  function OnMouseExit   1  19 guiText material color   couleurSortie   20  21    22 function OnMouseUp      3   scriptB strReceiveUDP    Arret    24  MenuMarche js     1  var couleurEntrer   Color   Color green    2 var couleurSortie   Color   Color white    3 var Obj   Game0bject    4  var sens   int    5  var t   float      6 var monScriptB   UDPReceive    7   var scriptB  UDPReceive     9   function Start       10 scriptB   this GetComponent  UDPReceive     11 Obj   GameObject Find  Conveyor      12 sens 0    13   14  function OnMouseEnter       15 guiText material color   couleurEntrer   16   17       18  function OnMouseExit     a  19 guiText material color   couleurSortie   20         22  function OnMouseUp       23 scriptB strReceiveUDP    Marche     24    16    Creer_carton js
11. ciels les plus utilis   dans le domaine de la simulation 3D     Ce logiciel est issu du programme 3D Studio  Les programmeurs de Kinetis  une des  divisions d Autodesk Media and Entertainment  l ont cr     apr  s l avoir totalement repens   et donc  cr     quelque chose de nouveau     Le logiciel 3ds max s est rapidement fait connaitre et est utilis   principalement dans le  domaine du jeu vid  o  Il a   galement   t   utilis   dans d autres domaines  notamment le film  d animation avec Kaena  la proph  tie  3D Studio Max est   galement utilis   dans de nombreux films  comme  X Men II  Bulletproof Monk  The Core  Final Destination IL  Jason vs Freddy ou plus  r  cemment pour le film 2012     Le choix de ce logiciel a   t   motiv   par le fait qu il nous a permis de mod  liser les objets que  l on voulait inclure dans notre animation  mais surtout par le fait que chaque objet pouvait   tre  export   et que l exportation est compatible avec Unity 3D  qui permettait   galement de mod  liser  des objets mais de mani  re plus complexe     Ainsi  apr  s une br  ve prise en main  la cr  ation de chaque   l  ment a   t   faite plut  t  rapidement et facilement     b  L application    Pour notre application  la simulation 3D d un syst  me palettiseur   plusieurs   l  ments devait    tre pr  sent comme        Les tapis     Les barres de s  curit   pour les tapis     Les cartons     Les palettes     La petite salle o   partiront les palettes en fin de parcours      Le v  rin    Dans l o
12. cr  er des  objets et de les animer     a   Description des diff  rents   l  ments et fonctions    Envoie de message par r  seau UDP   deux scripts permettent l envoie et la r  ception de  message sur le r  seau UDP  ils se nomment    UDPReceive cs    et    UDPSend cs     ceux ci sont  fournis librement sur le forum officiel de Unity 3D  Lors du lancement de l application il est  n  cessaire de renseigner l adresse r  seau du PC    serveur     On peut aussi envoyer des messages sur  le r  seau via un logiciel ind  pendant tel que    Engine Packet Builder    la r  ception sur Unity  fonctionne toujours     Convoyeurs  tapis roulants    les tapis roulant sont constitu  s d un cube allong   et de faible    paisseur  des barres de s  curit   ont   t   mis tout du long des convoyeurs pour   viter que les cartons  o   les palettes ne tombent   des blocs de collider ont   t   mis en place sur ces barri  res      La friction physique du tapis est fix  e    0 afin de pouvoir faire glisser les objets dessus  les  scripts li  s    cet   l  ment permettent d arr  ter le tapis ou de le mettre en marche  Pour faire bouger  les objet sur le tapis on r  cup  re la direction du tapis dans le script et on d  place l objet qui est  dessus dans la m  me direction     Cr  ation d objets   les palettes et les cartons peuvent   tre cr  es par l utilisateur  il peut saisir  sil le souhaite les mots    Creer carton    ou    Creer palette    sur le r  seau UDP  ou gr  ce aux  menus plac  s au niveau d
13. ction Update         5  if Iinput GetButtonDown   Jump     t      t  16 if  Input GetButton  Forward      transform position    transform forward   moveSpeed   Time deltaTime     transform position z    1 0     if  Input  GetButton     Backward        14 transform position     transform forward   moveSpeed  Time deltaTime   16 if Input GetButton  Left     4      17 transform eulerAngles y     turnSpeed   Time deltaTime   1 if Input GetButton  Right     4  zoj transform eulerAngles y    turnSpeed   Time deltaTime     H       Figure 3   Objet js    Les variables moveSpeed et turnSpeed correspondent    la vitesse de la cam  ra en d  placement et en    rotation  les actions qui se trouvent dans la fonction Update sont r  alis  es en continu     chaque  unit   de temps  la fonction est parcourue      Si la touche Jump est actionn  e      espace   la cam  ra se d  place de 1 sur l axe Z  Si les touches  Forward  z  ou Backward s  sont actionn  es alors la cam  ra ira vers l avant  ou l arri  re   son  d  placement sera proportionnel    la vitesse contenue dans la variable moveSpeed  le Time deltaTime  est une variable qui d  finie une unit   de temps  pour effectuer le mouvement en continu      Enfin un appuie sur la touche Lefi q  ou Right d  effectue une rotation autour de l axe Y en fonction  de la vitesse d  finie dans la variable turnSpeed     var couleurEntrer   Color   Color green   var couleurSortie   Color   Color white   var Carton   GameObject   var scriptB  UDPReceive  
14. e la camera  Dans tous les cas l   l  ment souhait   est cr  e aux coordonn  s  correspondants aux bouts des tapis roulant     Rotation des cartons   lorsque le carton est plac   dans la palette il est possible de lui faire  effectuer une rotation de 90 degr  s  selon l axe Z   Cela peut   tre effectuer avec la commande     Tourner    envoy   sur le r  seau ou par le menu en cliquant sur    Tourner        Exp  dier la palette   si l utilisateur le souhaite il peut exp  dier la palette sur le dernier tapis  roulant pour qu il aille finir sa course  la commande    Envoyer    permet de r  aliser cette fonction   aussi disponible sur le menu   le v  rin ayant deux positions il est n  cessaire d effectuer la    commande une seconde fois pour que la plate forme de chargement revienne en place  translation  avant et arri  re sur l axe X      R  initialiser la sc  ne   pour r  initialiser la sc  ne l utilisateur peut saisir    Relancer    dans le  champs d envoi sur le r  seau UDP ou bien cliquer sur    R  initialiser    dans le menu  Cela aura pour  effet de relancer la sc  ne et de faire dispara  tre tous les nouveaux objets cr    s     b  Exemple de fonctionnement de script    Afin d illustrer le fonctionnement des scripts r  alis  s sous Unity  nous allons prendre deux    exemples fournis en annexe  Le premier sera le script de d  placement de la cam  ra  objet js  et le  second   tant la cr  ation de carton  Creer carton js      var moveSpeed 1 0   2 var turnSpeed 1 0     4  fun
15. er      va appara  tre  et va avancer sur le tapis jusqu    arriver au point 2       2  Cet   l  ment va   tre l endroit o   la palette sera d  pos  e afin d attendre que les cartons  arrivent  Chaque palette pourra accueillir deux cartons  Cet   l  ment est tenu par un v  rin qui  laissera passer la palette une fois toutes les conditions r  unies       3  Ici  et aussi    la demande de l utilisateur  un carton sera cr     et avancera sur son tapis   Le premier carton  une fois dans la palette  devra tourner avec celle ci de 90 degr  s puis attendre  qu un second carton vienne se d  poser       4   Cet endroit servira    d  poser les palettes munis de leurs cartons  En effet  une fois que  les conditions seront r  unies et que l   l  ment 2 aura rel  ch   sa palette  celle ci avancera sur le  dernier tapis et sera rel  cher dans cette pi  ce     10    On peut donc r  sumer le syst  me par   en premier lieu  cr  er la palette et attendre qu elle  arrive jusqu    l   l  ment 2  Une fois positionn  e  un premier carton doit arriver  et faire une rotation  de 90 degr  s  dans la palette en attendant l arriv  e d un second carton  Une fois la palette pleine  le  v  rin doit retirer l   l  ment 2 afin de laisser partir cette palette jusqu    la pi  ce 4  o   on peut imaginer  que le carton sera trait   par un second syst  me     V    Ajout possible    l application    A notre application  nous avions essay   d apporter quelques fonctions suppl  mentaires que  nous n avons pas r  us
16. ets Butee Creer     Creer cart   Cube fi Code  s     m      cale cube    gt     x  10 Y z  5 Cube Materi  Yi cubed iesh Filter    Cube pia Prefab  Js Js Js  Mesh cube o Y fi tanda Cub Envoi MenuAi  Y   box collider pa Coba Pacha   Cube mave nvoi lenuArret  Is Trigger Cube Light     1  Material None  Phvsic Mate    CURE Pii Licht  Y Grosse boite  gt   ae Parti J J G  Center  gt  Fenetre Phys   E  x 0 Y 0 Z 0 j  3  gt  Plane001 pia Proj  MenuMarche MenuTourn   Nouv  Size P Plane002 Pia Scrip  x YT zit  gt  Plane003 Pig Skyt l 1 1  Y  Mesh Renderer     gt  Plane004 Ph Terr  BEG  gt  Plane00s PR Tess Js J 5      Receive Shadows      M YE Ango Moo   gt  Materials Plane007 Phi Standa Objet Palette Run  Use Light Probes P Plane008 Tree T  Main Camera 1  Rotation    Comme on peut le voir  cet environnement est compos   de cinq zones bien distinctes                         O console lle    Maximize on Play   Stats   Gizmos     Menucreercarton Js   Js  menuEnvoi  n MenuReinit Recuvjs Reinit  Creer une palette ETE  Creer un carton  gt  Mur 1 1  Envoyer  gt  Palette  Tourner  gt  Palette Js Js Js   gt  Palette   gt  Palette Rotation cy   Rotationcar  Supprimer  A arret Marche  gt  Palettiseur  N     ER    1  DR TE Point light    gt   WN    Reinitialiser    Sol v E  b    ME  SS DD  gt  train                    bject reference not set to an instance of an object    Figure 1   Environnement de travail de Unity 3D       La premi  re correspond    l aspect visuel de la sc  ne en trois dimensi
17. o       POLYTECH  O  Universit      Lil lel    LILLE    Compte rendu de projet    SIMULATION 3D    LEULIET Nicolas  ALEXANDRE Nicolas    Sommaire    A OR sn sand Gwen N Gran 3  E   OhorxdesIootCie Sid si esce edu da is 4  A ODE d a coss tss hares sts Ge pe Ete M ne eo anaes 4   b  Unity a o o e Ge E e eer 4  PP QUE EE LE 4   II    Pr  sentation de l environnement de Unity 3D ss 5  M  Pr  sentation d   SDS MAR n A A ten E a 6  a  Desorption oiean auos NN satay a a a TN tach 6  DL ICAIONEs A EA PON EE 7   IV  R  alisation du PEO ann a EEE A a oci ee TRS 8  a   Description des diff  rents   l  ments et fonctions    8   b  Exemple de fonctionnement de ta E garde ap Res 9  Rendu vise oe eaaa a ee Gee Ge a ec ee eee 10  V  Ajout possible l applieatioti ren e tuc ee A e uet ud 12  a  UNS pintes en A T E Ge de de 12  o SE ES OG Ee a ud e eae RP EN Eos 12   c  TP collisionsdes OS ads 12  VII    Mode d emploi pour une utilisation normale    13  NI C CONCUSSION SEEN v SE Rd Ge Ge 14  AMES LEE 15    Introduction    L objectif du projet de ce semestre est de r  aliser une application permettant une  visualisation 3D d un syst  me physique  ce projet a   t   propos   par Monsieur B  Conrard     Pour cela nous utiliserons des logiciels de mod  lisation 3D  Unity  3DSMAX  dans le but de cr  er  une application ressemblant au palettiseur utilis   lors des s  ances de TP du premier semestre  cours  de Grafcet      Dans un premier temps nous argumenterons sur le choix du logiciel de mod  lisati
18. on  on peut y placer  directement les objets  modifier leur taille ou leur rotation gr  ce    la souris  On peut aussi naviguer  dans cet environnement gr  ce aux touches directionnelles du clavier et avec la souris     La seconde zone correspond au point de vue de l objet    Main Camera     il s agit en fait du  point de vu que l utilisateur aura quand il ex  cutera l application  Gr  ce    un script con  u par nos  soin  on est capable de se d  placer dans la sc  ne une fois l application lanc  e     La troisi  me zone correspond aux caract  ristiques d un objet lorsqu il est s  lectionn    on  peut y voir sa position dans le rep  re  x y z   sa rotation par rapport aux axes du rep  re  sa taille et  les diff  rents composants li  s    cet objet  scripts  collision  gestion physique de l objet  etc          La quatri  me zone est l endroit o   l on peut s  lectionner les objets d  j   cr    s et o   l on peut  regrouper des objets afin de r  aliser des    prefab     ensemble d objets primitifs  cube  sphere  plan   cylindre  o   objets 3D import  s    partir d un logiciel tiers     Enfin la cinqui  me et derni  re zone est un navigateur permettant de retrouver les scripts  les  prefabs et les textures li  s au projet ouvert     Ill    Pr  sentation de 3DsMax    a  Description    3D Studio Max  ou 3Ds max  est un logiciel de mod  lisation et d animation 3D  d  velopp    par la soci  t   Autodesk  Il est  avec Maya  Softimage XSI  Lightwave  Houdini et Blender  l un des  logi
19. on en  fonction des avantages et des inconv  nients de chacun d eux     Par la suite nous d  taillerons notre travail r  alis   pour aboutir    la r  alisation du palettiseur    la conception des   l  ments physiques  la cr  ation des diff  rents scripts ainsi que le travail effectu    pour obtenir un rendu visuel satisfaisant     Avant de conclure nous reviendrons sur les diff  rents obstacles auxquels nous nous sommes  confront  s     I    Choix des logiciels    N ayant jamais r  alis   de mod  lisation 3D au cours de nos   tudes  la premi  re chose    faire  a   t   de nous tourner vers notre enseignant encadrant  Mr Conrard  qui nous a dirig   vers trois  diff  rents logiciels   OpengGL  Unity 3D et Irrlicht  Pour chacun d eux il existe une version gratuite  accessible aux   tudiant  il fallait donc faire un choix  Pour cela nous avons effectu   une recherche  pour chaque logiciel afin de d  terminer lequel d entre eux conviendrait le mieux    notre projet     a  OpenGL    OpengGL est une sp  cification reconnu et tr  s largement r  pandu dans le domaine des jeux  vid  os professionnels  elle a   t   cr  e par la Silicon Graphic     Sa documentation fournie par le d  veloppeur est bien compl  te et les applications cr  es sont     puissante     ce qui n est pas forc  ment essentiel pour notre projet  De plus il n existe pas  d environnement 3D pour cr  er les objets de base    la main  comprendre gr  ce    la souris   en effet  tous les objets doivent   tre cod  s via des
20. ptique de travailler   galement sur le TP utilisant des trains  nous avons aussi cr     un  train  basique  que nous avons inclus dans notre animation    la fin  en tant que    d  coration         L image ci dessous nous montre un exemple pour le palettiseur  qui a   t   ensuite modifi   dans  Unity3D  et le train  dans lequel on peut voir l espace de travail que nous propose le logiciel          Top    Wireframe        Front   Wireframe      Object Type    Name and Color         teft    wireframe        Figure 2   Environnement de travail 3DS Max    Dans cet image  on peut observer en bas    droite l ensemble en 3D alors que dans les autres  fen  tre on peut avoir les objets vu de face  de gauche ou encore une vue de haut  Ainsi  on peut voir  les deux tapis  l  g  rement modifi  s sous Unity  la palette en bout du tapis qui va recevoir les  cartons  boite marron       La partie    droite de l   cran permet de cr  er d un objet comme un cylindre  une boite  un  tube ou encore un simple plan     IV    R  alisation du projet    La prise en main du logiciel a   t   la premi  re   tape du projet  cela a   t   facilit   gr  ce au  nombreux tutoriels disponibles sur la toile  Il en existe sur des sites de vid  os en ligne tels que  Youtube ou Dailymotion  mais aussi sur des sites internet plus sp  cialis  s tel que unity3d france fr  ou encore directement sur le site officiel du logiciel   unity com     Ces tutoriels nous ont permis de comprendre le fonctionnement des scripts  de 
21. r  er une palette     Creer palette    sur r  seau ou par le menu    Attendre que celle ci arrive sur la plateforme de chargement   Cr  er un carton     Creer carton    ou par le menu     Attendre que celui ci atteigne la palette    Tourner le carton     Tourner    ou par le menu     Cr  er un autre carton    Attendre que celui ci atteigne la palette     Une fois dans la palettes  exp  dier le tout sur la fin de la chaine     Envoi    ou par le  menu      Ne pas oublier de replacer le v  rin     Envoi    une nouvelle fois ou par le menu      10  Recommencer le cycle     12    VIII    Conclusion    Pour conclure  ce projet nous a permis de d  couvrir des logiciels d animation 3D dont nous  n avions jamais eu l occasion d essayer  Ces logiciels et ces types de programmation   tant utilis  s  dans de nombreuses applications  il a   t   int  ressant d avoir quelques connaissances  suppl  mentaires dans ce domaine  Aussi  ce projet nous a permis de d  velopper notre sens de  l organisation  notamment dans la r  partition des t  ches et la gestion du temps  C   tait en effet notre  premier v  ritable projet sur une p  riode plut  t longue  tout cela nous a permis de comprendre un  peu plus la mani  re de r  aliser une application     Le projet en lui m  me a   t   men      bien et donne l animation que nous avions imaginer au  d  part  malgr  s quelques ajouts qui auraient pu   tre r  alis  s comme expliqu   au dessus     Cette application a pour but de simuler un palettiseur et po
22. si    implanter      a  Une pince    En effet  nous avions au d  but l id  e que lorsque les cartons seraient cr    s et d  pos  s dans  une palette  une pince  avec un ou plusieurs v  rin  aurait   t   capable de prendre ces cartons et les  d  poser dans une seconde palette plus loin qui elle partirait dans la pi  ce de traitement des cartons   Le probl  me   tait dans l accrochage des cartons avec la pince qui nous a   t   impossible    r  aliser     b  Capteurs    Afin de rendre ce syst  me plus automatis    il aurait pu   tre int  ressant d essayer de trouver  un syst  me avec des capteurs  Par exemple  un capteur de pr  sence de palette pour dire aux cartons  d arriver ou encore un capteur disant que les cartons sont bien arriv  s et que la palette peut partir   Cependant  ce syst  me serait devenu tr  s complexe et trop compliqu      mettre en place     c  TP collisions des trains    Nous avons choisi de mod  liser le palettiseur mais il   tait   galement possible de mod  liser  le TP de la ligne de train  Nous avons pour cela cr  er un train comme suit         Figure 6   Espace de travail 3DS Max    11    Ainsi  nous aurions pu trouver un syst  me qui aurait pu simuler les trains avec des feux  tricolores permettant de g  rer les collisions entre ces trains  Cependant  nous avons juger que le  palettiseur serait plus int  ressant    r  aliser et nous avons donc opt   pour ce choix     VII    Mode d emploi pour une utilisation normale    9     90  Ad NS MN cuo DODE    C
23. si la communaut   anglophone poss  de un forum destin      ceux souhaitant  trouver de l aide pour le logiciel     Notre choix pour le projet s est port   sur Unity 3D  Apr  s discussion ce logiciel nous  semblait le plus simple    prendre en main gr  ce notamment aux nombreux tutoriels disponibles  pour apprendre    utiliser le logiciel  Il est aussi assez puissant et permet de r  aliser tous les   l  ments  n  cessaires au projet     Il    Pr  sentation de l environnement de Unity 3D    Apr  s avoir obtenu une licence de Unity le logiciel est utilisable et    son ouverture on se    retrouve fac    e    l environnement de travail suivant      Qing abc ii OUI ETS    O   ee 08 Me ue    U OE OP    EIN x       File Edit Assets GameObject Component Terrain Window Help     o ENS x   ee  ciel           CNN                                                                                                                                                            Game          Free Aspect                                                    Inspector   Scene    rchy   Project   avs  M Cube OStatic v       Textured     Gizmos     GrAll    Create     FAN _     create     OO S        Tag  Untagged    Layer  Default      Assembly001 a gaa Assets    Essai        P Barre de S  curit   All Mat a  a   a    a  v A Transform 9 Carton Q AI Moc        Position  gt  Constructor Al Prel  X  31 5148   Y  4 071205  Z   75 2840  gt  Constructor Gal Seri Js Js Js  Rotation  gt  Convoyeurs  cr 1  Cube Y Ass
24. urrait   tre utilis  e lors des TP en  automatique  avec un syst  me de capteur    ajouter afin de rendre cela programmable par grafcet par  exemple  Le syst  me reste plut  t facile et simple    comprendre mais il ne serait pas difficile  d ajouter des fonctions suppl  mentaires     13    VI    Annexes    R  ception UDP       M QJ  GO    Y    oF        gt  W N pas          using UnityEngine    using System Collections    using System    using System Net    using System Text    using System Net Sockets    using System Threading    using System Net NetworkInformation     public class UDPReceive   MonoBehaviour    Thread receiveThread   UdpClient client   public int port   26000    public string copie      public static string strReceiveUDP      string LocalIP   String Empty   string hostname     public void Start      Application runInBackground   true   init      ed   ff init   private void init    receiveThread   new Thread  new ThreadStart ReceiveData     receiveThread IsBackground   true   receiveThread Start       hostname   Dns GetHostName     IPAddress   ips   Dns GetHostAddresses  hostname    if  ips Length  gt  6   t    LocalIP   ips     ToString     i  void OnGUI    1  Rect rectObj new Rect 10 10 400 200    GUIStyle style   new GUIStyle     style alignment   TextAnchor Upperieft   GUI Box rectObj hostname   MY IP       LocalIP        strReceiveUDP style    copie strReceiveUDP     private void ReceiveData      client   new UdpClient  port    while  true   1    try  t 
    
Download Pdf Manuals
 
 
    
Related Search
    
Related Contents
  Targus ASF154W1US notebook accessory    User Manual - ShopMania BIZ    Copyright © All rights reserved. 
   Failed to retrieve file