{"id":11525,"date":"2021-02-21T15:47:51","date_gmt":"2021-02-21T14:47:51","guid":{"rendered":"http:\/\/www.keris-studio.fr\/blog\/?p=11525"},"modified":"2021-02-21T16:41:10","modified_gmt":"2021-02-21T15:41:10","slug":"corona-maze-runner","status":"publish","type":"post","link":"https:\/\/www.keris-studio.fr\/blog\/?p=11525","title":{"rendered":"Corona Maze Runner"},"content":{"rendered":"<p>This tutorial implies the creation of a maze with Rhino Grasshopper and alternatively with Blender, than exporting and preparing the set in Unity. In Unity a NavMesh with IA will be implemented. Then a few scripts will allowed to set up a game experience that will be extended in Augmented Reality.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" width=\"2086\" height=\"1178\" class=\"wp-image-11526\" src=\"https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-988.png\" srcset=\"https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-988.png 2086w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-988-300x169.png 300w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-988-1024x578.png 1024w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-988-768x434.png 768w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-988-1536x867.png 1536w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-988-2048x1157.png 2048w\" sizes=\"auto, (max-width: 2086px) 100vw, 2086px\" \/><\/p>\n<p><!--more-->Let\u2019s start in Blender<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" width=\"346\" height=\"294\" class=\"wp-image-11527\" src=\"https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-989.png\" srcset=\"https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-989.png 346w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-989-300x255.png 300w\" sizes=\"auto, (max-width: 346px) 100vw, 346px\" \/><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" width=\"1548\" height=\"727\" class=\"wp-image-11528\" src=\"https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-990.png\" srcset=\"https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-990.png 1548w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-990-300x141.png 300w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-990-1024x481.png 1024w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-990-768x361.png 768w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-990-1536x721.png 1536w\" sizes=\"auto, (max-width: 1548px) 100vw, 1548px\" \/><\/p>\n<p>The Maze Generator can be found here<\/p>\n<p><a href=\"https:\/\/github.com\/elfnor\/mesh_maze\">https:\/\/github.com\/elfnor\/mesh_maze<\/a><\/p>\n<p>Other kind of maze can be found here <a href=\"https:\/\/github.com\/Gorgious56\/MazeGenerator\/releases\">https:\/\/github.com\/Gorgious56\/MazeGenerator\/releases<\/a> creating a maze is not obvious. Results can be surprising and rewarding <a href=\"https:\/\/imgur.com\/a\/6u13JSG\">https:\/\/imgur.com\/a\/6u13JSG<\/a><\/p>\n<p>A prior version was here : <a href=\"https:\/\/elfnor.com\/maze-any-mesh-in-blender.html\">https:\/\/elfnor.com\/maze-any-mesh-in-blender.html<\/a><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" width=\"295\" height=\"367\" class=\"wp-image-11529\" src=\"https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-991.png\" srcset=\"https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-991.png 295w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-991-241x300.png 241w\" sizes=\"auto, (max-width: 295px) 100vw, 295px\" \/><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" width=\"1936\" height=\"1089\" class=\"wp-image-11530\" src=\"https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-992.png\" srcset=\"https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-992.png 1936w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-992-300x169.png 300w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-992-1024x576.png 1024w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-992-768x432.png 768w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-992-1536x864.png 1536w\" sizes=\"auto, (max-width: 1936px) 100vw, 1936px\" \/><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" width=\"2046\" height=\"1015\" class=\"wp-image-11531\" src=\"https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-993.png\" srcset=\"https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-993.png 2046w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-993-300x149.png 300w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-993-1024x508.png 1024w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-993-768x381.png 768w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-993-1536x762.png 1536w\" sizes=\"auto, (max-width: 2046px) 100vw, 2046px\" \/><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" width=\"312\" height=\"147\" class=\"wp-image-11532\" src=\"https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-994.png\" srcset=\"https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-994.png 312w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-994-300x141.png 300w\" sizes=\"auto, (max-width: 312px) 100vw, 312px\" \/><\/p>\n<p>The Blender Maze is prepared and painted into Unity<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" width=\"1415\" height=\"677\" class=\"wp-image-11533\" src=\"https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-995.png\" srcset=\"https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-995.png 1415w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-995-300x144.png 300w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-995-1024x490.png 1024w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-995-768x367.png 768w\" sizes=\"auto, (max-width: 1415px) 100vw, 1415px\" \/><\/p>\n<p>The ground is replaced by a Terrain Asset<\/p>\n<p>The size fits to the actual ground, it could have been enlarged<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" width=\"491\" height=\"182\" class=\"wp-image-11534\" src=\"https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-996.png\" srcset=\"https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-996.png 491w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-996-300x111.png 300w\" sizes=\"auto, (max-width: 491px) 100vw, 491px\" \/><\/p>\n<p>It\u2019s been sculpted<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" width=\"497\" height=\"552\" class=\"wp-image-11535\" src=\"https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-997.png\" srcset=\"https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-997.png 497w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-997-270x300.png 270w\" sizes=\"auto, (max-width: 497px) 100vw, 497px\" \/><\/p>\n<p>And painted<\/p>\n<p>Additional pack can be added to enrich the environment<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" width=\"504\" height=\"313\" class=\"wp-image-11536\" src=\"https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-998.png\" srcset=\"https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-998.png 504w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-998-300x186.png 300w\" sizes=\"auto, (max-width: 504px) 100vw, 504px\" \/><\/p>\n<p>Add a mesh collider for the walls<\/p>\n<p><a href=\"https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-999.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-11537\" src=\"https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-999.png\" alt=\"\" width=\"1311\" height=\"495\" srcset=\"https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-999.png 1311w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-999-300x113.png 300w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-999-1024x387.png 1024w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-999-768x290.png 768w\" sizes=\"auto, (max-width: 1311px) 100vw, 1311px\" \/><\/a><\/p>\n<p>Preparing the Maze for IA<\/p>\n<p>It has to be Navigation Static<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" width=\"405\" height=\"205\" class=\"wp-image-11538\" src=\"https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-1000.png\" srcset=\"https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-1000.png 405w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-1000-300x152.png 300w\" sizes=\"auto, (max-width: 405px) 100vw, 405px\" \/><\/p>\n<p>In navigation add 2 layers<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" width=\"434\" height=\"300\" class=\"wp-image-11539\" src=\"https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-1001.png\" srcset=\"https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-1001.png 434w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-1001-300x207.png 300w\" sizes=\"auto, (max-width: 434px) 100vw, 434px\" \/><\/p>\n<p>The terrain is Walkable<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" width=\"422\" height=\"261\" class=\"wp-image-11540\" src=\"https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-1002.png\" srcset=\"https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-1002.png 422w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-1002-300x186.png 300w\" sizes=\"auto, (max-width: 422px) 100vw, 422px\" \/><\/p>\n<p>Wall are not walkable<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" width=\"446\" height=\"278\" class=\"wp-image-11541\" src=\"https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-1003.png\" srcset=\"https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-1003.png 446w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-1003-300x187.png 300w\" sizes=\"auto, (max-width: 446px) 100vw, 446px\" \/><\/p>\n<p>Ready to bake<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" width=\"475\" height=\"493\" class=\"wp-image-11542\" src=\"https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-1004.png\" srcset=\"https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-1004.png 475w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-1004-289x300.png 289w\" sizes=\"auto, (max-width: 475px) 100vw, 475px\" \/><\/p>\n<p>The blue colour indicates that it worked<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" width=\"1127\" height=\"690\" class=\"wp-image-11543\" src=\"https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-1005.png\" srcset=\"https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-1005.png 1127w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-1005-300x184.png 300w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-1005-1024x627.png 1024w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-1005-768x470.png 768w\" sizes=\"auto, (max-width: 1127px) 100vw, 1127px\" \/><\/p>\n<p>To test the camera is moved to an upper position.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" width=\"1193\" height=\"750\" class=\"wp-image-11544\" src=\"https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-1006.png\" srcset=\"https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-1006.png 1193w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-1006-300x189.png 300w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-1006-1024x644.png 1024w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-1006-768x483.png 768w\" sizes=\"auto, (max-width: 1193px) 100vw, 1193px\" \/><\/p>\n<p>To test IA, add a NavMesh component<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" width=\"439\" height=\"494\" class=\"wp-image-11545\" src=\"https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-1007.png\" srcset=\"https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-1007.png 439w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-1007-267x300.png 267w\" sizes=\"auto, (max-width: 439px) 100vw, 439px\" \/><\/p>\n<p>And this script<\/p>\n<pre lang=\"languagestring\">using System.Collections;\n\n\nusing System.Collections.Generic;\n\nusing UnityEngine;\n\nusing UnityEngine.AI;\n\npublic class MoveTarget : MonoBehaviour\n\n{\n\npublic NavMeshAgent nmAgent;\n\nvoid Update()\n\n{\n\n\/\/If the player has left clicked\n\nif (Input.GetMouseButtonDown(0))\n\n{\n\n\/\/Get the mouse Position\n\nVector3 mouse = Input.mousePosition;\n\n\/\/Cast a ray to get where the mouse is pointing at\n\nRay castPoint = Camera.main.ScreenPointToRay(mouse);\n\n\/\/Stores the position where the ray hit.\n\nRaycastHit hit;\n\n\/\/If the raycast doesnt hit a wall\n\nif (Physics.Raycast(castPoint, out hit, Mathf.Infinity))\n\n{\n\nnmAgent.SetDestination(hit.point);\n\n}\n\n}\n\n}\n\n}\n<\/pre>\n<p>Test by clicking anywhere to see what path is used.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" width=\"1214\" height=\"766\" class=\"wp-image-11546\" src=\"https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-1008.png\" srcset=\"https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-1008.png 1214w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-1008-300x189.png 300w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-1008-1024x646.png 1024w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-1008-768x485.png 768w\" sizes=\"auto, (max-width: 1214px) 100vw, 1214px\" \/><\/p>\n<p>To explore the Maze we will use <strong>Third Person Controller \u2013 Basic Locomotion FREE<\/strong><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" width=\"1125\" height=\"592\" class=\"wp-image-11547\" src=\"https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-1009.png\" srcset=\"https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-1009.png 1125w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-1009-300x158.png 300w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-1009-1024x539.png 1024w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-1009-768x404.png 768w\" sizes=\"auto, (max-width: 1125px) 100vw, 1125px\" \/><\/p>\n<p>Drop it in the scene<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" width=\"916\" height=\"453\" class=\"wp-image-11548\" src=\"https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-1010.png\" srcset=\"https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-1010.png 916w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-1010-300x148.png 300w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-1010-768x380.png 768w\" sizes=\"auto, (max-width: 916px) 100vw, 916px\" \/><\/p>\n<p>Link the camera to have a TPS view<\/p>\n<p><a href=\"https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-1011.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-11549\" src=\"https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-1011.png\" alt=\"\" width=\"911\" height=\"610\" srcset=\"https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-1011.png 911w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-1011-300x201.png 300w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-1011-768x514.png 768w\" sizes=\"auto, (max-width: 911px) 100vw, 911px\" \/><\/a><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" width=\"877\" height=\"537\" class=\"wp-image-11550\" src=\"https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-1012.png\" srcset=\"https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-1012.png 877w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-1012-300x184.png 300w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-1012-768x470.png 768w\" sizes=\"auto, (max-width: 877px) 100vw, 877px\" \/><\/p>\n<p>Adapt controls to the keyboard you use. Here are the French settings<\/p>\n<p><a href=\"https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-1013.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-11551\" src=\"https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-1013.png\" alt=\"\" width=\"1099\" height=\"773\" srcset=\"https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-1013.png 1099w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-1013-300x211.png 300w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-1013-1024x720.png 1024w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-1013-768x540.png 768w\" sizes=\"auto, (max-width: 1099px) 100vw, 1099px\" \/><\/a><\/p>\n<p>Let\u2019s try with another Maze done with Grasshopper<\/p>\n<p>The Grasshopper definition will give a more complex Maze, it\u2019ll a bit more complicated to set up.<\/p>\n<p>Find all sources here : <a href=\"https:\/\/www.grasshopper3d.com\/forum\/topics\/maze-from-mesh\">https:\/\/www.grasshopper3d.com\/forum\/topics\/maze-from-mesh<\/a><\/p>\n<p>We will use the 0.5 version from this page : <a href=\"https:\/\/www.grasshopper3d.com\/forum\/topics\/maze-from-mesh%20but%20the%200.9\">https:\/\/www.grasshopper3d.com\/forum\/topics\/maze-from-mesh but the 0.9<\/a> can be also tested.<\/p>\n<p>Let\u2019s open up Grasshopper :<\/p>\n<p>First we design the Surface of the Maze : here it will be a 20&#215;20 square<\/p>\n<p><a href=\"https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-1014.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-11552\" src=\"https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-1014.png\" alt=\"\" width=\"1218\" height=\"523\" srcset=\"https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-1014.png 1218w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-1014-300x129.png 300w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-1014-1024x440.png 1024w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-1014-768x330.png 768w\" sizes=\"auto, (max-width: 1218px) 100vw, 1218px\" \/><\/a><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" width=\"1118\" height=\"615\" class=\"wp-image-11553\" src=\"https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-1015.png\" srcset=\"https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-1015.png 1118w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-1015-300x165.png 300w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-1015-1024x563.png 1024w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-1015-768x422.png 768w\" sizes=\"auto, (max-width: 1118px) 100vw, 1118px\" \/><\/p>\n<p>Then the surface is divided into a grid and the maze is calculated with the script<\/p>\n<p><a href=\"https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-1016.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-11554\" src=\"https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-1016.png\" alt=\"\" width=\"1690\" height=\"686\" srcset=\"https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-1016.png 1690w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-1016-300x122.png 300w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-1016-1024x416.png 1024w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-1016-768x312.png 768w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-1016-1536x623.png 1536w\" sizes=\"auto, (max-width: 1690px) 100vw, 1690px\" \/><\/a><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" width=\"1124\" height=\"599\" class=\"wp-image-11555\" src=\"https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-1017.png\" srcset=\"https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-1017.png 1124w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-1017-300x160.png 300w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-1017-1024x546.png 1024w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-1017-768x409.png 768w\" sizes=\"auto, (max-width: 1124px) 100vw, 1124px\" \/><\/p>\n<p>The output of the script gives the drawing of the Maze<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" width=\"831\" height=\"281\" class=\"wp-image-11556\" src=\"https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-1018.png\" srcset=\"https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-1018.png 831w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-1018-300x101.png 300w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-1018-768x260.png 768w\" sizes=\"auto, (max-width: 831px) 100vw, 831px\" \/><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" width=\"1116\" height=\"578\" class=\"wp-image-11557\" src=\"https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-1019.png\" srcset=\"https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-1019.png 1116w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-1019-300x155.png 300w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-1019-1024x530.png 1024w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-1019-768x398.png 768w\" sizes=\"auto, (max-width: 1116px) 100vw, 1116px\" \/><\/p>\n<p>Those lines will be transformed to walls<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" width=\"1611\" height=\"568\" class=\"wp-image-11558\" src=\"https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-1020.png\" srcset=\"https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-1020.png 1611w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-1020-300x106.png 300w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-1020-1024x361.png 1024w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-1020-768x271.png 768w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-1020-1536x542.png 1536w\" sizes=\"auto, (max-width: 1611px) 100vw, 1611px\" \/><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" width=\"1087\" height=\"585\" class=\"wp-image-11559\" src=\"https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-1021.png\" srcset=\"https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-1021.png 1087w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-1021-300x161.png 300w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-1021-1024x551.png 1024w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-1021-768x413.png 768w\" sizes=\"auto, (max-width: 1087px) 100vw, 1087px\" \/><\/p>\n<p>The result is baked with a Geometry Cache<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" width=\"262\" height=\"166\" class=\"wp-image-11560\" src=\"https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-1022.png\" \/><\/p>\n<p>A material has been created and apply, ready to be exported into Unity<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" width=\"1425\" height=\"678\" class=\"wp-image-11561\" src=\"https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-1023.png\" srcset=\"https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-1023.png 1425w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-1023-300x143.png 300w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-1023-1024x487.png 1024w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-1023-768x365.png 768w\" sizes=\"auto, (max-width: 1425px) 100vw, 1425px\" \/><\/p>\n<p><a href=\"https:\/\/www.keris-studio.fr\/blog\/wp-content\/GH-MAZE-def.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-11580 size-full\" src=\"https:\/\/www.keris-studio.fr\/blog\/wp-content\/GH-MAZE-def.png\" alt=\"Lescop Maze Grasshopper\" width=\"11568\" height=\"1808\" srcset=\"https:\/\/www.keris-studio.fr\/blog\/wp-content\/GH-MAZE-def.png 11568w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/GH-MAZE-def-300x47.png 300w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/GH-MAZE-def-1024x160.png 1024w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/GH-MAZE-def-768x120.png 768w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/GH-MAZE-def-1536x240.png 1536w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/GH-MAZE-def-2048x320.png 2048w\" sizes=\"auto, (max-width: 11568px) 100vw, 11568px\" \/><\/a><\/p>\n<p>Importing in Unity<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" width=\"494\" height=\"722\" class=\"wp-image-11562\" src=\"https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-1024.png\" srcset=\"https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-1024.png 494w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-1024-205x300.png 205w\" sizes=\"auto, (max-width: 494px) 100vw, 494px\" \/><\/p>\n<p>Extract Textures<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" width=\"464\" height=\"247\" class=\"wp-image-11563\" src=\"https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-1025.png\" srcset=\"https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-1025.png 464w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-1025-300x160.png 300w\" sizes=\"auto, (max-width: 464px) 100vw, 464px\" \/><\/p>\n<p>Voil\u00e0<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" width=\"1709\" height=\"1035\" class=\"wp-image-11564\" src=\"https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-1026.png\" srcset=\"https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-1026.png 1709w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-1026-300x182.png 300w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-1026-1024x620.png 1024w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-1026-768x465.png 768w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-1026-1536x930.png 1536w\" sizes=\"auto, (max-width: 1709px) 100vw, 1709px\" \/><\/p>\n<p>As it was done before, let\u2019s prepare the Maze for IA.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" width=\"945\" height=\"697\" class=\"wp-image-11565\" src=\"https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-1027.png\" srcset=\"https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-1027.png 945w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-1027-300x221.png 300w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-1027-768x566.png 768w\" sizes=\"auto, (max-width: 945px) 100vw, 945px\" \/><\/p>\n<p>Let\u2019s add a virus. The covid fits well\u2026.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" width=\"975\" height=\"591\" class=\"wp-image-11566\" src=\"https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-1028.png\" srcset=\"https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-1028.png 975w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-1028-300x182.png 300w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-1028-768x466.png 768w\" sizes=\"auto, (max-width: 975px) 100vw, 975px\" \/><\/p>\n<p>We can now spread the virus randomly. See if it\u2019s possible to reach the End Point without being contaminated.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" width=\"1232\" height=\"748\" class=\"wp-image-11567\" src=\"https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-1029.png\" srcset=\"https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-1029.png 1232w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-1029-300x182.png 300w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-1029-1024x622.png 1024w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-1029-768x466.png 768w\" sizes=\"auto, (max-width: 1232px) 100vw, 1232px\" \/><\/p>\n","protected":false},"excerpt":{"rendered":"<p>This tutorial implies the creation of a maze with Rhino Grasshopper and alternatively with Blender, than exporting and preparing the set in Unity. In Unity a NavMesh with IA will be implemented. Then a few scripts will allowed to set up a game experience that will be extended in Augmented Reality.<\/p>\n","protected":false},"author":2,"featured_media":11526,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[6,190,426,14,195,448,8,174,205],"tags":[420,447,424,423,175,47,140,320,425],"class_list":["post-11525","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-3d","category-architecture-2","category-blender","category-conception","category-creation","category-grasshopper","category-methodologie","category-simulations","category-unity-2","tag-blender","tag-corona","tag-covid","tag-game","tag-grasshopper","tag-simulation","tag-unity","tag-unity-3d","tag-virus"],"_links":{"self":[{"href":"https:\/\/www.keris-studio.fr\/blog\/index.php?rest_route=\/wp\/v2\/posts\/11525","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.keris-studio.fr\/blog\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.keris-studio.fr\/blog\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.keris-studio.fr\/blog\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.keris-studio.fr\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=11525"}],"version-history":[{"count":5,"href":"https:\/\/www.keris-studio.fr\/blog\/index.php?rest_route=\/wp\/v2\/posts\/11525\/revisions"}],"predecessor-version":[{"id":11581,"href":"https:\/\/www.keris-studio.fr\/blog\/index.php?rest_route=\/wp\/v2\/posts\/11525\/revisions\/11581"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.keris-studio.fr\/blog\/index.php?rest_route=\/wp\/v2\/media\/11526"}],"wp:attachment":[{"href":"https:\/\/www.keris-studio.fr\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=11525"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.keris-studio.fr\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=11525"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.keris-studio.fr\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=11525"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}