{"id":773,"date":"2024-01-28T18:13:33","date_gmt":"2024-01-29T01:13:33","guid":{"rendered":"https:\/\/gibby3d.com\/blog\/?p=773"},"modified":"2025-06-01T09:24:24","modified_gmt":"2025-06-01T15:24:24","slug":"shadow-health","status":"publish","type":"post","link":"https:\/\/gibby3d.com\/blog\/shadow-health\/","title":{"rendered":"Shadow Health"},"content":{"rendered":"\n<p class=\"\">Professional <strong>3D Generalist<\/strong> and <strong>Tech Art<\/strong> work from 2021-2024.<\/p>\n\n\n\n<div style=\"height:50px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Medical Simulations<\/h2>\n\n\n\n<hr class=\"is-style-wide wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-vimeo wp-block-embed-vimeo\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" title=\"SIADH\" src=\"https:\/\/player.vimeo.com\/video\/906833954?dnt=1&amp;app_id=122963\" width=\"584\" height=\"329\" frameborder=\"0\" allow=\"autoplay; fullscreen; picture-in-picture; clipboard-write; encrypted-media\"><\/iframe>\n<\/div><figcaption class=\"wp-element-caption\">Medical simulation depicting syndrome of inappropriate antidiuretic hormone secretion. <\/figcaption><\/figure>\n\n\n\n<p class=\"\">Modeled in Maya, animated and rendered in Unity.  Responsible for modeling, texturing, shading, lighting, and animation.  I created a custom fresnel shader for the cells and animated them by scripting random rotation in C#.  I sourced existing project textures for the background vessel materials and reused the red blood cell model from a previous simulation.  <\/p>\n\n\n\n<div style=\"height:55px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-vimeo wp-block-embed-vimeo\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" title=\"Cellular Mitosis\" src=\"https:\/\/player.vimeo.com\/video\/906834722?dnt=1&amp;app_id=122963\" width=\"584\" height=\"329\" frameborder=\"0\" allow=\"autoplay; fullscreen; picture-in-picture; clipboard-write; encrypted-media\"><\/iframe>\n<\/div><figcaption class=\"wp-element-caption\">Medical simulation depicting nuclear division in eukaryotic cells<strong> <\/strong>(mitosis). <\/figcaption><\/figure>\n\n\n\n<p class=\"\">Modeled in Maya, animated and rendered in Unity.  Responsible for modeling, shading, lighting, and animation.  I created the wavey effect on the cell membranes with a custom shader graph and animated the cell division in Unity.  The DNA helix model and nucleus texture were sourced from existing assets.<\/p>\n\n\n\n<div style=\"height:55px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-vimeo wp-block-embed-vimeo\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" title=\"Cellular Nondisjunction\" src=\"https:\/\/player.vimeo.com\/video\/906836983?dnt=1&amp;app_id=122963\" width=\"584\" height=\"329\" frameborder=\"0\" allow=\"autoplay; fullscreen; picture-in-picture; clipboard-write; encrypted-media\"><\/iframe>\n<\/div><figcaption class=\"wp-element-caption\">Medical simulation depicting cellular nondisjunction. <\/figcaption><\/figure>\n\n\n\n<p class=\"\">Modeled in Maya and animated in Unity.  Responsible for modeling, lighting, animation, and simplified shading for WebGL.  The DNA helix model, addition, and arrow elements were sourced from existing assets.<\/p>\n\n\n\n<div style=\"height:55px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-vimeo wp-block-embed-vimeo\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" title=\"Glucose Molecule\" src=\"https:\/\/player.vimeo.com\/video\/906837474?dnt=1&amp;app_id=122963\" width=\"584\" height=\"329\" frameborder=\"0\" allow=\"autoplay; fullscreen; picture-in-picture; clipboard-write; encrypted-media\"><\/iframe>\n<\/div><figcaption class=\"wp-element-caption\">Medical simulation depicting a glucose molecule.<\/figcaption><\/figure>\n\n\n\n<p class=\"\">Modeled in Maya, animated and rendered in Unity.  Responsible for modeling, lighting, shading, and animation.  I implemented the wireframe shader from Chase Pettit&#8217;s <a href=\"https:\/\/github.com\/Chaser324\/unity-wireframe\" data-type=\"link\" data-id=\"https:\/\/github.com\/Chaser324\/unity-wireframe\">unity-wireframe<\/a> repository on GitHub.<\/p>\n\n\n\n<div style=\"height:55px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-vimeo wp-block-embed-vimeo\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" title=\"Glomerulus Mechanism\" src=\"https:\/\/player.vimeo.com\/video\/906838636?dnt=1&amp;app_id=122963\" width=\"584\" height=\"329\" frameborder=\"0\" allow=\"autoplay; fullscreen; picture-in-picture; clipboard-write; encrypted-media\"><\/iframe>\n<\/div><figcaption class=\"wp-element-caption\">Medical simulation depicting capillary filtration within the glomerulus of the Bowman&#8217;s capsule.<\/figcaption><\/figure>\n\n\n\n<p class=\"\">Modeled in Maya, animated and rendered in Unity.  Responsible for modeling, lighting, shading, particle systems, and animation.  I sourced existing project textures for the filtered particle boards and reused the red blood cell model from a previous simulation.  <\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" src=\"https:\/\/gibby3d.com\/blog\/wp-content\/gallery\/shadow-health\/GlomerularFiltrationParticles01.gif\" alt=\"\"\/><figcaption class=\"wp-element-caption\">Particle effects guided with the Spine Particles addon from the Unity Asset Store.<\/figcaption><\/figure>\n\n\n\n<div style=\"height:55px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Art Assets<\/h2>\n\n\n\n<hr class=\"is-style-wide wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/gibby3d.com\/blog\/wp-content\/gallery\/shadow-health\/PlasmaBag.jpg\"><img decoding=\"async\" src=\"https:\/\/gibby3d.com\/blog\/wp-content\/gallery\/shadow-health\/PlasmaBag.jpg\" alt=\"\"\/><\/a><figcaption class=\"wp-element-caption\">Frozen plasma bag prop.<\/figcaption><\/figure>\n\n\n\n<p class=\"\">Modeled in Maya, textured in Subtance Painter.  Responsible for modeling, UV mapping, texturing, and shading.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><a href=\"https:\/\/gibby3d.com\/blog\/wp-content\/gallery\/shadow-health\/PlasmaBag_Wireframe.jpg\"><img decoding=\"async\" src=\"https:\/\/gibby3d.com\/blog\/wp-content\/gallery\/shadow-health\/PlasmaBag_Wireframe.jpg\" alt=\"\" style=\"width:614px;height:auto\"\/><\/a><figcaption class=\"wp-element-caption\">Maya mesh wireframe &#8211; 1800 triangles.<\/figcaption><\/figure>\n\n\n\n<div style=\"height:55px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/gibby3d.com\/blog\/wp-content\/gallery\/shadow-health\/SealedBag.jpg\"><img decoding=\"async\" src=\"https:\/\/gibby3d.com\/blog\/wp-content\/gallery\/shadow-health\/SealedBag.jpg\" alt=\"\"\/><\/a><figcaption class=\"wp-element-caption\">Sealed bag valve mask and non-rebreather mask.<\/figcaption><\/figure>\n\n\n\n<p class=\"\">Modeled in Maya, textured in Substance Painter.  Responsible for modeling, UV mapping, texturing, and shading.  I modeled the sealed bag, oxygen tube, non-rebreather oxygen bag, connector, filter, and nasal strip.  The bag valve mask and non-rebreather mask were sourced from existing assets.  I used Maya nucleus cloth simulation to flatten the bag valve mask resevoir.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/gibby3d.com\/blog\/wp-content\/gallery\/shadow-health\/SealedBag_Wireframe.jpg\"><img decoding=\"async\" src=\"https:\/\/gibby3d.com\/blog\/wp-content\/gallery\/shadow-health\/SealedBag_Wireframe.jpg\" alt=\"\"\/><\/a><figcaption class=\"wp-element-caption\">Maya mesh wireframe, non-rebreather &#8211; 4170 triangles, bag valve mask &#8211; 5344 triangles.<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/gibby3d.com\/blog\/wp-content\/gallery\/shadow-health\/SealedBagVR.gif\"><img decoding=\"async\" src=\"https:\/\/gibby3d.com\/blog\/wp-content\/gallery\/shadow-health\/SealedBagVR.gif\" alt=\"\"\/><\/a><figcaption class=\"wp-element-caption\">VR prop setup with collision and interactable components.<\/figcaption><\/figure>\n\n\n\n<div style=\"height:55px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p class=\"\"><\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" src=\"https:\/\/gibby3d.com\/blog\/wp-content\/gallery\/medical\/cscc_render.jpg\" alt=\"\"\/><figcaption class=\"wp-element-caption\">CSCC Tumor.<\/figcaption><\/figure>\n\n\n\n<p class=\"\">Sculpted and textured in Zbrush, rendered in Unity.   Responsible for modeling, sculpting, texturing, and shading.<\/p>\n\n\n\n<div style=\"height:55px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading\"><\/h2>\n\n\n\n<p class=\"\"><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Technical Art<\/h2>\n\n\n\n<hr class=\"is-style-wide wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/gibby3d.com\/blog\/wp-content\/gallery\/shadow-health\/SHStudioTools.jpg\"><img decoding=\"async\" src=\"https:\/\/gibby3d.com\/blog\/wp-content\/gallery\/shadow-health\/SHStudioTools.jpg\" alt=\"\"\/><\/a><figcaption class=\"wp-element-caption\">Custom menu and shelf for production tools.<\/figcaption><\/figure>\n\n\n\n<p class=\"\">Art and animation pipeline organization and maintenance, custom main menu and shared shelf for tools and snippets.  Initialization of required preferences and scene settings on startup.<\/p>\n\n\n\n<div style=\"height:55px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/gibby3d.com\/blog\/wp-content\/gallery\/shadow-health\/LayerSelection01.gif\"><img decoding=\"async\" src=\"https:\/\/gibby3d.com\/blog\/wp-content\/gallery\/shadow-health\/LayerSelection01.gif\" alt=\"\"\/><\/a><figcaption class=\"wp-element-caption\">Layer contents selection.<\/figcaption><\/figure>\n\n\n\n<p class=\"\">Implementation of layer contents selection with the OpenMaya module per team request.<\/p>\n\n\n\n<div style=\"height:55px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/gibby3d.com\/blog\/wp-content\/uploads\/image.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"382\" src=\"https:\/\/gibby3d.com\/blog\/wp-content\/uploads\/image-1024x382.png\" alt=\"\" class=\"wp-image-843\" srcset=\"https:\/\/gibby3d.com\/blog\/wp-content\/uploads\/image-1024x382.png 1024w, https:\/\/gibby3d.com\/blog\/wp-content\/uploads\/image-500x187.png 500w, https:\/\/gibby3d.com\/blog\/wp-content\/uploads\/image-768x287.png 768w, https:\/\/gibby3d.com\/blog\/wp-content\/uploads\/image-1536x573.png 1536w, https:\/\/gibby3d.com\/blog\/wp-content\/uploads\/image.png 1911w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><figcaption class=\"wp-element-caption\">PySide2 for UI creation.<\/figcaption><\/figure>\n\n\n\n<p class=\"\">PySide2 and Qt Designer integration for quick UI development, .ui files easily loaded in Maya, Motionbuilder, and Substance Painter.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/gibby3d.com\/blog\/wp-content\/gallery\/shadow-health\/Designer.png\"><img decoding=\"async\" src=\"https:\/\/gibby3d.com\/blog\/wp-content\/gallery\/shadow-health\/Designer.png\" alt=\"\"\/><\/a><figcaption class=\"wp-element-caption\">Qt Designer.<\/figcaption><\/figure>\n\n\n\n<div style=\"height:55px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p class=\"\"><strong>Maya<\/strong> <strong>Tools<\/strong><\/p>\n\n\n\n<hr class=\"is-style-wide wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-vimeo wp-block-embed-vimeo\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" title=\"Edit Blendshapes\" src=\"https:\/\/player.vimeo.com\/video\/906851105?dnt=1&amp;app_id=122963\" width=\"584\" height=\"329\" frameborder=\"0\" allow=\"autoplay; fullscreen; picture-in-picture; clipboard-write; encrypted-media\"><\/iframe>\n<\/div><figcaption class=\"wp-element-caption\">Quickly edit blendshapes.<\/figcaption><\/figure>\n\n\n\n<p class=\"\">Maya tool to assist character artists with making quick changes to blendshapes. Made with python.<\/p>\n\n\n\n<div style=\"height:55px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-vimeo wp-block-embed-vimeo\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" title=\"Copy Animation\" src=\"https:\/\/player.vimeo.com\/video\/906850451?dnt=1&amp;app_id=122963\" width=\"584\" height=\"329\" frameborder=\"0\" allow=\"autoplay; fullscreen; picture-in-picture; clipboard-write; encrypted-media\"><\/iframe>\n<\/div><figcaption class=\"wp-element-caption\">Copy animation between skeletons.<\/figcaption><\/figure>\n\n\n\n<p class=\"\">Maya tool to assist animators with quickly copying animation between skeletons. Made with python.<\/p>\n\n\n\n<div style=\"height:55px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p class=\"\"><strong>MotionBuilder<\/strong> <strong>Tools<\/strong><\/p>\n\n\n\n<hr class=\"is-style-wide wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<figure class=\"wp-embed-aspect-16-9 wp-has-aspect-ratio wp-block-embed is-type-video is-provider-vimeo wp-block-embed-vimeo\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" title=\"SHKeys\" src=\"https:\/\/player.vimeo.com\/video\/907901860?dnt=1&amp;app_id=122963\" width=\"584\" height=\"329\" frameborder=\"0\" allow=\"autoplay; fullscreen; picture-in-picture; clipboard-write; encrypted-media\"><\/iframe>\n<\/div><figcaption class=\"wp-element-caption\">Basic key operations<\/figcaption><\/figure>\n\n\n\n<p class=\"\">MotionBuilder tool to operate on keys.  Made with python.<\/p>\n\n\n\n<div style=\"height:55px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-vimeo wp-block-embed-vimeo\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" title=\"MirrorAnimation\" src=\"https:\/\/player.vimeo.com\/video\/907864617?dnt=1&amp;app_id=122963\" width=\"584\" height=\"330\" frameborder=\"0\" allow=\"autoplay; fullscreen; picture-in-picture; clipboard-write; encrypted-media\"><\/iframe>\n<\/div><figcaption class=\"wp-element-caption\">Rotate and mirror animation takes.<\/figcaption><\/figure>\n\n\n\n<p class=\"\">MotionBuilder tool to rotate and mirror animation takes.  Made with python.<\/p>\n\n\n\n<div style=\"height:55px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p class=\"\"><strong>Substance Painter<\/strong> <strong>Tools<\/strong><\/p>\n\n\n\n<hr class=\"is-style-wide wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-vimeo wp-block-embed-vimeo\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" title=\"Substance Directory\" src=\"https:\/\/player.vimeo.com\/video\/906856424?dnt=1&amp;app_id=122963\" width=\"584\" height=\"329\" frameborder=\"0\" allow=\"autoplay; fullscreen; picture-in-picture; clipboard-write; encrypted-media\"><\/iframe>\n<\/div><figcaption class=\"wp-element-caption\">Substance API browsing.<\/figcaption><\/figure>\n\n\n\n<p class=\"\">Substance Painter tool to assist with browsing and bookmarking the Substance python API. Made with python.<\/p>\n\n\n\n<div style=\"height:55px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p class=\"\"><strong>Unity<\/strong> <strong>Tools<\/strong><\/p>\n\n\n\n<hr class=\"is-style-wide wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/gibby3d.com\/blog\/wp-content\/gallery\/shadow-health\/ProjectWindowDetails.jpg\"><img decoding=\"async\" src=\"https:\/\/gibby3d.com\/blog\/wp-content\/gallery\/shadow-health\/ProjectWindowDetails.jpg\" alt=\"\"\/><\/a><figcaption class=\"wp-element-caption\">Project tab details.<\/figcaption><\/figure>\n\n\n\n<p class=\"\">Expanding on engine UI to give more detailed information to the user, including adding supplemental directories for visual reference.<\/p>\n\n\n\n<div style=\"height:55px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-vimeo wp-block-embed-vimeo\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" title=\"Prefab Clipboard 01\" src=\"https:\/\/player.vimeo.com\/video\/906852606?dnt=1&amp;app_id=122963\" width=\"584\" height=\"338\" frameborder=\"0\" allow=\"autoplay; fullscreen; picture-in-picture; clipboard-write; encrypted-media\"><\/iframe>\n<\/div><figcaption class=\"wp-element-caption\">Bookmarking objects.<\/figcaption><\/figure>\n\n\n\n<p class=\"\">Unity tool to assist users with object organization and bookmarking. Made with C# and UIToolkit.<\/p>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-vimeo wp-block-embed-vimeo\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" title=\"Prefab Clipboard 02\" src=\"https:\/\/player.vimeo.com\/video\/906853481?dnt=1&amp;app_id=122963\" width=\"584\" height=\"338\" frameborder=\"0\" allow=\"autoplay; fullscreen; picture-in-picture; clipboard-write; encrypted-media\"><\/iframe>\n<\/div><figcaption class=\"wp-element-caption\">Moving Objects.<\/figcaption><\/figure>\n\n\n\n<div style=\"height:55px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-vimeo wp-block-embed-vimeo\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" title=\"Animation Preview\" src=\"https:\/\/player.vimeo.com\/video\/906847951?dnt=1&amp;app_id=122963\" width=\"584\" height=\"338\" frameborder=\"0\" allow=\"autoplay; fullscreen; picture-in-picture; clipboard-write; encrypted-media\"><\/iframe>\n<\/div><figcaption class=\"wp-element-caption\">Quickly preview animations.<\/figcaption><\/figure>\n\n\n\n<p class=\"\">Unity tool to assist animators with quickly previewing animation. Made with C# and UI Toolkit.<\/p>\n\n\n\n<div style=\"height:55px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-vimeo wp-block-embed-vimeo\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" title=\"Rename Selected\" src=\"https:\/\/player.vimeo.com\/video\/906855963?dnt=1&amp;app_id=122963\" width=\"584\" height=\"338\" frameborder=\"0\" allow=\"autoplay; fullscreen; picture-in-picture; clipboard-write; encrypted-media\"><\/iframe>\n<\/div><figcaption class=\"wp-element-caption\">Rename selected objects.<\/figcaption><\/figure>\n\n\n\n<p class=\"\">Unity tool to assist users with naming objects, adding prefix, suffix, numbering, and auto-suffix by type.  I designated the asterisk (*) as a special character to allow replacement of multiple unique substrings.  Made with C# and UIToolkit.<\/p>\n\n\n\n<div style=\"height:55px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-vimeo wp-block-embed-vimeo\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" title=\"Bounding Box Wizard\" src=\"https:\/\/player.vimeo.com\/video\/906849024?dnt=1&amp;app_id=122963\" width=\"584\" height=\"338\" frameborder=\"0\" allow=\"autoplay; fullscreen; picture-in-picture; clipboard-write; encrypted-media\"><\/iframe>\n<\/div><figcaption class=\"wp-element-caption\">Automate bounding boxes for selected meshes. <\/figcaption><\/figure>\n\n\n\n<p class=\"\">Unity tool to quickly set bouding box values. Made with C# and UI Toolkit.<\/p>\n\n\n\n<div style=\"height:55px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-vimeo wp-block-embed-vimeo\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" title=\"Prefab Layout\" src=\"https:\/\/player.vimeo.com\/video\/906854720?dnt=1&amp;app_id=122963\" width=\"584\" height=\"338\" frameborder=\"0\" allow=\"autoplay; fullscreen; picture-in-picture; clipboard-write; encrypted-media\"><\/iframe>\n<\/div><figcaption class=\"wp-element-caption\">Layout prefabs by name.<\/figcaption><\/figure>\n\n\n\n<p class=\"\">Unity tool to assist users with visualizing prefabs in the project. Made with C# and UIToolkit.<\/p>\n\n\n\n<div style=\"height:55px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p class=\"\"><strong>Desktop<\/strong> <strong>Tools<\/strong><\/p>\n\n\n\n<hr class=\"is-style-wide wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-vimeo wp-block-embed-vimeo\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" title=\"Gather Textures\" src=\"https:\/\/player.vimeo.com\/video\/906851997?dnt=1&amp;app_id=122963\" width=\"584\" height=\"328\" frameborder=\"0\" allow=\"autoplay; fullscreen; picture-in-picture; clipboard-write; encrypted-media\"><\/iframe>\n<\/div><figcaption class=\"wp-element-caption\">Gather textures to one directory.<\/figcaption><\/figure>\n\n\n\n<p class=\"\">Desktop application to search recursively for image files by format.  Images could be moved to a target directory for processing with Photoshop batch actions, and then moved back to their original locations.  These locations were backed up via JSON to the user&#8217;s temp folder so they could be reloaded if necessary.  Made with python.<\/p>\n\n\n\n<div style=\"height:55px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p class=\"\"><strong>Shaders<\/strong><\/p>\n\n\n\n<hr class=\"is-style-wide wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/gibby3d.com\/blog\/wp-content\/gallery\/shadow-health\/WrinkleSkinShader.jpg\"><img decoding=\"async\" src=\"https:\/\/gibby3d.com\/blog\/wp-content\/gallery\/shadow-health\/WrinkleSkinShader.jpg\" alt=\"\"\/><\/a><figcaption class=\"wp-element-caption\">Wrinkle map shader graph.<\/figcaption><\/figure>\n\n\n\n<p class=\"\">Wrinkle map shader with RGB masking for isolated blending of detail normal maps.  A placeholder scar was created to test the blending on top of required secondary normal maps.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/gibby3d.com\/blog\/wp-content\/gallery\/shadow-health\/JamesWrinkleMaps01.gif\"><img decoding=\"async\" src=\"https:\/\/gibby3d.com\/blog\/wp-content\/gallery\/shadow-health\/JamesWrinkleMaps01.gif\" alt=\"\"\/><\/a><figcaption class=\"wp-element-caption\">Normal map details.<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/gibby3d.com\/blog\/wp-content\/gallery\/shadow-health\/RGBWrinkleMap.jpg\"><img decoding=\"async\" src=\"https:\/\/gibby3d.com\/blog\/wp-content\/gallery\/shadow-health\/RGBWrinkleMap.jpg\" alt=\"\"\/><\/a><figcaption class=\"wp-element-caption\">RGB masking. <\/figcaption><\/figure>\n\n\n\n<div style=\"height:55px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Simulation<\/h2>\n\n\n\n<hr class=\"is-style-wide wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p class=\"\"><\/p>\n\n\n\n<p class=\"\">Simulation for proof of concept.  Responsible for toy rigging and simulation in Maya with nucleus hair follicles<\/p>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-vimeo wp-block-embed-vimeo\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" title=\"Simulated Lion Toy\" src=\"https:\/\/player.vimeo.com\/video\/906843076?dnt=1&amp;app_id=122963\" width=\"584\" height=\"327\" frameborder=\"0\" allow=\"autoplay; fullscreen; picture-in-picture; clipboard-write; encrypted-media\"><\/iframe>\n<\/div><figcaption class=\"wp-element-caption\">Stuffed toy lion simulation test for pediatric patients.<\/figcaption><\/figure>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img decoding=\"async\" src=\"https:\/\/gibby3d.com\/blog\/wp-content\/gallery\/shadow-health\/LionToy_SimTest01.gif\" alt=\"\"\/><figcaption class=\"wp-element-caption\">The simulation was baked onto the skeleton and imported to Unity.<\/figcaption><\/figure>\n<\/div>\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img decoding=\"async\" src=\"https:\/\/gibby3d.com\/blog\/wp-content\/gallery\/shadow-health\/LionToy_SimTest_Unity01.gif\" alt=\"\"\/><figcaption class=\"wp-element-caption\">Testing with character collision.<\/figcaption><\/figure>\n<\/div>\n\n\n<div style=\"height:55px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p class=\"\"><strong>Technical R&amp;D<\/strong><\/p>\n\n\n\n<hr class=\"is-style-wide wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/gibby3d.com\/blog\/wp-content\/gallery\/shadow-health\/AICharacterAssets.jpg\"><img decoding=\"async\" src=\"https:\/\/gibby3d.com\/blog\/wp-content\/gallery\/shadow-health\/AICharacterAssets.jpg\" alt=\"\"\/><\/a><figcaption class=\"wp-element-caption\">Generated concept assets.<\/figcaption><\/figure>\n\n\n\n<p class=\"\">Research for new methodologies, including AI generation of internal concept and design materials.<\/p>\n\n\n\n<div style=\"height:55px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p class=\"\"><strong>Technical Presentations<\/strong><\/p>\n\n\n\n<hr class=\"is-style-wide wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/gibby3d.com\/blog\/wp-content\/gallery\/shadow-health\/NormalMapPresentation.jpg\"><img decoding=\"async\" src=\"https:\/\/gibby3d.com\/blog\/wp-content\/gallery\/shadow-health\/NormalMapPresentation.jpg\" alt=\"\"\/><\/a><figcaption class=\"wp-element-caption\">Normal map presentation slide.<\/figcaption><\/figure>\n\n\n\n<p class=\"\">Presentations given to the art team to expand technical knowledge, and improve production adherence to platform standards.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/gibby3d.com\/blog\/wp-content\/gallery\/shadow-health\/PropPresentation.jpg\"><img decoding=\"async\" src=\"https:\/\/gibby3d.com\/blog\/wp-content\/gallery\/shadow-health\/PropPresentation.jpg\" alt=\"\"\/><\/a><figcaption class=\"wp-element-caption\">Unity prop presentation slide.<\/figcaption><\/figure>\n\n\n\n<div style=\"height:55px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n","protected":false},"excerpt":{"rendered":"<p>Professional 3D Generalist and Tech Art work from 2021-2024. Medical Simulations Modeled in Maya, animated and rendered in Unity. Responsible for modeling, texturing, shading, lighting, and animation. I created a custom fresnel shader for the cells and animated them by &hellip; <a href=\"https:\/\/gibby3d.com\/blog\/shadow-health\/\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"nf_dc_page":"","ngg_post_thumbnail":0,"footnotes":""},"categories":[4,36,6,37,12,5,10,17],"tags":[],"class_list":["post-773","post","type-post","status-publish","format-standard","hentry","category-animation","category-c","category-games","category-props","category-python","category-rigging","category-scripting","category-unity"],"_links":{"self":[{"href":"https:\/\/gibby3d.com\/blog\/wp-json\/wp\/v2\/posts\/773","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/gibby3d.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/gibby3d.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/gibby3d.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/gibby3d.com\/blog\/wp-json\/wp\/v2\/comments?post=773"}],"version-history":[{"count":6,"href":"https:\/\/gibby3d.com\/blog\/wp-json\/wp\/v2\/posts\/773\/revisions"}],"predecessor-version":[{"id":887,"href":"https:\/\/gibby3d.com\/blog\/wp-json\/wp\/v2\/posts\/773\/revisions\/887"}],"wp:attachment":[{"href":"https:\/\/gibby3d.com\/blog\/wp-json\/wp\/v2\/media?parent=773"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/gibby3d.com\/blog\/wp-json\/wp\/v2\/categories?post=773"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/gibby3d.com\/blog\/wp-json\/wp\/v2\/tags?post=773"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}