{"id":2141,"date":"2020-05-14T21:39:50","date_gmt":"2020-05-14T19:39:50","guid":{"rendered":"http:\/\/lamartinieredesign.fr\/?page_id=2141"},"modified":"2025-03-06T21:35:55","modified_gmt":"2025-03-06T20:35:55","slug":"projet-3d-grands-principes","status":"publish","type":"page","link":"https:\/\/lamartinieredesign.fr\/?page_id=2141","title":{"rendered":"Projet 3D &#8211; Grands principes"},"content":{"rendered":"\n<p><\/p>\n\n\n\n<div class=\"wp-block-group has-light-gray-background-color has-background is-layout-constrained wp-block-group-is-layout-constrained\"><div class=\"wp-block-group__inner-container\">\n<h5 class=\"wp-block-heading\">1. Mod\u00e9liser avec Pro Builder<\/h5>\n\n\n\n<p>Pro Builder est un outil int\u00e9gr\u00e9 \u00e0 Unity pour la mod\u00e9lisation d&rsquo;objets 3D. C&rsquo;est un peu Blender en tr\u00e8s simplifi\u00e9. Il est cependant assez puissant pour des r\u00e9sultats \u00e9labor\u00e9s.<br>Il n&rsquo;est pas activ\u00e9 par d\u00e9faut et il faut le charger dans Unity pour le rendre visible et actif.<\/p>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-3 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<p><strong>Menu Window &gt; Package Manager<\/strong><\/p>\n\n\n\n<p>Cela ouvre la Fen\u00eatre Package Manager, ci-dessous.<br>Dans le <strong>Menu Packages<\/strong> en haut \u00e0 gauche, choisir <strong>Unity Registry<\/strong> puis cliquer sur le bouton<strong> All<\/strong>.<\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image size-large\"><a href=\"http:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2021\/04\/2021_unity_probuilder01w.png\"><img decoding=\"async\" loading=\"lazy\" width=\"368\" height=\"539\" src=\"http:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2021\/04\/2021_unity_probuilder01w.png\" alt=\"\" class=\"wp-image-2710\" srcset=\"https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2021\/04\/2021_unity_probuilder01w.png 368w, https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2021\/04\/2021_unity_probuilder01w-205x300.png 205w\" sizes=\"(max-width: 368px) 100vw, 368px\" \/><\/a><\/figure>\n<\/div>\n<\/div>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"http:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2021\/04\/2021_unity_probuilder02.png\"><img decoding=\"async\" loading=\"lazy\" width=\"1024\" height=\"582\" src=\"http:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2021\/04\/2021_unity_probuilder02-1024x582.png\" alt=\"\" class=\"wp-image-2711\" srcset=\"https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2021\/04\/2021_unity_probuilder02-1024x582.png 1024w, https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2021\/04\/2021_unity_probuilder02-300x171.png 300w, https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2021\/04\/2021_unity_probuilder02-768x437.png 768w, https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2021\/04\/2021_unity_probuilder02-1536x873.png 1536w, https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2021\/04\/2021_unity_probuilder02.png 1597w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n<p>Dans la liste \u00e0 gauche, cliquez sur <strong>ProBuilder<\/strong>. Le d\u00e9tail s&rsquo;affiche \u00e0 droite.<br>Cliquez sur le bouton <strong>Install<\/strong> en haut \u00e0 droite de la fen\u00eatre.<br>ProBuilder se charge.<br>Une fois charg\u00e9, le bouton se transforme en <strong>Remove<\/strong>, si vous souhaitez le d\u00e9sactiver.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"http:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2024\/03\/2022_Unity_Probuilder03.png\"><img decoding=\"async\" loading=\"lazy\" width=\"1024\" height=\"595\" src=\"http:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2024\/03\/2022_Unity_Probuilder03-1024x595.png\" alt=\"\" class=\"wp-image-5116\" srcset=\"https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2024\/03\/2022_Unity_Probuilder03-1024x595.png 1024w, https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2024\/03\/2022_Unity_Probuilder03-300x174.png 300w, https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2024\/03\/2022_Unity_Probuilder03-768x446.png 768w, https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2024\/03\/2022_Unity_Probuilder03-1536x892.png 1536w, https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2024\/03\/2022_Unity_Probuilder03.png 1598w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n<p>Un Menu Tools apparait en plus. Il donne acc\u00e8s \u00e0 la palette des outils ProBuilder. Voir ci-dessous.<\/p>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-6 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image size-large\"><a href=\"http:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2021\/04\/2021_unity_probuilder07-1.png\"><img decoding=\"async\" loading=\"lazy\" width=\"398\" height=\"386\" src=\"http:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2021\/04\/2021_unity_probuilder07-1.png\" alt=\"\" class=\"wp-image-2716\" srcset=\"https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2021\/04\/2021_unity_probuilder07-1.png 398w, https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2021\/04\/2021_unity_probuilder07-1-300x291.png 300w\" sizes=\"(max-width: 398px) 100vw, 398px\" \/><\/a><\/figure>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image size-large\"><a href=\"http:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2021\/04\/2021_unity_probuilder08.png\"><img decoding=\"async\" loading=\"lazy\" width=\"646\" height=\"607\" src=\"http:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2021\/04\/2021_unity_probuilder08.png\" alt=\"\" class=\"wp-image-2715\" srcset=\"https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2021\/04\/2021_unity_probuilder08.png 646w, https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2021\/04\/2021_unity_probuilder08-300x282.png 300w\" sizes=\"(max-width: 646px) 100vw, 646px\" \/><\/a><\/figure>\n<\/div>\n<\/div>\n\n\n\n<p>Par d\u00e9faut, la palette <strong>ProBuilder<\/strong> s&rsquo;affiche sous forme de liste. Cliquez sur les points de suspension en haut \u00e0 droite et choisissez <strong>Use Icon Mode<\/strong>.<br>Nous ne traiterons pas ici de l&rsquo;utilisation de ces outils. Cela ressemble beaucoup \u00e0 Blender. Il y a quelques tutos sur le net \u00e0 ce sujet.<\/p>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-9 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image size-large\"><a href=\"http:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2021\/04\/2021_unity_probuilder09.png\"><img decoding=\"async\" loading=\"lazy\" width=\"473\" height=\"467\" src=\"http:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2021\/04\/2021_unity_probuilder09.png\" alt=\"\" class=\"wp-image-2717\" srcset=\"https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2021\/04\/2021_unity_probuilder09.png 473w, https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2021\/04\/2021_unity_probuilder09-300x296.png 300w\" sizes=\"(max-width: 473px) 100vw, 473px\" \/><\/a><\/figure>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image size-large\"><a href=\"http:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2021\/04\/2021_unity_probuilder11.png\"><img decoding=\"async\" loading=\"lazy\" width=\"332\" height=\"676\" src=\"http:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2021\/04\/2021_unity_probuilder11.png\" alt=\"\" class=\"wp-image-2718\" srcset=\"https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2021\/04\/2021_unity_probuilder11.png 332w, https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2021\/04\/2021_unity_probuilder11-147x300.png 147w\" sizes=\"(max-width: 332px) 100vw, 332px\" \/><\/a><\/figure>\n<\/div>\n<\/div>\n<\/div><\/div>\n\n\n\n<h5 class=\"wp-block-heading\">2. Importer un fichier 3D<\/h5>\n\n\n\n<p>Il est tr\u00e8s facile d&rsquo;importer un fichier 3D r\u00e9alis\u00e9 dans un autre logiciel modeleur. Le fichier doit \u00eatre de pr\u00e9f\u00e9rence au format <strong>.fbx<\/strong>  (ou \u00e9ventuellement .<strong>obj<\/strong>, quoique\u2026).<br>C&rsquo;est possible \u00e0 partir de Blender, 3DS et bien d&rsquo;autres logiciels de mod\u00e9lisation 3D. Une pr\u00e9caution \u00e0 prendre : il vaut mieux \u00e9viter d&rsquo;int\u00e9grer les cam\u00e9ras et lumi\u00e8res dans le fichier \u00e0 importer.<br>Il est \u00e9galement possible d&rsquo;importer directement les formats natifs : <br>&#8211; Blender .Blend, <br>&#8211; Sketchup .skp <br>&#8211; 3DSMax .3ds (Attention, dans 3DS Max les axes ne sont pas dans le m\u00eame sens que dans Unity; il faudra orienter correctement les objets import\u00e9s, par une Rotation).<\/p>\n\n\n\n<h6 class=\"wp-block-heading\">\u2022 Importer directement un fichier .blend (Blender)<\/h6>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-13 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<p>Dans Blender, pr\u00e9parez un fichier. Il est recommand\u00e9 de pr\u00e9parer un fichier ind\u00e9pendant par objet \u00e0 importer. Enregistrez-le.<br>Ici : <strong>maison22.blend<\/strong><\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image size-large\"><a href=\"http:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2021\/04\/2021_unity_import3d02.png\"><img decoding=\"async\" loading=\"lazy\" width=\"900\" height=\"900\" src=\"http:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2021\/04\/2021_unity_import3d02.png\" alt=\"\" class=\"wp-image-2687\" srcset=\"https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2021\/04\/2021_unity_import3d02.png 900w, https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2021\/04\/2021_unity_import3d02-300x300.png 300w, https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2021\/04\/2021_unity_import3d02-150x150.png 150w, https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2021\/04\/2021_unity_import3d02-768x768.png 768w\" sizes=\"(max-width: 900px) 100vw, 900px\" \/><\/a><\/figure>\n<\/div>\n<\/div>\n\n\n\n<p>Dans Unity, cr\u00e9ez dans les Assets un sous-dossier \u00ab\u00a0Objets 3D\u00a0\u00bb par exemple. Glissez-y directement le fichier blender. Un Asset nomm\u00e9 \u00ab\u00a0maison22\u00a0\u00bb apparait alors. Il suffit de le faire glisser sur la <strong>Scene<\/strong>. Il contient tout ce que le fichier Blender contient (cam\u00e9ra, lumi\u00e8res, mat\u00e9riau, textures, etc.)<\/p>\n\n\n\n<div class=\"wp-block-group has-light-gray-background-color has-background is-layout-constrained wp-block-group-is-layout-constrained\"><div class=\"wp-block-group__inner-container\">\n<p>Attention, ce qui suit est obsol\u00e8te; le lien dynamique n&rsquo;est plus assur\u00e9 automatiquement avec blender, sauf si on ouvre l&rsquo;objet \u00e0 partir d&rsquo;Unity. S\u00e9lectionnez l&rsquo;objet dans les <strong>Assets<\/strong> et dans l&rsquo;<strong>Inspector<\/strong> cliquez sur le bouton <strong>Open<\/strong>.<\/p>\n\n\n\n<p class=\"has-medium-gray-color has-text-color\"><em>Le lien avec l&rsquo;original est dynamique, autrement dit, si vous modifiez le fichier dans Blender, il sera mis \u00e0 jour dans Unity. Cela simplifie les choses, mais il est plut\u00f4t recommand\u00e9 d&rsquo;utiliser le format .fbx<\/em><\/p>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-16 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image size-large\"><a href=\"http:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2021\/04\/2021_unity_import3d02.png\"><img decoding=\"async\" loading=\"lazy\" width=\"900\" height=\"900\" src=\"http:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2021\/04\/2021_unity_import3d02.png\" alt=\"\" class=\"wp-image-2687\" srcset=\"https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2021\/04\/2021_unity_import3d02.png 900w, https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2021\/04\/2021_unity_import3d02-300x300.png 300w, https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2021\/04\/2021_unity_import3d02-150x150.png 150w, https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2021\/04\/2021_unity_import3d02-768x768.png 768w\" sizes=\"(max-width: 900px) 100vw, 900px\" \/><\/a><figcaption class=\"wp-element-caption\">Fichier Blender initial<\/figcaption><\/figure>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image size-large\"><a href=\"http:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2021\/04\/2021_unity_import3d07.png\"><img decoding=\"async\" loading=\"lazy\" width=\"900\" height=\"900\" src=\"http:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2021\/04\/2021_unity_import3d07.png\" alt=\"\" class=\"wp-image-2701\" srcset=\"https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2021\/04\/2021_unity_import3d07.png 900w, https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2021\/04\/2021_unity_import3d07-300x300.png 300w, https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2021\/04\/2021_unity_import3d07-150x150.png 150w, https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2021\/04\/2021_unity_import3d07-768x768.png 768w\" sizes=\"(max-width: 900px) 100vw, 900px\" \/><\/a><figcaption class=\"wp-element-caption\">Fichier Blender modifi\u00e9<\/figcaption><\/figure>\n<\/div>\n<\/div>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-19 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image size-large\"><a href=\"http:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2021\/04\/2021_unity_import3d06-1.png\"><img decoding=\"async\" loading=\"lazy\" width=\"740\" height=\"500\" src=\"http:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2021\/04\/2021_unity_import3d06-1.png\" alt=\"\" class=\"wp-image-2703\" srcset=\"https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2021\/04\/2021_unity_import3d06-1.png 740w, https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2021\/04\/2021_unity_import3d06-1-300x203.png 300w\" sizes=\"(max-width: 740px) 100vw, 740px\" \/><\/a><figcaption class=\"wp-element-caption\">Ci-dessus \u00e0 gauche, l&rsquo;import du fichier Blender, \u00e0 droite l&rsquo;import du fichier fbx.<\/figcaption><\/figure>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image size-large\"><a href=\"http:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2021\/04\/2021_unity_import3d09.png\"><img decoding=\"async\" loading=\"lazy\" width=\"740\" height=\"500\" src=\"http:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2021\/04\/2021_unity_import3d09.png\" alt=\"\" class=\"wp-image-2702\" srcset=\"https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2021\/04\/2021_unity_import3d09.png 740w, https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2021\/04\/2021_unity_import3d09-300x203.png 300w\" sizes=\"(max-width: 740px) 100vw, 740px\" \/><\/a><figcaption class=\"wp-element-caption\">L&rsquo;import se met \u00e0 jour automatiquement, mais pas le fichier fbx.<\/figcaption><\/figure>\n<\/div>\n<\/div>\n<\/div><\/div>\n\n\n\n<h6 class=\"wp-block-heading\">\u2022 Cr\u00e9er et Importer un fichier .fbx<\/h6>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-23 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image size-large\"><a href=\"http:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2021\/04\/2021_unity_import3d02.png\"><img decoding=\"async\" loading=\"lazy\" width=\"900\" height=\"900\" src=\"http:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2021\/04\/2021_unity_import3d02.png\" alt=\"\" class=\"wp-image-2687\" srcset=\"https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2021\/04\/2021_unity_import3d02.png 900w, https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2021\/04\/2021_unity_import3d02-300x300.png 300w, https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2021\/04\/2021_unity_import3d02-150x150.png 150w, https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2021\/04\/2021_unity_import3d02-768x768.png 768w\" sizes=\"(max-width: 900px) 100vw, 900px\" \/><\/a><\/figure>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image size-large\"><a href=\"http:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2021\/04\/2021_unity_import3d03w.png\"><img decoding=\"async\" loading=\"lazy\" width=\"863\" height=\"491\" src=\"http:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2021\/04\/2021_unity_import3d03w.png\" alt=\"\" class=\"wp-image-2691\" srcset=\"https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2021\/04\/2021_unity_import3d03w.png 863w, https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2021\/04\/2021_unity_import3d03w-300x171.png 300w, https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2021\/04\/2021_unity_import3d03w-768x437.png 768w\" sizes=\"(max-width: 863px) 100vw, 863px\" \/><\/a><\/figure>\n\n\n\n<p>Dans Blender, <strong>Menu Fichier &gt; Exporter &gt; FBX (.fbx)<\/strong>.<\/p>\n<\/div>\n<\/div>\n\n\n\n<p>Ci-dessous, la fen\u00eatre d&rsquo;exportation en FBX dans Blender. Ne cochez pas la case <strong>Objets s\u00e9lectionn\u00e9s<\/strong>. Elle sert \u00e0 exporter uniquement un objet s\u00e9lectionn\u00e9 sur la <strong>Scene<\/strong> parmi d&rsquo;autres. L\u00e0, nous allons exporter tout le fichier.<br>Par d\u00e9faut, les <strong>Types d&rsquo;objet<\/strong> sont tous coch\u00e9s. Il est recommand\u00e9 de ne conserver que les <strong>Mesh<\/strong>, comme ci-dessous.<br>Dans la zone <strong>Transformer<\/strong>, on peut r\u00e9gler l&rsquo;<strong>\u00e9chelle<\/strong> d&rsquo;export et l&rsquo;orientation des axes. Laissez comme indiqu\u00e9.<br>Il est recommand\u00e9 de cocher la case <strong>Apply Transform<\/strong> tout en bas.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"http:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2021\/04\/2021_unity_import3d04.png\"><img decoding=\"async\" loading=\"lazy\" width=\"1024\" height=\"826\" src=\"http:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2021\/04\/2021_unity_import3d04-1024x826.png\" alt=\"\" class=\"wp-image-2693\" srcset=\"https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2021\/04\/2021_unity_import3d04-1024x826.png 1024w, https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2021\/04\/2021_unity_import3d04-300x242.png 300w, https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2021\/04\/2021_unity_import3d04-768x620.png 768w, https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2021\/04\/2021_unity_import3d04-1536x1240.png 1536w, https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2021\/04\/2021_unity_import3d04.png 1596w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-26 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<p>Pour importer les textures, il faut \u00e9galement, dans le <strong>Menu Mode de Chemin<\/strong>, en haut \u00e0 droite de la fen\u00eatre d&rsquo;export, choisir <strong>Copier<\/strong> \u00e0 la place d&rsquo;<strong>Auto<\/strong> et cocher le bouton \u00e0 droite de la liste d\u00e9roulante (voir ci-contre).<\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image size-large\"><a href=\"http:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2021\/04\/2021_unity_import3d05.png\"><img decoding=\"async\" loading=\"lazy\" width=\"478\" height=\"409\" src=\"http:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2021\/04\/2021_unity_import3d05.png\" alt=\"\" class=\"wp-image-2695\" srcset=\"https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2021\/04\/2021_unity_import3d05.png 478w, https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2021\/04\/2021_unity_import3d05-300x257.png 300w\" sizes=\"(max-width: 478px) 100vw, 478px\" \/><\/a><\/figure>\n<\/div>\n<\/div>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-29 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<p>Il arrive avec d&rsquo;anciennes versions d&rsquo;Unity que l&rsquo;objet plac\u00e9 sur la <strong>Scene<\/strong> s&rsquo;affiche sans textures. Il faut le s\u00e9lectionner et extraire ses <strong>Materials<\/strong> et <strong>Textures<\/strong>. Dans l&rsquo;<strong>Inspector<\/strong>, onglet <strong>Materials<\/strong>, cliquez sur les boutons <strong>Extract Materials<\/strong> et <strong>Extract Textures<\/strong>.<\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" loading=\"lazy\" width=\"600\" height=\"506\" src=\"http:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2020\/05\/Unity-fbx-import-material.png\" alt=\"\" class=\"wp-image-2165\" srcset=\"https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2020\/05\/Unity-fbx-import-material.png 600w, https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2020\/05\/Unity-fbx-import-material-300x253.png 300w\" sizes=\"(max-width: 600px) 100vw, 600px\" \/><\/figure>\n<\/div>\n<\/div>\n\n\n\n<p>Pour importer le fichier FBX obtenu dans Unity,  <strong>Menu Assets > Import New Asset\u2026<\/strong> Choisissez le fichier <strong>.fbx<\/strong> \u00e0 importer. Il s&rsquo;ajoute aux <strong>Assets<\/strong>.<br>Vous pouvez faire encore plus simple pour importer un objet dans Unity. Il suffit de faire glisser le fichier <strong>.fbx<\/strong> dans les <strong>Assets<\/strong>.<br>Il faut le ranger dans un sous-dossier adapt\u00e9, nomm\u00e9 \u00ab\u00a0Objects 3D\u00a0\u00bb par exemple, puis le faire glisser sur la <strong>Scene<\/strong> ou dans la <strong>Hierarchy<\/strong> pour s&rsquo;en servir comme n&rsquo;importe quel <strong>GameObject<\/strong> 3D.<\/p>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-32 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<p>Avec les r\u00e9glages par d\u00e9faut, un objet .blend est import\u00e9 avec la Camera et les Lumi\u00e8res de Blender.<br>C&rsquo;est aussi le cas si vous utilisez  un fichier .FBX sans les avoir supprim\u00e9es au moment de l&rsquo;export. Il faut le faire dans Unity.<br><\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image size-large\"><a href=\"http:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2021\/04\/2021_unity_import3d06.png\"><img decoding=\"async\" loading=\"lazy\" width=\"740\" height=\"500\" src=\"http:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2021\/04\/2021_unity_import3d06.png\" alt=\"\" class=\"wp-image-2697\" srcset=\"https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2021\/04\/2021_unity_import3d06.png 740w, https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2021\/04\/2021_unity_import3d06-300x203.png 300w\" sizes=\"(max-width: 740px) 100vw, 740px\" \/><\/a><\/figure>\n<\/div>\n<\/div>\n\n\n\n<p>Une fois import\u00e9, on peut encore modifier l&rsquo;Objet dans Unity :<\/p>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-35 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image size-large\"><a href=\"http:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2021\/04\/2021_unity_import3d14w.png\"><img decoding=\"async\" loading=\"lazy\" width=\"511\" height=\"651\" src=\"http:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2021\/04\/2021_unity_import3d14w.png\" alt=\"\" class=\"wp-image-2699\" srcset=\"https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2021\/04\/2021_unity_import3d14w.png 511w, https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2021\/04\/2021_unity_import3d14w-235x300.png 235w\" sizes=\"(max-width: 511px) 100vw, 511px\" \/><\/a><\/figure>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<p>Il faut s\u00e9lectionner cet Objet dans les <strong>Assets<\/strong> et dans l&rsquo;<strong>Inspector<\/strong>, \u00e0 l&rsquo;onglet <strong>Model<\/strong>, il faut d\u00e9cocher les cases <strong>Import Camera<\/strong> et <strong>Import Lights<\/strong>, comme ci-contre.<br><br>Puis cliquez \u00e0 nouveau sur l&rsquo;Objet dans les <strong>Assets<\/strong>. Une fen\u00eatre vous propose d&rsquo;appliquer les modifications. Validez par <strong>Save<\/strong> (anciennement <strong>Apply<\/strong>).<\/p>\n<\/div>\n<\/div>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-37 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image size-large\"><a href=\"http:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2021\/04\/2021_unity_import3d15.png\"><img decoding=\"async\" loading=\"lazy\" width=\"843\" height=\"300\" src=\"http:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2021\/04\/2021_unity_import3d15.png\" alt=\"\" class=\"wp-image-2700\" srcset=\"https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2021\/04\/2021_unity_import3d15.png 843w, https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2021\/04\/2021_unity_import3d15-300x107.png 300w, https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2021\/04\/2021_unity_import3d15-768x273.png 768w\" sizes=\"(max-width: 843px) 100vw, 843px\" \/><\/a><\/figure>\n<\/div>\n<\/div>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-40 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image size-large\"><a href=\"http:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2021\/04\/2021_unity_import3d16.png\"><img decoding=\"async\" loading=\"lazy\" width=\"898\" height=\"564\" src=\"http:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2021\/04\/2021_unity_import3d16.png\" alt=\"\" class=\"wp-image-2707\" srcset=\"https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2021\/04\/2021_unity_import3d16.png 898w, https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2021\/04\/2021_unity_import3d16-300x188.png 300w, https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2021\/04\/2021_unity_import3d16-768x482.png 768w\" sizes=\"(max-width: 898px) 100vw, 898px\" \/><\/a><\/figure>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<p>Une fois les r\u00e9glages d&rsquo;import modifi\u00e9s, les lumi\u00e8res import\u00e9es ne s&rsquo;appliquent plus. Elles n&rsquo;ont pour autant pas disparues de l&rsquo;objet import\u00e9.<\/p>\n<\/div>\n<\/div>\n\n\n\n<p>Vous pouvez voir ci-dessous dans les <strong>Assets<\/strong> le r\u00e9sultat des diff\u00e9rentes mani\u00e8res d&rsquo;importer un objet.<br>Au dessus, l&rsquo;import du fichier Blender (contient la cam\u00e9ra et la lumi\u00e8re, contradictoires avec celles d&rsquo;Unity) comporte deux \u00e9l\u00e9ments Cube.<br>Dans la <strong>Hierarchy<\/strong>, l&rsquo;objet import\u00e9 \u00ab\u00a0maison\u00a0\u00bb contient bien 3 \u00e9l\u00e9ments, le <strong>Cube<\/strong>, la <strong>Camera<\/strong> et la <strong>Light<\/strong> (plus le Material rose).<br>En dessous, l&rsquo;Objet \u00ab\u00a0maison_rose\u00a0\u00bb a \u00e9t\u00e9 export\u00e9 en .FBX depuis Blender avec uniquement son <strong>Mesh<\/strong>. De fait, dans la <strong>Hierarchy<\/strong>, il s&rsquo;affiche comme un objet unique qui ne contient pas d&rsquo;Objet Enfant.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"http:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2021\/04\/2021_unity_import3d10w.png\"><img decoding=\"async\" loading=\"lazy\" width=\"1024\" height=\"355\" src=\"http:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2021\/04\/2021_unity_import3d10w-1024x355.png\" alt=\"\" class=\"wp-image-2705\" srcset=\"https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2021\/04\/2021_unity_import3d10w-1024x355.png 1024w, https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2021\/04\/2021_unity_import3d10w-300x104.png 300w, https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2021\/04\/2021_unity_import3d10w-768x266.png 768w, https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2021\/04\/2021_unity_import3d10w.png 1202w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n<p>Il est \u00e0 noter que les objets import\u00e9s s&rsquo;affichent dans la <strong>Hierarchy<\/strong> avec l&rsquo;ic\u00f4ne d&rsquo;un cube \u00e0 moiti\u00e9 bleu. C&rsquo;est l&rsquo;indication d&rsquo;un <strong>Prefab<\/strong>, dont nous parlerons juste apr\u00e8s.<br><\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"http:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2021\/04\/2021_unity_import3d12w.png\"><img decoding=\"async\" loading=\"lazy\" width=\"1024\" height=\"618\" src=\"http:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2021\/04\/2021_unity_import3d12w-1024x618.png\" alt=\"\" class=\"wp-image-2706\" srcset=\"https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2021\/04\/2021_unity_import3d12w-1024x618.png 1024w, https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2021\/04\/2021_unity_import3d12w-300x181.png 300w, https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2021\/04\/2021_unity_import3d12w-768x463.png 768w, https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2021\/04\/2021_unity_import3d12w-1536x927.png 1536w, https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2021\/04\/2021_unity_import3d12w.png 1669w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n<p>Voir sur ce sujet : <a href=\"https:\/\/all3dp.com\/2\/blender-to-unity-how-to-import-blender-models-in-unity\/\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/all3dp.com\/2\/blender-to-unity-how-to-import-blender-models-in-unity\/<\/a><\/p>\n\n\n\n<p>Finissez cette \u00e9tape en ajoutant un Objet 3D Plane pour faire un sol.<\/p>\n\n\n\n<h5 class=\"wp-block-heading\">3. Cr\u00e9er des Prefabs<\/h5>\n\n\n\n<p>Un <strong>Prefab<\/strong> (pour Pr\u00e9fabriqu\u00e9) est un mod\u00e8le d&rsquo;objet, qui peut \u00eatre compos\u00e9 de plusieurs objets, et doit \u00eatre plac\u00e9 dans les <strong>Assets<\/strong>. Il peut \u00eatre utilis\u00e9 sur la <strong>Scene<\/strong> autant de fois que l&rsquo;on veut. Chaque fois qu&rsquo;on glisse un <strong>Prefab<\/strong> sur la <strong>Scene<\/strong> on dit que l&rsquo;on cr\u00e9\u00e9 une <strong>Instance<\/strong> de ce <strong>Prefab<\/strong> (<strong>Prefab Instanciate<\/strong>). C&rsquo;est utile pour ne pas alourdir son projet d\u00e8s que l&rsquo;on veut r\u00e9utiliser des objets ou m\u00eame lorsqu&rsquo;on ne l&rsquo;utilise qu&rsquo;une fois, pour contr\u00f4ler des objets complexes. C&rsquo;est \u00e9galement pratique pour exporter des objets tout pr\u00eats \u00e0 \u00eatre r\u00e9utilis\u00e9s dans un autre projet.<\/p>\n\n\n\n<p>Il est \u00e0 noter que les objets import\u00e9s, depuis Blender par exemple, sont ins\u00e9r\u00e9s dans les <strong>Assets<\/strong> en tant que <strong>Prefabs<\/strong>.<\/p>\n\n\n\n<p>Pour cr\u00e9er un <strong>Prefab<\/strong> c&rsquo;est tr\u00e8s simple. Cr\u00e9ez un <strong>Folder<\/strong> nomm\u00e9 \u00ab\u00a0<strong>Prefabs<\/strong>\u00a0\u00bb dans les <strong>Assets<\/strong>. S\u00e9lectionnez un ou plusieurs objets dans la <strong>Hierarchy<\/strong> et faites-le(s) glisser (ensembles) dans ce dossier. <\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" loading=\"lazy\" width=\"900\" height=\"600\" src=\"http:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2020\/05\/Unity-prefab-parent.png\" alt=\"\" class=\"wp-image-2085\" srcset=\"https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2020\/05\/Unity-prefab-parent.png 900w, https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2020\/05\/Unity-prefab-parent-300x200.png 300w, https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2020\/05\/Unity-prefab-parent-768x512.png 768w\" sizes=\"(max-width: 900px) 100vw, 900px\" \/><\/figure>\n\n\n\n<p>Pour voir cela plus en d\u00e9tail, vous voyez ci-dessus un arbre sur la <strong>Scene<\/strong>. Comme vous pouvez le constater dans la <strong>Hierarchy<\/strong> en bas \u00e0 gauche, il est constitu\u00e9 de deux objets ind\u00e9pendants, un <strong>Cylinder<\/strong> renomm\u00e9 \u00ab\u00a0Tronc\u00a0\u00bb et une <strong>Sphere<\/strong> renomm\u00e9e \u00ab\u00a0Feuillage\u00a0\u00bb.<\/p>\n\n\n\n<p>Une premi\u00e8re chose \u00e0 faire est de regrouper ces deux objets en un seul. Commencez par cr\u00e9er un Objet vide : Clic droit sur la <strong>Hierarchy<\/strong> et <strong>Create &gt; Empty Object<\/strong>. Renommez-le \u00ab\u00a0Arbre\u00a0\u00bb et v\u00e9rifiez qu&rsquo;il est bien \u00e0 l&rsquo;origine (Reset). Faites glisser dessus les deux objets pr\u00e9c\u00e9dents. Le r\u00e9sultat dans la copie d&rsquo;\u00e9cran en bas \u00e0 droite. Les objets Tronc et Feuillage sont devenus enfants, <strong>Childs<\/strong>, de l&rsquo;objet Arbre.<\/p>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-43 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" loading=\"lazy\" width=\"400\" height=\"310\" src=\"http:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2020\/05\/Unity-prefab-parent-Hierarchy1-1.png\" alt=\"\" class=\"wp-image-2088\" srcset=\"https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2020\/05\/Unity-prefab-parent-Hierarchy1-1.png 400w, https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2020\/05\/Unity-prefab-parent-Hierarchy1-1-300x233.png 300w\" sizes=\"(max-width: 400px) 100vw, 400px\" \/><\/figure>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" loading=\"lazy\" width=\"400\" height=\"310\" src=\"http:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2020\/05\/Unity-prefab-parent-Hierarchy2-1.png\" alt=\"\" class=\"wp-image-2089\" srcset=\"https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2020\/05\/Unity-prefab-parent-Hierarchy2-1.png 400w, https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2020\/05\/Unity-prefab-parent-Hierarchy2-1-300x233.png 300w\" sizes=\"(max-width: 400px) 100vw, 400px\" \/><\/figure>\n<\/div>\n<\/div>\n\n\n\n<p>Il est alors possible de d\u00e9placer ou dupliquer cet Objet d&rsquo;un seul coup, en le s\u00e9lectionnant dans la <strong>Hierarchy<\/strong>. Quand l&rsquo;Arbre est s\u00e9lectionn\u00e9, l&rsquo;<strong>Inspector<\/strong> affiche des propri\u00e9t\u00e9s g\u00e9n\u00e9rales. Mais il reste bien s\u00fbr possible de modifier individuellement chaque composant (<strong>Child<\/strong>) de l&rsquo;arbre. C&rsquo;est un premier pas, mais si vous avez besoin de beaucoup d&rsquo;arbres identiques, il va falloir les dupliquer et cela va vite devenir ing\u00e9rable.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" loading=\"lazy\" width=\"1024\" height=\"532\" src=\"http:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2020\/05\/Unity-prefab-parent-copie-1024x532.png\" alt=\"\" class=\"wp-image-2090\" srcset=\"https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2020\/05\/Unity-prefab-parent-copie-1024x532.png 1024w, https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2020\/05\/Unity-prefab-parent-copie-300x156.png 300w, https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2020\/05\/Unity-prefab-parent-copie-768x399.png 768w, https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2020\/05\/Unity-prefab-parent-copie-1536x798.png 1536w, https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2020\/05\/Unity-prefab-parent-copie.png 1644w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Pour cr\u00e9er un <strong>Prefab<\/strong>, commencez par cr\u00e9er un sous-dossier dans les <strong>Assets<\/strong> et renommez-le \u00ab\u00a0Prefabs\u00a0\u00bb. Puis, faites glisser l&rsquo;objet <strong>Parent<\/strong> Arbre depuis la <strong>Hierarchy<\/strong> vers ce sous-dossier, comme ci-dessous.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" loading=\"lazy\" width=\"1010\" height=\"395\" src=\"http:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2020\/05\/Unity-prefab-create.png\" alt=\"\" class=\"wp-image-2091\" srcset=\"https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2020\/05\/Unity-prefab-create.png 1010w, https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2020\/05\/Unity-prefab-create-300x117.png 300w, https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2020\/05\/Unity-prefab-create-768x300.png 768w\" sizes=\"(max-width: 1010px) 100vw, 1010px\" \/><\/figure>\n\n\n\n<p>Le r\u00e9sultat, c&rsquo;est qu&rsquo;un <strong>Prefab<\/strong> est cr\u00e9\u00e9 dans les <strong>Assets<\/strong> et que l&rsquo;objet original se transforme automatiquement en <strong>Instance<\/strong> de ce <strong>Prefab<\/strong>. Il change d&rsquo;aspect dans la <strong>Hierarchy<\/strong>, prenant l\u2019ic\u00f4ne d&rsquo;un cube bleu.<br>(Dans des versions plus anciennes d&rsquo;Unity, cette transformation n&rsquo;est pas automatique. Il faut effacer l&rsquo;objet <strong>Parent<\/strong> de la <strong>Hierarchy<\/strong> et refaire glisser le <strong>Prefab<\/strong> depuis les <strong>Assets<\/strong> vers la <strong>Scene<\/strong> ou la <strong>Hierarchy<\/strong>.)<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" loading=\"lazy\" width=\"838\" height=\"399\" src=\"http:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2020\/05\/Capture-d\u2019e\u0301cran-2020-05-13-a\u0300-12.03.47.png\" alt=\"\" class=\"wp-image-2092\" srcset=\"https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2020\/05\/Capture-d\u2019e\u0301cran-2020-05-13-a\u0300-12.03.47.png 838w, https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2020\/05\/Capture-d\u2019e\u0301cran-2020-05-13-a\u0300-12.03.47-300x143.png 300w, https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2020\/05\/Capture-d\u2019e\u0301cran-2020-05-13-a\u0300-12.03.47-768x366.png 768w\" sizes=\"(max-width: 838px) 100vw, 838px\" \/><\/figure>\n\n\n\n<p>Vous pouvez faire glisser le <strong>Prefab<\/strong> sur la <strong>Scene<\/strong> autant de fois que vous voulez. Chaque composant reste modifiable individuellement en le s\u00e9lectionnant et en modifiant ses propri\u00e9t\u00e9s. Ainsi, on peut cr\u00e9er plusieurs variantes du m\u00eame mod\u00e8le.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" loading=\"lazy\" width=\"900\" height=\"600\" src=\"http:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2020\/05\/Unity-prefab-instance.png\" alt=\"\" class=\"wp-image-2093\" srcset=\"https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2020\/05\/Unity-prefab-instance.png 900w, https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2020\/05\/Unity-prefab-instance-300x200.png 300w, https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2020\/05\/Unity-prefab-instance-768x512.png 768w\" sizes=\"(max-width: 900px) 100vw, 900px\" \/><\/figure>\n\n\n\n<p>Cependant, vous pouvez \u00e9diter le mod\u00e8le lui-m\u00eame, c&rsquo;est-\u00e0-dire le <strong>Prefab<\/strong>. Double-cliquez sur le <strong>Prefab<\/strong> dans les <strong>Assets<\/strong>. Il va s&rsquo;ouvrir \u00e0 la place de la <strong>Scene<\/strong> en mode <strong>Isolation<\/strong>, comme sur Illustrator. On voit le <strong>Fil d&rsquo;Ariane<\/strong> en haut \u00e0 gauche de la fen\u00eatre et la case \u00ab\u00a0<strong>Auto Save<\/strong>\u00a0\u00bb qu&rsquo;il faut garder coch\u00e9e, en haut \u00e0 droite.<\/p>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-46 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" loading=\"lazy\" width=\"600\" height=\"410\" src=\"http:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2020\/05\/Unity-prefab-edit.png\" alt=\"\" class=\"wp-image-2094\" srcset=\"https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2020\/05\/Unity-prefab-edit.png 600w, https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2020\/05\/Unity-prefab-edit-300x205.png 300w\" sizes=\"(max-width: 600px) 100vw, 600px\" \/><\/figure>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" loading=\"lazy\" width=\"600\" height=\"410\" src=\"http:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2020\/05\/Unity-prefab-instance-inspector.png\" alt=\"\" class=\"wp-image-2095\" srcset=\"https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2020\/05\/Unity-prefab-instance-inspector.png 600w, https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2020\/05\/Unity-prefab-instance-inspector-300x205.png 300w\" sizes=\"(max-width: 600px) 100vw, 600px\" \/><\/figure>\n\n\n\n<p><\/p>\n<\/div>\n<\/div>\n\n\n\n<p>Ici, j&rsquo;ai choisi de modifier la couleur du <strong>Material<\/strong> du feuillage. Voir ci-dessous la couleur orange (blanche \u00e0 l&rsquo;origine) \u00e0 droite de l&rsquo;<strong>Albedo<\/strong>.<br>De fait, les feuillages prennent des couleurs d&rsquo;automne.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" loading=\"lazy\" width=\"873\" height=\"334\" src=\"http:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2020\/05\/Unity-prefab-edit-materiel.png\" alt=\"\" class=\"wp-image-2096\" srcset=\"https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2020\/05\/Unity-prefab-edit-materiel.png 873w, https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2020\/05\/Unity-prefab-edit-materiel-300x115.png 300w, https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2020\/05\/Unity-prefab-edit-materiel-768x294.png 768w\" sizes=\"(max-width: 873px) 100vw, 873px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" loading=\"lazy\" width=\"1024\" height=\"569\" src=\"http:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2020\/05\/Unity-prefab-modifie\u0301-1024x569.png\" alt=\"\" class=\"wp-image-2097\" srcset=\"https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2020\/05\/Unity-prefab-modifie\u0301-1024x569.png 1024w, https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2020\/05\/Unity-prefab-modifie\u0301-300x167.png 300w, https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2020\/05\/Unity-prefab-modifie\u0301-768x426.png 768w, https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2020\/05\/Unity-prefab-modifie\u0301-1536x853.png 1536w, https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2020\/05\/Unity-prefab-modifie\u0301-672x372.png 672w, https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2020\/05\/Unity-prefab-modifie\u0301-1038x576.png 1038w, https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2020\/05\/Unity-prefab-modifie\u0301.png 1558w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Et vous constatez que cette modification s&rsquo;applique automatiquement \u00e0 toutes les <strong>Instances<\/strong> existantes, par h\u00e9ritage, ce qui ne serait pas le cas sur de simples duplications. C&rsquo;est l&rsquo;un des int\u00e9r\u00eats des <strong>Prefabs<\/strong>.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" loading=\"lazy\" width=\"900\" height=\"600\" src=\"http:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2020\/05\/Unity-prefab-instance-modifie\u0301.png\" alt=\"\" class=\"wp-image-2098\" srcset=\"https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2020\/05\/Unity-prefab-instance-modifie\u0301.png 900w, https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2020\/05\/Unity-prefab-instance-modifie\u0301-300x200.png 300w, https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2020\/05\/Unity-prefab-instance-modifie\u0301-768x512.png 768w\" sizes=\"(max-width: 900px) 100vw, 900px\" \/><\/figure>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-49 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" loading=\"lazy\" width=\"602\" height=\"521\" src=\"http:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2020\/05\/Unity-prefab-variant-create.png\" alt=\"\" class=\"wp-image-2099\" srcset=\"https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2020\/05\/Unity-prefab-variant-create.png 602w, https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2020\/05\/Unity-prefab-variant-create-300x260.png 300w\" sizes=\"(max-width: 602px) 100vw, 602px\" \/><\/figure>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<p>Allons plus loin. Vous pouvez cr\u00e9er une variante d&rsquo;un <strong>Prefab<\/strong>. Dans le dossier Prefabs des <strong>Assets<\/strong>, faites un Clic Droit sur le Prefab Arbre et <strong>Create &gt; Prefab Variant<\/strong>.<br>Vous le voyez ci-contre sous forme d&rsquo;un cube bleu ray\u00e9. Nommez-le comme vous voulez.<\/p>\n<\/div>\n<\/div>\n\n\n\n<p>Double-Cliquez dessus. Vous pouvez aussi le s\u00e9lectionner et cliquer sur le bouton \u00ab\u00a0<strong>Open Prefab<\/strong>\u00a0\u00bb dans l&rsquo;<strong>Inspector<\/strong>.<br>Modifiez-le comme vous voulez. Ici, j&rsquo;ai fait un bosquet d&rsquo;arbres avec la m\u00eame texture. Puis placez-en une <strong>Instance<\/strong> sur la <strong>Scene<\/strong>.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" loading=\"lazy\" width=\"1024\" height=\"582\" src=\"http:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2020\/05\/Unity-prefab-variant-edit-1024x582.png\" alt=\"\" class=\"wp-image-2100\" srcset=\"https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2020\/05\/Unity-prefab-variant-edit-1024x582.png 1024w, https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2020\/05\/Unity-prefab-variant-edit-300x170.png 300w, https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2020\/05\/Unity-prefab-variant-edit-768x436.png 768w, https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2020\/05\/Unity-prefab-variant-edit.png 1236w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>L&rsquo;avantage est que si vous modifiez le <strong>Prefab<\/strong> initial, ci-dessous en passant le feuillage en bleu, cela s&rsquo;applique \u00e9galement automatiquement au <strong>Prefab Variant<\/strong>. Il est ensuite possible de faire des exceptions, mais pour cela, consultez le manuel si besoin.<\/p>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-52 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" loading=\"lazy\" width=\"920\" height=\"780\" src=\"http:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2020\/05\/Unity-prefab-variant-instanciate.png\" alt=\"\" class=\"wp-image-2101\" srcset=\"https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2020\/05\/Unity-prefab-variant-instanciate.png 920w, https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2020\/05\/Unity-prefab-variant-instanciate-300x254.png 300w, https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2020\/05\/Unity-prefab-variant-instanciate-768x651.png 768w\" sizes=\"(max-width: 920px) 100vw, 920px\" \/><\/figure>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" loading=\"lazy\" width=\"920\" height=\"780\" src=\"http:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2020\/05\/Unity-prefab-variant-inherit.png\" alt=\"\" class=\"wp-image-2102\" srcset=\"https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2020\/05\/Unity-prefab-variant-inherit.png 920w, https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2020\/05\/Unity-prefab-variant-inherit-300x254.png 300w, https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2020\/05\/Unity-prefab-variant-inherit-768x651.png 768w\" sizes=\"(max-width: 920px) 100vw, 920px\" \/><\/figure>\n<\/div>\n<\/div>\n\n\n\n<p>Pour vous entrainer, vous pouvez cr\u00e9er un Prefab de cabane et un autre de table, \u00e0 placer dans la cabane, pour poser un flacon import\u00e9 sur la table. Cela peut faire par exemple dans un jeu, un objet \u00e0 trouver.<\/p>\n\n\n\n<h5 class=\"wp-block-heading\">4. G\u00e9rer les Components des Objets<\/h5>\n\n\n\n<p>Chaque Objet dans Unity est caract\u00e9ris\u00e9 par un certain nombre de <strong>Components<\/strong>, qui lui donnent ses propri\u00e9t\u00e9s et possibilit\u00e9s de r\u00e9glage.<\/p>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-55 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<p>Tout objet contient un  <strong>Transform Component<\/strong>, qui ne peut pas \u00eatre supprim\u00e9. Il sert \u00e0 d\u00e9terminer la position, orientation et dimension des objets sur la <strong>Scene<\/strong>.<br>C&rsquo;est le seul <strong>Component<\/strong> de base d&rsquo;un <strong>Empty Object<\/strong>.<\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" loading=\"lazy\" width=\"600\" height=\"430\" src=\"http:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2020\/05\/Unity-componet-empty-transform-1.png\" alt=\"\" class=\"wp-image-2105\" srcset=\"https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2020\/05\/Unity-componet-empty-transform-1.png 600w, https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2020\/05\/Unity-componet-empty-transform-1-300x215.png 300w\" sizes=\"(max-width: 600px) 100vw, 600px\" \/><\/figure>\n<\/div>\n<\/div>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-58 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" loading=\"lazy\" width=\"458\" height=\"626\" src=\"http:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2020\/05\/Unity-component-add-menu-1.png\" alt=\"\" class=\"wp-image-2107\" srcset=\"https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2020\/05\/Unity-component-add-menu-1.png 458w, https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2020\/05\/Unity-component-add-menu-1-219x300.png 219w\" sizes=\"(max-width: 458px) 100vw, 458px\" \/><\/figure>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<p>Pour ajouter un <strong>Component<\/strong>, s\u00e9lectionnez un objet et dans l&rsquo;<strong>Inspector<\/strong>, cliquez sur le bouton \u00ab\u00a0<strong>Add Component<\/strong>\u00ab\u00a0.<br>Il y a de nombreuses cat\u00e9gories de Components disponibles, ouvrant chacune un sous-menu, pour choisir le <strong>Component<\/strong> d\u00e9sir\u00e9.<br>Certains concernent les effets physiques (<strong>Physics<\/strong>), d&rsquo;autres sont des <strong>Scripts<\/strong>, etc.<\/p>\n<\/div>\n<\/div>\n\n\n\n<p>Nous allons par exemple voir comment rajouter un <strong>Script<\/strong> \u00e0 un objet. Dans les <strong>Assets<\/strong>, cr\u00e9ez un nouveau <strong>Folder<\/strong> et renommez-le \u00ab\u00a0Scripts\u00a0\u00bb.<br>\u00c0 l&rsquo;int\u00e9rieur, Clic Droit et <strong>Create > Scripting >MonoBehaviour Script<\/strong>; Renommez-le selon ce qu&rsquo;il doit faire. Ici renommez-le juste \u00ab\u00a0NewScript\u00a0\u00bb (pas d&rsquo;espaces dans le nom).<br>Ci-dessous le code de base du nouveau <strong>Script<\/strong> s&rsquo;affiche en bas de l&rsquo;<strong>Inspector<\/strong>. Nous verrons plus tard comment afficher, modifier ou coder un script. Le langage des scripts dans Unity est le C# (il faut prononcer \u00ab\u00a0C Sharp\u00a0\u00bb).<br>Quand on le s\u00e9lectionne, le code apparait dans l&rsquo;<strong>Inspector<\/strong>, comme ci-dessous.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" loading=\"lazy\" width=\"1024\" height=\"857\" src=\"http:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2020\/05\/Unity-component-script-new-1024x857.png\" alt=\"\" class=\"wp-image-2109\" srcset=\"https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2020\/05\/Unity-component-script-new-1024x857.png 1024w, https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2020\/05\/Unity-component-script-new-300x251.png 300w, https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2020\/05\/Unity-component-script-new-768x643.png 768w, https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2020\/05\/Unity-component-script-new.png 1206w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Pour appliquer ce <strong>Script<\/strong> \u00e0 un objet, plusieurs possibilit\u00e9s, apr\u00e8s avoir s\u00e9lectionn\u00e9 l&rsquo;objet en question :<br>&#8211; Ajouter un <strong>Component<\/strong> depuis l&rsquo;<strong>Inspector<\/strong> de l&rsquo;objet. <strong>Add Component &gt; Script &gt; New Script<\/strong> (ci-dessous \u00e0 gauche). Il reconnait le nom des scripts existants.<br>&#8211; Depuis les <strong>Assets<\/strong>, faire glisser le <strong>Script<\/strong> vers la zone vide en bas de l&rsquo;<strong>Inspector<\/strong> de l&rsquo;objet dans la zone grise. Ci-dessous \u00e0 droite, on voit le <strong>Component Script<\/strong> qui a \u00e9t\u00e9 ajout\u00e9 \u00e0 l&rsquo;objet avec son nom.<br>&#8211; Depuis les <strong>Assets<\/strong>, faire glisser le <strong>Script<\/strong> vers une instance de l&rsquo;objet sur la <strong>Sc\u00e8ne<\/strong> ou dans la <strong>Hierarchy<\/strong>.<\/p>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-61 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" loading=\"lazy\" width=\"457\" height=\"627\" src=\"http:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2020\/05\/Unity-component-add-script.png\" alt=\"\" class=\"wp-image-2110\" srcset=\"https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2020\/05\/Unity-component-add-script.png 457w, https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2020\/05\/Unity-component-add-script-219x300.png 219w\" sizes=\"(max-width: 457px) 100vw, 457px\" \/><\/figure>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" loading=\"lazy\" width=\"602\" height=\"826\" src=\"http:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2020\/05\/Unity-component-script-drag-1.png\" alt=\"\" class=\"wp-image-2112\" srcset=\"https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2020\/05\/Unity-component-script-drag-1.png 602w, https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2020\/05\/Unity-component-script-drag-1-219x300.png 219w\" sizes=\"(max-width: 602px) 100vw, 602px\" \/><\/figure>\n<\/div>\n<\/div>\n\n\n\n<p>Si vous faites un Clic droit sur le titre d&rsquo;un <strong>Component<\/strong> dans l&rsquo;<strong>Inspector<\/strong>, vous pouvez faire plusieurs op\u00e9rations et notamment le supprimer (<strong>Remove Component<\/strong>), changer l&rsquo;ordre des Components dans l&rsquo;Inspector, comme des calques Photoshop (<strong>Move Up<\/strong> et <strong>Move Down<\/strong>), le dupliquer (<strong>Copy Component<\/strong>), etc.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" loading=\"lazy\" width=\"584\" height=\"370\" src=\"http:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2020\/05\/Unity-component-right-clic-1.png\" alt=\"\" class=\"wp-image-2114\" srcset=\"https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2020\/05\/Unity-component-right-clic-1.png 584w, https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2020\/05\/Unity-component-right-clic-1-300x190.png 300w\" sizes=\"(max-width: 584px) 100vw, 584px\" \/><\/figure>\n\n\n\n<h5 class=\"wp-block-heading\">5. Les Box Colliders<\/h5>\n\n\n\n<p>Les <strong>Colliders<\/strong> sont des <strong>Components<\/strong> associ\u00e9s \u00e0 un <strong>GameObject<\/strong> qui cr\u00e9ent une bo\u00eete autour de lui afin de le rendre capable de se heurter \u00e0 son environnement. Un sol par exemple doit avoir un <strong>Collider<\/strong> (<strong>Mesh Collider<\/strong> pour un <strong>Plane<\/strong> ou <strong>Terrain Collider<\/strong> pour un <strong>Terrain<\/strong>), sans quoi les personnages qui se trouvent dessus vont passer \u00e0 travers, ce qui n&rsquo;est pas tr\u00e8s op\u00e9rationnel!<br>Il existe plusieurs sortes de <strong>Colliders<\/strong>, qui diff\u00e8rent par leur forme et par la nature des Objets auxquels ils sont associ\u00e9s :<br>&#8211; <strong>Box Collider<\/strong> pour un <strong>Cube<\/strong><br>&#8211; <strong>Capsule Collider<\/strong>, pour une <strong>Capsule<\/strong>, un <strong>Cylinder<\/strong> ou un <strong>Character<\/strong> (un personnage, rien \u00e0 voir avec du texte)<br>&#8211; <strong>Mesh Collider<\/strong> pour les <strong>Plane<\/strong> et les surfaces 3D import\u00e9es<br>&#8211; <strong>Terrain Collider<\/strong> pour les <strong>Terrains<\/strong><br>&#8211; <strong>Wheel Collider<\/strong>, pour les Roues de voiture !!! Pourquoi pas?<\/p>\n\n\n\n<p>Un <strong>Collider<\/strong> permet aussi de d\u00e9tecter qu&rsquo;un personnage touche un \u00e9l\u00e9ment de d\u00e9cor ou un objet du jeu, se trouve \u00e0 un endroit d\u00e9termin\u00e9,  passe une porte ou attrape un objet par exemple.<\/p>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-64 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" loading=\"lazy\" width=\"599\" height=\"959\" src=\"http:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2020\/05\/Unity-mesh-collider.png\" alt=\"\" class=\"wp-image-2108\" srcset=\"https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2020\/05\/Unity-mesh-collider.png 599w, https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2020\/05\/Unity-mesh-collider-187x300.png 187w\" sizes=\"(max-width: 599px) 100vw, 599px\" \/><\/figure>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<p>Ci-contre, l&rsquo;<strong>Inspector<\/strong> d&rsquo;un <strong>Plane<\/strong> servant de Sol montre un <strong>Mesh Collider<\/strong>. Ici, il est d\u00e9sactiv\u00e9 (la case \u00e0 gauche du titre est d\u00e9coch\u00e9e) de sorte que la collision avec cet objet n&rsquo;est plus d\u00e9tect\u00e9e. Un personnage (<strong>Character<\/strong>) va passer \u00e0 travers lorsqu&rsquo;on lance le jeu (Bouton <strong>Play<\/strong> en haut de l&rsquo;interface d&rsquo;Unity).<\/p>\n<\/div>\n<\/div>\n\n\n\n<h5 class=\"wp-block-heading\">6. Le Component Rigid Body<\/h5>\n\n\n\n<p>Le <strong>RigidBody<\/strong> est un <strong>Component<\/strong> \u00e0 ajouter \u00e0 un <strong>GameObject<\/strong> pour lui attribuer un comportement physique. Cela lui conf\u00e8re notamment une masse et le rend sensible \u00e0 la gravit\u00e9. Ce <strong>Component<\/strong> se trouve dans la cat\u00e9gorie <strong>Physics<\/strong>. Il fait partie des <strong>Components<\/strong> essentiels, comme les <strong>Colliders<\/strong>, vus pr\u00e9c\u00e9demment.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" loading=\"lazy\" width=\"913\" height=\"724\" src=\"http:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2020\/05\/Unity-component-add.png\" alt=\"\" class=\"wp-image-2117\" srcset=\"https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2020\/05\/Unity-component-add.png 913w, https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2020\/05\/Unity-component-add-300x238.png 300w, https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2020\/05\/Unity-component-add-768x609.png 768w\" sizes=\"(max-width: 913px) 100vw, 913px\" \/><\/figure>\n\n\n\n<p>Ci-dessous, un <strong>Plane<\/strong> pour le sol avec son <strong>Mesh Collider<\/strong> par d\u00e9faut et au dessus, suspendue, une <strong>Capsule<\/strong> \u00e0 laquelle on a attribu\u00e9 un <strong>RigidBody<\/strong> avec les r\u00e9glages par d\u00e9faut.<br>Lorsqu&rsquo;on clique sur le bouton <strong>Play<\/strong>, on voit la <strong>Capsule<\/strong> tomber par l&rsquo;effet de la gravit\u00e9 (c&rsquo;est ce que permet le <strong>RigidBody<\/strong>) et \u00eatre bloqu\u00e9e par le sol (c&rsquo;est ce que permet le <strong>Mesh Collider<\/strong>).<\/p>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-67 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" loading=\"lazy\" width=\"600\" height=\"600\" src=\"http:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2020\/05\/Unity-rigid-body.png\" alt=\"\" class=\"wp-image-2115\" srcset=\"https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2020\/05\/Unity-rigid-body.png 600w, https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2020\/05\/Unity-rigid-body-300x300.png 300w, https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2020\/05\/Unity-rigid-body-150x150.png 150w\" sizes=\"(max-width: 600px) 100vw, 600px\" \/><\/figure>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" loading=\"lazy\" width=\"600\" height=\"600\" src=\"http:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2020\/05\/Unity-rigid-body-play.png\" alt=\"\" class=\"wp-image-2116\" srcset=\"https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2020\/05\/Unity-rigid-body-play.png 600w, https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2020\/05\/Unity-rigid-body-play-300x300.png 300w, https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2020\/05\/Unity-rigid-body-play-150x150.png 150w\" sizes=\"(max-width: 600px) 100vw, 600px\" \/><\/figure>\n<\/div>\n<\/div>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-70 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" loading=\"lazy\" width=\"601\" height=\"895\" src=\"http:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2020\/05\/Unity-rigid-body-inspector.png\" alt=\"\" class=\"wp-image-2118\" srcset=\"https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2020\/05\/Unity-rigid-body-inspector.png 601w, https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2020\/05\/Unity-rigid-body-inspector-201x300.png 201w\" sizes=\"(max-width: 601px) 100vw, 601px\" \/><\/figure>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<p>L&rsquo;<strong>Inspector<\/strong> par d\u00e9faut d&rsquo;un <strong>RigidBody<\/strong> ci-contre.<br>La <strong>Mass<\/strong> vaut 1 Kg par d\u00e9faut. Plus elle augmente, plus l&rsquo;objet tombera vite et brusquement.<br>Pour qu&rsquo;un objet tombe, il faut que la case <strong>Use Gravity<\/strong> soit coch\u00e9e.<br>La valeur de <strong>Damping<\/strong> (ex <strong>Drag<\/strong>) ou <strong>Angular Damping<\/strong> est la r\u00e9sistance \u00e0 l&rsquo;air des objets d\u00e9plac\u00e9s par des forces, gravit\u00e9 ou autres.<\/p>\n<\/div>\n<\/div>\n\n\n\n<p>Il est important de param\u00e9trer un <strong>RigidBody<\/strong> pour tous les objets qui doivent \u00eatre soumis \u00e0 des forces, les personnages, des projectiles, etc.<\/p>\n\n\n\n<p>Attention, si vous rajoutez un <strong>RigidBody<\/strong> \u00e0 la maison, elle passera \u00e0 travers le sol malgr\u00e9 le <strong>Collider<\/strong> du plane. Il faut \u00e9galement lui ajouter un <strong>Mesh Collider<\/strong>. Pourtant, avec les r\u00e9glages par d\u00e9faut, elle passera malgr\u00e9 tout \u00e0 travers le sol. Pour \u00e9viter cela, il faut cocher la case <strong>Convex<\/strong> du <strong>Collider<\/strong> et v\u00e9rifier que le Mesh du Collider n&rsquo;est pas vide; ci-dessous, il contient un \u00ab\u00a0Cube\u00a0\u00bb qui est en r\u00e9alit\u00e9 un maillage de la maison.<\/p>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-73 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:66.66%\">\n<figure class=\"wp-block-image size-full\"><a href=\"http:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2023\/03\/unity_meshCollider.png\"><img decoding=\"async\" loading=\"lazy\" width=\"598\" height=\"298\" src=\"http:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2023\/03\/unity_meshCollider.png\" alt=\"\" class=\"wp-image-4594\" srcset=\"https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2023\/03\/unity_meshCollider.png 598w, https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2023\/03\/unity_meshCollider-300x149.png 300w\" sizes=\"(max-width: 598px) 100vw, 598px\" \/><\/a><\/figure>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:33.33%\"><\/div>\n<\/div>\n\n\n\n<h5 class=\"wp-block-heading\">7. Ajouter un personnage (Asset FPS ou TPS)<\/h5>\n\n\n\n<h6 class=\"wp-block-heading\">7a_ R\u00e9cup\u00e9rer des Assets de personnages sur l&rsquo;Asset Store<\/h6>\n\n\n\n<p>Allez sur l&rsquo;Asset Store sur le web : <a rel=\"noreferrer noopener\" href=\"https:\/\/assetstore.unity.com\" target=\"_blank\">https:\/\/assetstore.unity.com<\/a> et connectez-vous \u00e0 votre compte Unity.<br>Faites une recherche sur \u00ab\u00a0<strong>Starter<\/strong>\u00ab\u00a0, puis dans la colonne de droite, dans Pricing, cochez seulement les \u00ab\u00a0<strong>Free Assets<\/strong>\u00ab\u00a0.<br>Vous allez trouver les Starter Assets de personnage (<strong>Third Person<\/strong> et <strong>First Person<\/strong>). Ajoutez-les \u00e0 vos assets \u00ab\u00a0<strong>Add to My Assets<\/strong>\u00ab\u00a0.<\/p>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-75 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image size-large\"><a href=\"http:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2022\/03\/21_2_unity_starter_assets.png\"><img decoding=\"async\" loading=\"lazy\" width=\"1024\" height=\"366\" src=\"http:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2022\/03\/21_2_unity_starter_assets-1024x366.png\" alt=\"\" class=\"wp-image-4043\" srcset=\"https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2022\/03\/21_2_unity_starter_assets-1024x366.png 1024w, https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2022\/03\/21_2_unity_starter_assets-300x107.png 300w, https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2022\/03\/21_2_unity_starter_assets-768x274.png 768w, https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2022\/03\/21_2_unity_starter_assets-1536x548.png 1536w, https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2022\/03\/21_2_unity_starter_assets.png 1709w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n<\/div>\n<\/div>\n\n\n\n<p>Dans Unity, ouvrez <strong>Menu Window &gt; Package Manager<\/strong>.  Choisissez en haut \u00e0 gauche, <strong>Packages &gt; My assets<\/strong>. Dans la liste de la colonne de gauche, s\u00e9lectionnez le <strong>Starter Assets &#8211; First Person<\/strong> et cliquez sur le bouton <strong>Download<\/strong> en bas \u00e0 droite, puis sur le bouton <strong>Import<\/strong>.<\/p>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-77 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image size-large\"><a href=\"http:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2022\/03\/21_2_unity_first_person_asset.png\"><img decoding=\"async\" loading=\"lazy\" width=\"1024\" height=\"595\" src=\"http:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2022\/03\/21_2_unity_first_person_asset-1024x595.png\" alt=\"\" class=\"wp-image-4044\" srcset=\"https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2022\/03\/21_2_unity_first_person_asset-1024x595.png 1024w, https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2022\/03\/21_2_unity_first_person_asset-300x174.png 300w, https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2022\/03\/21_2_unity_first_person_asset-768x447.png 768w, https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2022\/03\/21_2_unity_first_person_asset-1536x893.png 1536w, https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2022\/03\/21_2_unity_first_person_asset.png 1658w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n<\/div>\n<\/div>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-80 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<p>Enfin, dans le fen\u00eatre qui s&rsquo;ouvre, gardez tout coch\u00e9 et cliquez sur le bouton \u00ab\u00a0Import\u00a0\u00bb.<br>Il vous est demand\u00e9 de d\u00e9sactiver l&rsquo;ancien syst\u00e8me d&rsquo;Input. Vous pouvez acceptez. Cliquez sur le bouton Save si n\u00e9cessaire. Cela red\u00e9marre Unity.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"http:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2022\/03\/21_2_unity_desactivate_old_input.png\"><img decoding=\"async\" loading=\"lazy\" width=\"520\" height=\"690\" src=\"http:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2022\/03\/21_2_unity_desactivate_old_input.png\" alt=\"\" class=\"wp-image-4046\" srcset=\"https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2022\/03\/21_2_unity_desactivate_old_input.png 520w, https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2022\/03\/21_2_unity_desactivate_old_input-226x300.png 226w\" sizes=\"(max-width: 520px) 100vw, 520px\" \/><\/a><\/figure>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image size-large\"><a href=\"http:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2022\/03\/21_2_unity_first_person_import.png\"><img decoding=\"async\" loading=\"lazy\" width=\"618\" height=\"1024\" src=\"http:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2022\/03\/21_2_unity_first_person_import-618x1024.png\" alt=\"\" class=\"wp-image-4045\" srcset=\"https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2022\/03\/21_2_unity_first_person_import-618x1024.png 618w, https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2022\/03\/21_2_unity_first_person_import-181x300.png 181w, https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2022\/03\/21_2_unity_first_person_import.png 698w\" sizes=\"(max-width: 618px) 100vw, 618px\" \/><\/a><\/figure>\n<\/div>\n<\/div>\n\n\n\n<p>Vous pouvez v\u00e9rifier quel est le Syst\u00e8me d&rsquo;Input qui est activ\u00e9. Allez dans <strong>Menu Edit > Project Settings > Player > Configuration > Active Input Handling<\/strong>. Il doit \u00eatre r\u00e9gl\u00e9 sur <strong>Both<\/strong> (ou <strong>Input System Package New<\/strong>).<\/p>\n\n\n\n<h6 class=\"wp-block-heading\">7b_ Placer un First Person sur la Sc\u00e8ne<\/h6>\n\n\n\n<p>Un FirstPerson est un personnage que l&rsquo;on ne voit pas apparaitre sur le jeu : c&rsquo;est vous, le joueur. Il voit la Sc\u00e8ne directement en se d\u00e9pla\u00e7ant.<\/p>\n\n\n\n<p>Une fois les <strong>Starter Assets<\/strong> int\u00e9gr\u00e9s \u00e0 votre Projet, ils apparaissent comme nouveau dossier dans le Dossier Assets.<br>Ouvrez le dossier <strong>Starter Assets &gt; First PersonControler &gt; Prefabs<\/strong>. Il contient 4 \u00e9l\u00e9ments. Il faut placer sur la Sc\u00e8ne les deux derniers en les y faisant glisser, le <strong>PlayerCapsule<\/strong> et le <strong>PlayerFollowCamera<\/strong>.<br>Ils apparaissent alors \u00e9galement dans la Hierarchy, comme ci-dessous. Le PlayerCapsule contient deux sous-\u00e9l\u00e9ments, dont le <strong>PlayerCameraRoot<\/strong>.<br><\/p>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-82 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image size-large\"><a href=\"http:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2022\/03\/21_2_unity_first_person_01.png\"><img decoding=\"async\" loading=\"lazy\" width=\"1024\" height=\"865\" src=\"http:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2022\/03\/21_2_unity_first_person_01-1024x865.png\" alt=\"\" class=\"wp-image-4048\" srcset=\"https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2022\/03\/21_2_unity_first_person_01-1024x865.png 1024w, https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2022\/03\/21_2_unity_first_person_01-300x253.png 300w, https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2022\/03\/21_2_unity_first_person_01-768x649.png 768w, https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2022\/03\/21_2_unity_first_person_01.png 1082w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n<\/div>\n<\/div>\n\n\n\n<p>Sur la Sc\u00e8ne, positionnez le PlayerCapsule o\u00f9 doit se trouver le personnage initialement. Placez le PlayerFollowCamera au m\u00eame endroit.<\/p>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-85 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:66.66%\">\n<figure class=\"wp-block-image size-full\"><a href=\"http:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2022\/03\/21_2_unity_first_person_02-1.png\"><img decoding=\"async\" loading=\"lazy\" width=\"675\" height=\"1020\" src=\"http:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2022\/03\/21_2_unity_first_person_02-1.png\" alt=\"\" class=\"wp-image-4053\" srcset=\"https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2022\/03\/21_2_unity_first_person_02-1.png 675w, https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2022\/03\/21_2_unity_first_person_02-1-199x300.png 199w\" sizes=\"(max-width: 675px) 100vw, 675px\" \/><\/a><\/figure>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:33.33%\">\n<p>S\u00e9lectionnez le <strong>PlayerFollowCamera<\/strong>. Dans l&rsquo;<strong>Inspector<\/strong>, il faut l&rsquo;associer au personnage. Dans la case <strong>Follow<\/strong>, choisir le <strong>PlayerCameraRoot<\/strong> \u00e0 la place de None.<\/p>\n<\/div>\n<\/div>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-88 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:66.66%\">\n<figure class=\"wp-block-image size-large\"><a href=\"http:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2022\/03\/21_2_unity_first_person_03.png\"><img decoding=\"async\" loading=\"lazy\" width=\"714\" height=\"1024\" src=\"http:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2022\/03\/21_2_unity_first_person_03-714x1024.png\" alt=\"\" class=\"wp-image-4050\" srcset=\"https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2022\/03\/21_2_unity_first_person_03-714x1024.png 714w, https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2022\/03\/21_2_unity_first_person_03-209x300.png 209w, https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2022\/03\/21_2_unity_first_person_03-768x1101.png 768w, https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2022\/03\/21_2_unity_first_person_03.png 813w\" sizes=\"(max-width: 714px) 100vw, 714px\" \/><\/a><\/figure>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:33.33%\">\n<p>S\u00e9lectionnez ensuite la Cam\u00e9ra principale, <strong>Main Camera<\/strong>. Ajoutez un Component en cliquant dans l&rsquo;Inspector sur le bouton <strong>Add Component<\/strong> et chosissez <strong>Cinemachine &gt; CinemachineBrain<\/strong>.<\/p>\n<\/div>\n<\/div>\n\n\n\n<p>Orientez le <strong>PlayerCapsule<\/strong> pour que la fen\u00eatre <strong>Game<\/strong> montre le point de vue initial souhait\u00e9.<br>Cliquez sur la fl\u00e8che <strong>Play<\/strong> et d\u00e9placez-vous sur le jeu en d\u00e9pla\u00e7ant la souris pour tourner la t\u00eate, en utilisant les touches <strong>fl\u00e8ches de direction<\/strong> pour avancer ou reculer et en appuyant sur la <strong>barre d&rsquo;espace<\/strong> pour sauter.<br>Il y a probablement d&rsquo;autres touches pour d&rsquo;autres actions, famili\u00e8res des gamers.<\/p>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-90 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image size-large\"><a href=\"http:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2022\/03\/21_2_unity_first_person_10.png\"><img decoding=\"async\" loading=\"lazy\" width=\"1024\" height=\"347\" src=\"http:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2022\/03\/21_2_unity_first_person_10-1024x347.png\" alt=\"\" class=\"wp-image-4051\" srcset=\"https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2022\/03\/21_2_unity_first_person_10-1024x347.png 1024w, https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2022\/03\/21_2_unity_first_person_10-300x102.png 300w, https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2022\/03\/21_2_unity_first_person_10-768x260.png 768w, https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2022\/03\/21_2_unity_first_person_10-1536x521.png 1536w, https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2022\/03\/21_2_unity_first_person_10-2048x694.png 2048w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n<\/div>\n<\/div>\n\n\n\n<p>Essayez de faire passer votre personnage dans les maisons. Vous verrez qu&rsquo;elles sont trop petites et qu&rsquo;il faut les agrandir. Par ailleurs, supprimez leur <strong>Component RigidBody<\/strong> si elles en ont un et d\u00e9cochez la case <strong>Convex<\/strong> du <strong>Component Collider<\/strong> si besoin, sinon, le FPS sera bloqu\u00e9 et ne pourra pas passer \u00e0 l&rsquo;int\u00e9rieur.<\/p>\n\n\n\n<div class=\"wp-block-group has-light-gray-background-color has-background is-layout-constrained wp-block-group-is-layout-constrained\"><div class=\"wp-block-group__inner-container\">\n<h6 class=\"wp-block-heading\">7c_ Utiliser les personnages des Standard Assets (d\u00e9suet)<\/h6>\n\n\n\n<p>Si vous souhaitez encore utiliser les personnages des Standard Assets, suivre la m\u00e9thode ci-dessous, bien que ce ne soit plus recommand\u00e9 aujourd&rsquo;hui.<\/p>\n\n\n\n<p>Dans le <strong>Standard Assets Package<\/strong>, il y a deux personnages pr\u00eats \u00e0 l&#8217;emploi. L&rsquo;un est un joueur \u00e0 la premi\u00e8re personne (<strong>FPS = First Person Shooter<\/strong>) et l&rsquo;autre \u00e0 la troisi\u00e8me personne (<strong>TPS = Third Person Shooter<\/strong>).<br>Le premier n&rsquo;est pas visible sur la <strong>Scene<\/strong> et le jeu est vu \u00e0 travers ses yeux, par l&rsquo;interm\u00e9diaire d&rsquo;une \u00ab\u00a0Camera embarqu\u00e9e\u00a0\u00bb. Dans ce genre de jeu on est directement le joueur. C&rsquo;est le cas des <strong>Shoot&#8217;em Up<\/strong> dans lesquels on voit parfois uniquement notre main ou une arme juste devant nous.<br>Le second est un personnage mod\u00e9lis\u00e9 en 3D et anim\u00e9, dont la pr\u00e9sence, les mouvements et les d\u00e9placements sont clairement visibles. Dans ce type de jeu on observe son personnage jouer. Ce peut \u00eatre typiquement un <strong>Soccer<\/strong> (Jeu de Football) par exemple.<\/p>\n\n\n\n<p>Cr\u00e9ez un nouveau fichier 3D Unity. Choisissez le <strong>Layout<\/strong> d&rsquo;affichage par <strong>Default<\/strong> par le <strong>Menu Layout<\/strong> en haut \u00e0 droite de la <strong>Barre d&rsquo;outils<\/strong>. Placez un Sol et des Objets de votre choix sur la <strong>Scene<\/strong>. Importez les <strong>Standard Assets<\/strong> depuis l&rsquo;<strong>Asset Store<\/strong>. Dans les <strong>Assets<\/strong> de l&rsquo;onglet <strong>Project<\/strong>, vous trouverez ces personnages dans le dossier <strong>Standard Assets &gt; Characters<\/strong>.<br>Rep\u00e9rez le <strong>First Person Controller &gt; Prefabs &gt; FPSController<\/strong> et faites-le glisser sur la <strong>Scene<\/strong>. Remontez-le un peu sur l&rsquo;axe des Y pour qu&rsquo;il soit situ\u00e9 au dessus du Sol.<br>Cliquez sur <strong>Play<\/strong> et d\u00e9placez-vous sur la <strong>Scene<\/strong> en d\u00e9pla\u00e7ant la Souris et en utilisant les touches de votre clavier :<br>&#8211; Fl\u00e8ches <strong>Up et Down<\/strong> pour avancer ou reculer<br>&#8211; Fl\u00e8ches <strong>Left et Right<\/strong> pour tourner \u00e0 gauche ou \u00e0 droite<br>&#8211; <strong>Barre d&rsquo;espace<\/strong> pour sauter.<br>Ce <strong>Prefab<\/strong> poss\u00e8de bien d&rsquo;autres possibilit\u00e9s, comme attraper des objets par exemple. Il contient un son de pas quand il se d\u00e9place, etc.<\/p>\n\n\n\n<h6 class=\"wp-block-heading\">\u2022 Incompatibilit\u00e9s des personnages des Standards Assets<\/h6>\n\n\n\n<p>Les <strong>Standard Assets<\/strong> sont parfaitement compatibles avec la version 2018 ou 2017  d&rsquo;Unity mais les deux <strong>Characters<\/strong> fournis posent probl\u00e8me avec la version 2019 et au del\u00e0, refusant de lancer le jeu.<br>Il faut pour corriger cela, fixer les erreurs affich\u00e9es dans la <strong>Console<\/strong>. Allez dans le <strong>Menu Window &gt; General &gt; Console<\/strong>. Il y a deux types d&rsquo;erreurs qui se pr\u00e9sentent, celles en rouge qu&rsquo;il faut corriger et celles en jaune.<\/p>\n\n\n\n<p>Les erreurs rouges correspondent \u00e0 du code obsol\u00e8te. Dans le message d&rsquo;erreur, il est fait allusion au fichier <strong>Script<\/strong> qui pose probl\u00e8me et entre parenth\u00e8ses, le num\u00e9ro de ligne de code o\u00f9 il y a erreur. Double-cliquez sur une premi\u00e8re erreur. Le code doit s&rsquo;ouvrir dans un logiciel associ\u00e9 \u00e0 Unity, Visual Basic, mais vous pouvez le modifier dans les <strong>Pr\u00e9f\u00e9rences<\/strong>. Personnellement j&rsquo;ai choisi Sublime Text comme \u00e9diteur de code, mais si Visual Basic fonctionne bien sur votre ordinateur, vous pouvez le conserver.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" loading=\"lazy\" width=\"1024\" height=\"364\" src=\"http:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2020\/05\/Unity-script-editeur-1024x364.png\" alt=\"\" class=\"wp-image-2130\" srcset=\"https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2020\/05\/Unity-script-editeur-1024x364.png 1024w, https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2020\/05\/Unity-script-editeur-300x107.png 300w, https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2020\/05\/Unity-script-editeur-768x273.png 768w, https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2020\/05\/Unity-script-editeur.png 1439w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" loading=\"lazy\" width=\"1024\" height=\"239\" src=\"http:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2020\/05\/Unity-fps-console-error-1024x239.png\" alt=\"\" class=\"wp-image-2131\" srcset=\"https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2020\/05\/Unity-fps-console-error-1024x239.png 1024w, https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2020\/05\/Unity-fps-console-error-300x70.png 300w, https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2020\/05\/Unity-fps-console-error-768x179.png 768w, https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2020\/05\/Unity-fps-console-error-1536x358.png 1536w, https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2020\/05\/Unity-fps-console-error.png 1904w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-93 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<p>Une premi\u00e8re erreur est dans le <strong>Script<\/strong> SimpleActivatorMenu.cs, \u00e0 la ligne 11. La classe GUIText est obsol\u00e8te.<br>Double Cliquez sur cette erreur. Cela ouvre le <strong>Script<\/strong> dans Visual Basic (ou autre \u00e9diteur).<\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" loading=\"lazy\" width=\"875\" height=\"600\" src=\"http:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2020\/05\/Unity-fps-script-code-1.png\" alt=\"\" class=\"wp-image-2133\" srcset=\"https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2020\/05\/Unity-fps-script-code-1.png 875w, https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2020\/05\/Unity-fps-script-code-1-300x206.png 300w, https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2020\/05\/Unity-fps-script-code-1-768x527.png 768w\" sizes=\"(max-width: 875px) 100vw, 875px\" \/><\/figure>\n<\/div>\n<\/div>\n\n\n\n<p>Ajoutez une ligne apr\u00e8s la ligne 2 et copiez-y le code suivant : <\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>using UnityEngine.UI;<\/code><\/pre>\n\n\n\n<p>Modifiez la ligne 12 (c&rsquo;\u00e9tait avant la ligne 11), comme suit (changer GUIText par Text) :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>public Text camSwitchButton;<\/code><\/pre>\n\n\n\n<p>Enregistrez le fichier et fermez l&rsquo;\u00e9diteur.<br>Unity charge de nouveaux <strong>Assets<\/strong> et normalement, tout va bien.<\/p>\n\n\n\n<p>Il se peut cependant qu&rsquo;une autre erreur apparaisse dans le <strong>Script<\/strong> ForcedReset.cs<br>Il faut alors rajouter la m\u00eame ligne que plus haut \u00e0 la ligne 3.<br>Et il faut remplacer \u00ab\u00a0GUITexture\u00a0\u00bb par \u00ab\u00a0Image\u00a0\u00bb .<br>Voir ci-dessous le lien web vers la page qui explique cette solution.<br><a rel=\"noreferrer noopener\" href=\"https:\/\/answers.unity.com\/questions\/1638555\/guitexture-adn-guitext-are-obsolete-standard-asset.html\" target=\"_blank\">https:\/\/answers.unity.com\/questions\/1638555\/guitexture-adn-guitext-are-obsolete-standard-asset.html<\/a><\/p>\n\n\n\n<p>Pour r\u00e9soudre cette incompatibilit\u00e9, une solution plus radicale existe. Il suffit de supprimer les deux scripts qui posent probl\u00e8me (SimpleActivatorMenu.cs et Forcedreset.cs), voire m\u00eame le dossier \u00ab\u00a0<strong>Utility<\/strong>\u00a0\u00bb dans lequel ils se trouvent. Il contient des scripts anciens dont vous ne devriez pas avoir besoin.<br>Pensez bien cependant \u00e0 garder par ailleurs une version compl\u00e8te des Standard Assets, au cas o\u00f9.<\/p>\n<\/div><\/div>\n\n\n\n<h6 class=\"wp-block-heading\">7d_ Cr\u00e9er un personnage avec Make Human<\/h6>\n\n\n\n<p>Pour cr\u00e9er un personnage personnalis\u00e9, il est possible d&rsquo;utiliser Make Human. C&rsquo;est un logiciel gratuit qui permet de cr\u00e9er des personnages pr\u00eats \u00e0 \u00eatre anim\u00e9s, avec un tr\u00e8s grand potentiel de personnalisation, sur le genre, l&rsquo;age, le type, les v\u00eatements et accessoires\u2026<br>Vous pouvez le t\u00e9l\u00e9charger \u00e0 cette URL : <a rel=\"noreferrer noopener\" href=\"http:\/\/www.makehumancommunity.org\/content\/downloads.html\" target=\"_blank\">http:\/\/www.makehumancommunity.org\/content\/downloads.html<\/a><\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" loading=\"lazy\" width=\"1024\" height=\"722\" src=\"http:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2020\/05\/MakeHuman-modele-1024x722.png\" alt=\"\" class=\"wp-image-2134\" srcset=\"https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2020\/05\/MakeHuman-modele-1024x722.png 1024w, https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2020\/05\/MakeHuman-modele-300x212.png 300w, https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2020\/05\/MakeHuman-modele-768x541.png 768w, https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2020\/05\/MakeHuman-modele-1536x1083.png 1536w, https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2020\/05\/MakeHuman-modele.png 1600w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Explorez les r\u00e9glages  pour cr\u00e9er le personnage dont vous avez besoin.<br>Vous pouvez t\u00e9l\u00e9charger plus de r\u00e9glages \u00e0 partir du site de la communaut\u00e9, dans l&rsquo;onglet <strong>Assets<\/strong> : <a rel=\"noreferrer noopener\" href=\"http:\/\/www.makehumancommunity.org\/content\/user_contributed_assets.html\" target=\"_blank\">http:\/\/www.makehumancommunity.org\/content\/user_contributed_assets.html<\/a><br>Allez ensuite dans l&rsquo;Onglet Pose\/Animate et choisissez le Skeleton &gt; Game Engine.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" loading=\"lazy\" width=\"1024\" height=\"723\" src=\"http:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2020\/05\/MakeHuman-rig-1024x723.png\" alt=\"\" class=\"wp-image-2135\" srcset=\"https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2020\/05\/MakeHuman-rig-1024x723.png 1024w, https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2020\/05\/MakeHuman-rig-300x212.png 300w, https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2020\/05\/MakeHuman-rig-768x542.png 768w, https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2020\/05\/MakeHuman-rig-1536x1084.png 1536w, https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2020\/05\/MakeHuman-rig.png 1600w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Cliquez sur le Bouton <strong>Export<\/strong> en haut \u00e0 gauche (la disquette avec une fl\u00e8che orange). Cochez le <strong>Mesh Format Filmbox (.fbx)<\/strong> et le <strong>Scale Units<\/strong> en m\u00e8tre \u00e0 droite. Tapez un nom dans la zone de saisie en haut (ci-dessous Albert) et cliquez sur le bouton <strong>Export<\/strong> \u00e0 droite de cette zone . <\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" loading=\"lazy\" width=\"1024\" height=\"726\" src=\"http:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2020\/05\/MakeHuman-export-1024x726.png\" alt=\"\" class=\"wp-image-2136\" srcset=\"https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2020\/05\/MakeHuman-export-1024x726.png 1024w, https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2020\/05\/MakeHuman-export-300x213.png 300w, https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2020\/05\/MakeHuman-export-768x544.png 768w, https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2020\/05\/MakeHuman-export-1536x1088.png 1536w, https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2020\/05\/MakeHuman-export.png 1599w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-97 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<p>Le r\u00e9sultat est un dossier dans le Dossier Make Human du dossier Documents, comportant le fichier .fbx et les textures associ\u00e9es.<br>Il ne reste plus qu&rsquo;\u00e0 l&rsquo;importer dans Unity.<\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" loading=\"lazy\" width=\"530\" height=\"351\" src=\"http:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2020\/05\/MakeHuman-export-files.png\" alt=\"\" class=\"wp-image-2137\" srcset=\"https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2020\/05\/MakeHuman-export-files.png 530w, https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2020\/05\/MakeHuman-export-files-300x199.png 300w\" sizes=\"(max-width: 530px) 100vw, 530px\" \/><\/figure>\n<\/div>\n<\/div>\n\n\n\n<p>Pour importer votre personnage dans Unity, faites glisser dans les <strong>Assets<\/strong> le fichier <strong>.fbx<\/strong> et le dossier de <strong>textures<\/strong>.<\/p>\n\n\n\n<h6 class=\"wp-block-heading\">\u2022 Animer votre personnage<\/h6>\n\n\n\n<p>Vous pouvez utiliser les scripts d&rsquo;animation fournis avec les Standard Assets et les associer \u00e0 votre personnage. <br>Toutes les explications \u00e0 partir de la minute 3&rsquo;20 sur ce tuto en fran\u00e7ais : <a rel=\"noreferrer noopener\" href=\"https:\/\/www.youtube.com\/watch?v=oeSAhwSmXVw\" target=\"_blank\">https:\/\/www.youtube.com\/watch?v=oeSAhwSmXVw<\/a><\/p>\n\n\n\n<h6 class=\"wp-block-heading\">7e_ Blender<\/h6>\n\n\n\n<p>Une derni\u00e8re solution consiste \u00e0 mod\u00e9liser vous-m\u00eame, dans Blender par exemple, un personnage \u00e0 votre gout et \u00e0 l&rsquo;animer. C&rsquo;est de loin la solution la plus complexe et nous ne l&rsquo;\u00e9tudierons pas ici.<\/p>\n\n\n\n<h5 class=\"wp-block-heading\">8. Les Scenes ou comment cr\u00e9er des Niveaux<\/h5>\n\n\n\n<p>Dans un jeu il est courant d&rsquo;utiliser plusieurs niveaux de jeu, a priori de plus en plus difficiles. Pour ce faire, il ne faut pas cr\u00e9er plusieurs fichiers diff\u00e9rents mais autant de <strong>Scenes<\/strong> que de niveaux, dans un m\u00eame fichier. Il ne faut cependant pas en abuser et selon le jeu, les niveaux peuvent se d\u00e9rouler dans la m\u00eame Scene.<\/p>\n\n\n\n<p>Par d\u00e9faut, un fichier Unity s&rsquo;ouvre avec une <strong>Scene<\/strong> nomm\u00e9e \u00ab\u00a0SampleScene\u00a0\u00bb et enregistr\u00e9e dans le dossier <strong>Scenes<\/strong> des <strong>Assets<\/strong>. Elle contient une <strong>Camera<\/strong> et une <strong>Directionnal Light<\/strong>.<\/p>\n\n\n\n<p>Cr\u00e9ez un nouveau document dans Unity.<\/p>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-100 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" loading=\"lazy\" width=\"681\" height=\"522\" src=\"http:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2020\/05\/Unity-scene-rename.png\" alt=\"\" class=\"wp-image-2186\" srcset=\"https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2020\/05\/Unity-scene-rename.png 681w, https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2020\/05\/Unity-scene-rename-300x230.png 300w\" sizes=\"(max-width: 681px) 100vw, 681px\" \/><\/figure>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<p class=\"has-black-color has-text-color\">Vous pouvez renommer la <strong>Scene<\/strong> existante par un Clic droit dessus dans les <strong>Assets > Rename<\/strong>. Nous allons renommer notre Scene \u00ab\u00a0Level1\u00a0\u00bb.<\/p>\n\n\n\n<p class=\"has-medium-gray-color has-text-color\"><em>Dans des versions plus anciennes d&rsquo;Unity, un message vous propose alors de recharger cette Sc\u00e8ne. Cliquez sur <strong>Reload<\/strong>.<\/em><\/p>\n<\/div>\n<\/div>\n\n\n\n<p>Placez dans cette <strong>Scene<\/strong> un environnement quelconque. Pour ma part, j&rsquo;ai plac\u00e9 un <strong>Cube<\/strong>, redimensionn\u00e9 qui servira de plate-forme. Sur ce sol, un autre <strong>Cube<\/strong>, plac\u00e9 \u00e0 un bout servira \u00e0 d\u00e9tecter une collision afin d&rsquo;\u00e9viter que le joueur ne tombe.<\/p>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-103 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" loading=\"lazy\" width=\"597\" height=\"834\" src=\"http:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2020\/05\/Unity-scene-n1-collider-1.png\" alt=\"\" class=\"wp-image-2190\" srcset=\"https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2020\/05\/Unity-scene-n1-collider-1.png 597w, https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2020\/05\/Unity-scene-n1-collider-1-215x300.png 215w\" sizes=\"(max-width: 597px) 100vw, 597px\" \/><\/figure>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<p>Placez un second <strong>Cube<\/strong>, dimensionnez-le correctement et dans l&rsquo;<strong>Inspector<\/strong>, d\u00e9cochez la case <strong>Mesh Renderer<\/strong> pour d\u00e9sactiver ce <strong>Component<\/strong>. Ainsi le Cube sera actif (son <strong>Collider<\/strong> est rest\u00e9 coch\u00e9) mais invisible.<br>Il faut \u00e9galement cocher la case <strong>Is Trigger<\/strong> dans le <strong>Box Collider<\/strong>, c&rsquo;est \u00e0 dire qu&rsquo;il sera d\u00e9clencheur du chargement du niveau 2. Un Trigger sert au d\u00e9clenchement d&rsquo;une action. C&rsquo;est un Collider qui peut \u00eatre travers\u00e9!<\/p>\n<\/div>\n<\/div>\n\n\n\n<p>Pour cr\u00e9er une seconde <strong>Scene<\/strong>, allez dans le <strong>Menu File &gt; New Scene<\/strong>. Elle apparait sous le nom \u00ab\u00a0Untitled\u00a0\u00bb dans la <strong>Hierarchy<\/strong>. Il faut l&rsquo;enregistrer, sinon, vous risquez de la perdre. <strong>Clic Droit &gt; Save Scene as\u2026<\/strong><br>Enregistrez-l\u00e0 dans le m\u00eame dossier que la premi\u00e8re et nommez-la \u00ab\u00a0Level2\u00a0\u00bb. Elle ne comporte, comme la premi\u00e8re, qu&rsquo;une <strong>Camera<\/strong> et une <strong>Light<\/strong>.<\/p>\n\n\n\n<p>Il est en fait plus simple de double cliquer sur cette nouvelle <strong>Scene<\/strong> depuis les Assets. Il vous sera demander d&rsquo;enregistrer le fichier.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" loading=\"lazy\" width=\"1009\" height=\"495\" src=\"http:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2020\/05\/Unity-scene-new-save.png\" alt=\"\" class=\"wp-image-2181\" srcset=\"https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2020\/05\/Unity-scene-new-save.png 1009w, https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2020\/05\/Unity-scene-new-save-300x147.png 300w, https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2020\/05\/Unity-scene-new-save-768x377.png 768w\" sizes=\"(max-width: 1009px) 100vw, 1009px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" loading=\"lazy\" width=\"1009\" height=\"343\" src=\"http:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2020\/05\/Unity-scenes.png\" alt=\"\" class=\"wp-image-2182\" srcset=\"https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2020\/05\/Unity-scenes.png 1009w, https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2020\/05\/Unity-scenes-300x102.png 300w, https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2020\/05\/Unity-scenes-768x261.png 768w\" sizes=\"(max-width: 1009px) 100vw, 1009px\" \/><\/figure>\n\n\n\n<p>Placez-y un objet pour la diff\u00e9rencier de l&rsquo;autre. Par exemple un <strong>Cube<\/strong> d\u00e9form\u00e9 pour faire un sol carr\u00e9. <br>Voici le r\u00e9sultat ci-dessous des deux <strong>Scenes<\/strong>.<\/p>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-106 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" loading=\"lazy\" width=\"720\" height=\"720\" src=\"http:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2020\/05\/Unity-scene-n1.png\" alt=\"\" class=\"wp-image-2184\" srcset=\"https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2020\/05\/Unity-scene-n1.png 720w, https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2020\/05\/Unity-scene-n1-300x300.png 300w, https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2020\/05\/Unity-scene-n1-150x150.png 150w\" sizes=\"(max-width: 720px) 100vw, 720px\" \/><figcaption class=\"wp-element-caption\">Scene Level1<\/figcaption><\/figure>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" loading=\"lazy\" width=\"720\" height=\"720\" src=\"http:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2020\/05\/Unity-scene-n2.png\" alt=\"\" class=\"wp-image-2185\" srcset=\"https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2020\/05\/Unity-scene-n2.png 720w, https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2020\/05\/Unity-scene-n2-300x300.png 300w, https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2020\/05\/Unity-scene-n2-150x150.png 150w\" sizes=\"(max-width: 720px) 100vw, 720px\" \/><figcaption class=\"wp-element-caption\">Scene Level2<\/figcaption><\/figure>\n<\/div>\n<\/div>\n\n\n\n<p>Pour passer d&rsquo;une <strong>Scene<\/strong> \u00e0 l&rsquo;autre dans Unity, il suffit de double cliquer dessus dans les <strong>Assets<\/strong>. Par contre, dans le jeu, il faut cr\u00e9er un <strong>Script<\/strong> qui va permettre de passer de l&rsquo;une \u00e0 l&rsquo;autre sur une condition, par exemple quand le joueur entre dans le <strong>Collider<\/strong> au Niveau1.<\/p>\n\n\n\n<p>Placez un personnage FPS sur le plateau de la <strong>Scene<\/strong> initiale. Nous pourrions aussi placer une boule qui va se d\u00e9placer avec les fl\u00e8ches du clavier, jusqu&rsquo;\u00e0 rejoindre le <strong>Collider<\/strong> par exemple.<\/p>\n\n\n\n<p>Cr\u00e9ez un nouveau <strong>Script<\/strong> dans un sous-dossier Scripts des <strong>Assets<\/strong>. Nommez-le \u00ab\u00a0Vers_level2\u00a0\u00bb et associez-le au <strong>Cube Collider<\/strong> , en le faisant glisser dessus, dans la <strong>Hierarchy<\/strong> ou sur la <strong>Scene<\/strong>.<\/p>\n\n\n\n<p>Double-cliquez sur le <strong>Script<\/strong> pour l&rsquo;\u00e9diter. Commencez par importez le SceneManagement en ligne 4 par l&rsquo;ajout de la ligne :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>using UnityEngine.SceneManagement;<\/code><\/pre>\n\n\n\n<p>Rajoutez \u00e0 la suite des deux void (qu&rsquo;il est possible de supprimer), le code ci-dessous. L&rsquo;\u00e9v\u00e9nement <strong>OnTriggerEnter()<\/strong> d\u00e9tecte la collision et d\u00e9clenche le chargement du niveau 2 par <strong>LoadScene()<\/strong>. On peut d\u00e9clarer le nom de la Scene entre guillemets (LoadScene(\u00ab\u00a0Level2\u00a0\u00bb) ou par son ID LoadScene(1), qui est la Scene 2, le num\u00e9ro 0 \u00e9tant pour la premi\u00e8re Scene.<br>C&rsquo;est tr\u00e8s simple. Enregistrez votre script.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>public void OnTriggerEnter(){\n    SceneManager.LoadScene(1);\n}<\/code><\/pre>\n\n\n\n<p>La commande <strong>Application.LoadLevel()<\/strong> \u00e0 la place de <strong>LoadScene()<\/strong> est obsol\u00e8te. Prenez-y garde car elle est encore pr\u00e9sente dans de nombreux tutos.<\/p>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-109 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" loading=\"lazy\" width=\"547\" height=\"811\" src=\"http:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2020\/05\/Unity-level-script-1.png\" alt=\"\" class=\"wp-image-2196\" srcset=\"https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2020\/05\/Unity-level-script-1.png 547w, https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2020\/05\/Unity-level-script-1-202x300.png 202w\" sizes=\"(max-width: 547px) 100vw, 547px\" \/><\/figure>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\"><\/div>\n<\/div>\n\n\n\n<p>Il reste \u00e0 ajouter vos <strong>Scenes<\/strong> au <strong>Build<\/strong>, sans quoi rien ne va fonctionner. Le Build est la description de ce que vous allez inclure dans votre jeu et la plateforme \u00e0 laquelle il est destin\u00e9. Allez dans le <strong>Menu File > Build Settings<\/strong>.<br>Faites glisser vos deux Scenes depuis les <strong>Assets<\/strong> vers le haut de la fen\u00eatre <strong>Build Profiles > Scene List<\/strong> (ex <strong>Build Settings<\/strong>) et fermez cette fen\u00eatre (il n&rsquo;y a rien \u00e0 valider).<br>Enregistrez le fichier.<\/p>\n\n\n\n<p class=\"has-medium-gray-color has-text-color\"><em>Si vous avez un message de t\u00e9l\u00e9chargement <strong>xcrun<\/strong>, ignorez-le, a priori c&rsquo;est pour Linux.<\/em><\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" loading=\"lazy\" width=\"1024\" height=\"661\" src=\"http:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2020\/05\/Unity-build-settings-add-scene-1024x661.png\" alt=\"\" class=\"wp-image-2193\" srcset=\"https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2020\/05\/Unity-build-settings-add-scene-1024x661.png 1024w, https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2020\/05\/Unity-build-settings-add-scene-300x194.png 300w, https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2020\/05\/Unity-build-settings-add-scene-768x496.png 768w, https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2020\/05\/Unity-build-settings-add-scene-1536x992.png 1536w, https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2020\/05\/Unity-build-settings-add-scene.png 1863w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Testez en cliquant sur le bouton <strong>Play<\/strong>. Lorsque vous toucherez le Cube Collider, la Sc\u00e8ne 2 va apparaitre. Il faut aussi placer un FPS sur cette Scene si vous voulez poursuivre le jeu et rajouter d&rsquo;autres Scenes.<\/p>\n\n\n\n<p class=\"has-medium-gray-color has-text-color\"><em>(Si vous utilisez encore un FPS des Standard Assets, pensez \u00e0 d\u00e9sactiver dans la <strong>Scene1<\/strong> la Main Camera pr\u00e9alablement, afin qu&rsquo;elle n&rsquo;entre pas en conflit avec celle du FPS).<\/em><\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" loading=\"lazy\" width=\"820\" height=\"1024\" src=\"http:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2020\/05\/Unity-level-jeu-820x1024.png\" alt=\"\" class=\"wp-image-2192\" srcset=\"https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2020\/05\/Unity-level-jeu-820x1024.png 820w, https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2020\/05\/Unity-level-jeu-240x300.png 240w, https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2020\/05\/Unity-level-jeu-768x959.png 768w, https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2020\/05\/Unity-level-jeu-1230x1536.png 1230w, https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2020\/05\/Unity-level-jeu.png 1239w\" sizes=\"(max-width: 820px) 100vw, 820px\" \/><\/figure>\n\n\n\n<p>Vous pouvez vous entrainer \u00e0 ce que l&rsquo;on vient de faire avec la Scene pr\u00e9c\u00e9dente contenant des arbres et des maisons. Placez un Cube Trigger dans une maison. Le passage du joueur d\u00e9clenchera le passage \u00e0 une autre Scene que je vous laisse le soin d&rsquo;imaginer.<\/p>\n\n\n\n<h5 class=\"wp-block-heading\">9. Exporter le jeu<\/h5>\n\n\n\n<p>Quand vous avez termin\u00e9 votre travail, il faut exporter le jeu pour une plateforme donn\u00e9e (ou plusieurs). Cela passe par des <strong>Modules<\/strong> qui doivent \u00eatre install\u00e9s. Si vous ne les avez pas install\u00e9s avec l&rsquo;application, il faut aller dans <strong>Unity Hub<\/strong>, dans l&rsquo;onglet <strong>Installs<\/strong>, sur l\u2019ic\u00f4ne de la version install\u00e9e, cliquer sur les points de suspension et choisir <strong>Add Modules<\/strong>.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" loading=\"lazy\" width=\"1024\" height=\"735\" src=\"http:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2020\/05\/Unity-modules-1024x735.png\" alt=\"\" class=\"wp-image-2199\" srcset=\"https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2020\/05\/Unity-modules-1024x735.png 1024w, https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2020\/05\/Unity-modules-300x215.png 300w, https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2020\/05\/Unity-modules-768x552.png 768w, https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2020\/05\/Unity-modules.png 1274w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Vous pourrez ainsi ajouter les <strong>Modules<\/strong> souhait\u00e9s en les cochant et validez en cliquant sur le bouton <strong>Done<\/strong>. Les <strong>Modules<\/strong> se chargent.<br>Ils apparaissent ensuite dans les <strong>Build Settings<\/strong>. Si l&rsquo;on coche par exemple Mac, Linux et Windows, cela exportera le jeu sous forme d&rsquo;une application compatible avec la ou les syst\u00e8mes choisis.<br>Cliquez alors sur le bouton <strong>Build<\/strong>, choisissez un nom et un emplacement.<br>Une fois termin\u00e9 (cela peut \u00eatre long) vous n&rsquo;aurez plus qu&rsquo;\u00e0 lancer votre application par un double clic et\u2026 jouer!<\/p>\n\n\n\n<h5 class=\"wp-block-heading\">10. Scripts<\/h5>\n\n\n\n<p>Il ne s&rsquo;agit pas ici d&rsquo;apprendre \u00e0 coder en C#. Cependant, il est int\u00e9ressant de voir quelques id\u00e9es \u00e0 mettre en place. Cela permettra \u00e9galement de d\u00e9cortiquer la structure d&rsquo;un Script.<\/p>\n\n\n\n<h6 class=\"wp-block-heading\">\u2022 D\u00e9placer un objet avec les fl\u00e8ches du clavier avec des forces<\/h6>\n\n\n\n<p>Sur une Scene, celle du Level2 par exemple, placez un sol (avec un Cube ou un Plane) que vous dimensionnerez \u00e0 votre convenance. Vous pouvez m\u00eame faire un sol compos\u00e9 de plusieurs Cubes qui se touchent en laissant un trou quelque part.<br>Placez une Sphere, un Cylindre et un Cube sur ce sol. Utilisez l&rsquo;Inspector pour positionner correctement les objets sur le sol. Il ne faut pas qu&rsquo;ils soient enfonc\u00e9s dans le sol, ne serait-ce qu&rsquo;un peu.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" loading=\"lazy\" width=\"1024\" height=\"581\" src=\"http:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2020\/05\/Unity-script-roule-1024x581.png\" alt=\"\" class=\"wp-image-2201\" srcset=\"https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2020\/05\/Unity-script-roule-1024x581.png 1024w, https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2020\/05\/Unity-script-roule-300x170.png 300w, https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2020\/05\/Unity-script-roule-768x436.png 768w, https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2020\/05\/Unity-script-roule.png 1220w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" loading=\"lazy\" width=\"1024\" height=\"662\" src=\"http:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2020\/05\/Unity-script-roule2-1024x662.png\" alt=\"\" class=\"wp-image-2203\" srcset=\"https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2020\/05\/Unity-script-roule2-1024x662.png 1024w, https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2020\/05\/Unity-script-roule2-300x194.png 300w, https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2020\/05\/Unity-script-roule2-768x496.png 768w, https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2020\/05\/Unity-script-roule2.png 1188w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Ajoutez un <strong>Component RigidBody<\/strong> \u00e0 chacun de ces objets, sauf pour le sol. Vous pourrez jouer sur la masse de chaque objet, mais dans un premier temps, laissons les valeurs par d\u00e9faut.<br>Le <strong>RigidBody<\/strong> va permettre \u00e0 ces objets de subir la gravit\u00e9 et de r\u00e9agir aux forces. Par exemple, si l&rsquo;on pousse la <strong>Sphere<\/strong> dans une direction, elle va rouler dans cette direction. Le <strong>Cylinder<\/strong> va pouvoir rouler seulement dans une direction et le <strong>Cube<\/strong> va basculer si on le pousse assez fort.<\/p>\n\n\n\n<p>Cr\u00e9ez un Nouveau Script. Nommez-le \u00ab\u00a0Roule\u00a0\u00bb et appliquez-le \u00e0 la Sphere. Double-Cliquez sur ce Script pour l&rsquo;\u00e9diter.<br>Par d\u00e9faut, un Script comprend 3 parties. Les trois premi\u00e8res lignes sont des appels \u00e0 des biblioth\u00e8ques n\u00e9cessaires. On peut en rajouter selon le besoin (on l&rsquo;a vu pr\u00e9c\u00e9demment).<br>Puis, il y a toujours une Classe publique qui contient tout le code et qui porte le nom d&rsquo;enregistrement du Script.<br>Entre accolades, le code contient deux fonctions void, une qui s&rsquo;ex\u00e9cute une fois au d\u00e9but pour initialiser le programme, void Start(), et l&rsquo;autre qui s&rsquo;ex\u00e9cute en continu pour faire tourner le programme, void Update().<br>La zone avant le void Start() sert \u00e0 d\u00e9clarer les variables n\u00e9cessaires. Sur la structure, cela ressemble \u00e0 Processing ou Arduino en fait.<\/p>\n\n\n\n<p>Le double Slash \/\/ permet d&rsquo;ins\u00e9rer des commentaires.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>using System.Collections;\nusing System.Collections.Generic;\nusing UnityEngine;\n\npublic class Roule : MonoBehaviour\n{\n    \/\/ Start is called before the first frame update\n    void Start(){\n        \n    }\n\n    \/\/ Update is called once per frame\n    void Update(){\n        \n    }\n}<\/code><\/pre>\n\n\n\n<p>Nous allons rajouter le code n\u00e9cessaire pour appliquer des forces avec les fl\u00e8ches du clavier. Le code final sera le suivant. Vous pouvez le copier :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>using System.Collections;\nusing System.Collections.Generic;\nusing UnityEngine;\n\npublic class Roule : MonoBehaviour\n{\n    private Rigidbody rb;\n\n    private float horizontalInput;\n    private float verticalInput;\n    private float speed = 10.0f;\n\n    \/\/ Start is called before the first frame update\n    void Start(){\n        rb = GetComponent&lt;Rigidbody&gt;();\n    }\n\n    \/\/ Update is called once per frame\n    void Update(){\n        horizontalInput = Input.GetAxis(\"Horizontal\");\n        verticalInput = Input.GetAxis(\"Vertical\");\n    }\n\n    void FixedUpdate(){\n        rb.AddForce(new Vector3(horizontalInput, 0.0f, verticalInput) * speed);\n    }\n}\n<\/code><\/pre>\n\n\n\n<p>La premi\u00e8re variable (<strong>RigidBody rb<\/strong>) sert \u00e0 identifier les objets qui comportent un Component RigidBody. C&rsquo;est l&rsquo;inconv\u00e9nient de ce code; il est trop global et ne sait pas s&rsquo;adresser \u00e0 un objet en particulier.<br><strong>RigidBody<\/strong> est le type de la variable et <strong>rb<\/strong> est le nom qu&rsquo;on lui a choisi.<br>On d\u00e9clare ensuite deux variables (<strong>float horizontalInput<\/strong> et <strong>float verticalInput<\/strong>) pour identifier les fl\u00e8ches (Horizontales et Verticales) qui ont la valeur 1 ou -1 pour aller dans un sens ou un autre.<br>Enfin, la derni\u00e8re variable (<strong>float speed<\/strong>) donne une force initiale quand on appuie sur les touches.<\/p>\n\n\n\n<p>Dans le void Start() on initialise la variable \u00ab\u00a0rb\u00a0\u00bb afin de la lier aux objets concern\u00e9s, c&rsquo;est \u00e0 dire tous les Objets RigidBody.<\/p>\n\n\n\n<p>Dans le void Update(), on interpr\u00e8te l&rsquo;appui sur les fl\u00e8ches afin de savoir dans quelle direction il faut aller.<\/p>\n\n\n\n<p>Enfin, on cr\u00e9e une troisi\u00e8me fonction FixedUpdate qui r\u00e9agit \u00e0 l&rsquo;appui sur les fl\u00e8ches en calculant une force et en l&rsquo;appliquant aux objets concern\u00e9s.<\/p>\n\n\n\n<p>Le jeu peut \u00eatre de mettre la Sphere dans le trou central, o\u00f9, en ajoutant un Collider invisible de type Trigger, on peut d\u00e9clencher le passage au niveau suivant, comme vu plus haut.<\/p>\n\n\n\n<h6 class=\"wp-block-heading\">\u2022 M\u00e9thode alternative<\/h6>\n\n\n\n<p>Une autre solution souvent utilis\u00e9e pour cela consiste \u00e0 utiliser la fonction Translate(). On la voit souvent dans des tutos. Par exemple :<br><a rel=\"noreferrer noopener\" href=\"https:\/\/www.youtube.com\/watch?v=sXQI_0ILEW4\" target=\"_blank\">https:\/\/www.youtube.com\/watch?v=sXQI_0ILEW4<\/a> (11:05)<\/p>\n\n\n\n<p>Voici, ci-dessous le code issu de cette vid\u00e9o, afin de d\u00e9placer un objet avec les touches de contr\u00f4le <strong>Fl\u00e8ches<\/strong> du clavier. Ces touches sont modifiables par le <strong>Menu Edit &gt; Project Settings<\/strong> onglet <strong>Input Manager &gt; Horizontal<\/strong> et <strong>Vertical<\/strong>.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote\">\n<p class=\"has-text-color\" style=\"color:#ff0000\">ATTENTION, si vous utilisez un personnage FPS ou TPS, ces touches sont d\u00e9j\u00e0 utilis\u00e9es pour cont\u00f4ler le personnage. Ce sera donc incompatible.<\/p>\n<\/blockquote>\n\n\n\n<pre class=\"wp-block-code\"><code>using System.Collections;\nusing System.Collections.Generic;\nusing UnityEngine;\n\npublic class moveCube : MonoBehaviour\n{\n    public float moveSpeed;\n    void Start() {\n        moveSpeed = 1f;\n    }\n    void Update() {                    transform.Translate(moveSpeed*Input.GetAxis(\"Horizontal\")*Time.deltaTime, 0f, moveSpeed*Input.GetAxis(\"Vertical\")*Time.deltaTime);\n    }\n}<\/code><\/pre>\n\n\n\n<p>Si vous voulez d\u00e9clencher un  \u00e9v\u00e9nement en choisissant sur quelle touche agir (par exemple, d\u00e9placer un objet avec la touche x), il faut remplacer le void Update du script pr\u00e9c\u00e9dent par celui-ci :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>void Update() {\n     if(Input.GetKey(\"x\")) {\n          transform.Translate(moveSpeed*Time.deltaTime, 0f, 0f);\n     }\n}<\/code><\/pre>\n\n\n\n<p>Par ailleurs, le fait de cr\u00e9er une variable publique (moveSpeed dans le script pr\u00e9c\u00e9dent) ajoute une zone de r\u00e9glage dans le Component Script de l&rsquo;objet auquel il est associ\u00e9. Voir ci-dessus pour un cube.<\/p>\n\n\n\n<p>Il faut pr\u00e9alablement commenter la ligne du void Start() :<br>\/\/ moveSpeed = 1f;<br>Puis vous pouvez saisir une valeur, 10 par exemple, \u00e0 la place de 0 dans le Component Script. Lancez le jeu et constatez que le cube avance 10 fois plus vite lorsqu&rsquo;on appuie sur la touche d\u00e9di\u00e9e.<\/p>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-112 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:66.66%\">\n<figure class=\"wp-block-image size-large\"><a href=\"http:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2021\/04\/2021_unity_script_variable.png\"><img decoding=\"async\" loading=\"lazy\" width=\"549\" height=\"303\" src=\"http:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2021\/04\/2021_unity_script_variable.png\" alt=\"\" class=\"wp-image-2723\" srcset=\"https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2021\/04\/2021_unity_script_variable.png 549w, https:\/\/lamartinieredesign.fr\/wp-content\/uploads\/2021\/04\/2021_unity_script_variable-300x166.png 300w\" sizes=\"(max-width: 549px) 100vw, 549px\" \/><\/a><\/figure>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:33.33%\"><\/div>\n<\/div>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>1. Mod\u00e9liser avec Pro Builder Pro Builder est un outil int\u00e9gr\u00e9 \u00e0 Unity pour la mod\u00e9lisation d&rsquo;objets 3D. C&rsquo;est un peu Blender en tr\u00e8s simplifi\u00e9. Il est cependant assez puissant pour des r\u00e9sultats \u00e9labor\u00e9s.Il n&rsquo;est pas activ\u00e9 par d\u00e9faut et il faut le charger dans Unity pour le rendre visible et actif. Menu Window &gt; &hellip; <a href=\"https:\/\/lamartinieredesign.fr\/?page_id=2141\" class=\"more-link\">Continuer la lecture de <span class=\"screen-reader-text\">Projet 3D &#8211; Grands principes<\/span>  <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"parent":1283,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_lmt_disableupdate":"","_lmt_disable":"","footnotes":""},"_links":{"self":[{"href":"https:\/\/lamartinieredesign.fr\/index.php?rest_route=\/wp\/v2\/pages\/2141"}],"collection":[{"href":"https:\/\/lamartinieredesign.fr\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/lamartinieredesign.fr\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/lamartinieredesign.fr\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/lamartinieredesign.fr\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=2141"}],"version-history":[{"count":85,"href":"https:\/\/lamartinieredesign.fr\/index.php?rest_route=\/wp\/v2\/pages\/2141\/revisions"}],"predecessor-version":[{"id":5231,"href":"https:\/\/lamartinieredesign.fr\/index.php?rest_route=\/wp\/v2\/pages\/2141\/revisions\/5231"}],"up":[{"embeddable":true,"href":"https:\/\/lamartinieredesign.fr\/index.php?rest_route=\/wp\/v2\/pages\/1283"}],"wp:attachment":[{"href":"https:\/\/lamartinieredesign.fr\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=2141"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}