<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:image="http://www.google.com/schemas/sitemap-image/1.1" xmlns:xhtml="http://www.w3.org/1999/xhtml">
  <url>
    <loc>https://emmetotoole.com/home</loc>
    <changefreq>daily</changefreq>
    <priority>1.0</priority>
    <lastmod>2022-08-31</lastmod>
  </url>
  <url>
    <loc>https://emmetotoole.com/pagecv</loc>
    <changefreq>daily</changefreq>
    <priority>0.75</priority>
    <lastmod>2022-08-31</lastmod>
  </url>
  <url>
    <loc>https://emmetotoole.com/personal</loc>
    <changefreq>daily</changefreq>
    <priority>0.75</priority>
    <lastmod>2022-09-01</lastmod>
  </url>
  <url>
    <loc>https://emmetotoole.com/personal/isomesh</loc>
    <changefreq>monthly</changefreq>
    <priority>0.5</priority>
    <lastmod>2021-06-14</lastmod>
    <image:image>
      <image:loc>https://images.squarespace-cdn.com/content/v1/60c6466fa87b19347abe3bb4/6aef9853-af88-4a9b-bf8e-94695766ba60/manipulating-signed-distance-fields.gif</image:loc>
      <image:title>Personal - IsoMesh</image:title>
      <image:caption>Ultimately IsoMesh is a tool for manipulating signed distance fields and then generating meshes from the result. These SDFs can be primitive shapes like spheres or cubes, or sampled meshes. They can even have different material properties.</image:caption>
    </image:image>
    <image:image>
      <image:loc>https://images.squarespace-cdn.com/content/v1/60c6466fa87b19347abe3bb4/d3dc0261-1158-4c5d-b55c-d82b2c7fa6bf/sdf_subsurface_scattering.png</image:loc>
      <image:title>Personal - IsoMesh</image:title>
      <image:caption>Subsurface scattering makes everything look so cool.</image:caption>
    </image:image>
    <image:image>
      <image:loc>https://images.squarespace-cdn.com/content/v1/60c6466fa87b19347abe3bb4/28e8c846-f1bb-4db0-8de7-e6d2ed86ea4d/physics-interaction-with-sdf.gif</image:loc>
      <image:title>Personal - IsoMesh</image:title>
      <image:caption>When static, SDFs can also be used with Unity physics. I do this in an efficient manner by only generate a small amount of geometry around normal physics objects. This is done asynchronously so it doesn't impact the main thread.</image:caption>
    </image:image>
    <image:image>
      <image:loc>https://images.squarespace-cdn.com/content/v1/60c6466fa87b19347abe3bb4/747f8976-a6b4-4efe-be05-8da4d8808496/elongating-signed-distance-field-space.gif</image:loc>
      <image:title>Personal - IsoMesh</image:title>
      <image:caption>You can do some pretty freaky stuff by transforming the space!</image:caption>
    </image:image>
    <image:image>
      <image:loc>https://images.squarespace-cdn.com/content/v1/60c6466fa87b19347abe3bb4/4b6f9e28-fc23-4d0c-aafd-040be9557b41/blobbyBricks0.gif</image:loc>
      <image:title>Personal - IsoMesh</image:title>
      <image:caption>They can even have UVs.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://emmetotoole.com/personal/hdrp-grass</loc>
    <changefreq>monthly</changefreq>
    <priority>0.5</priority>
    <lastmod>2022-08-31</lastmod>
    <image:image>
      <image:loc>https://images.squarespace-cdn.com/content/v1/60c6466fa87b19347abe3bb4/a4410ca4-2182-4dbf-bdc3-37ca5aa30eb7/hdrpGrass.gif</image:loc>
      <image:title>Personal - HDRPGrass</image:title>
      <image:caption>There are tons of customization options, and the grass works with multiple light sources, cast shadows, and can multiple spheres displacing it.</image:caption>
    </image:image>
    <image:image>
      <image:loc>https://images.squarespace-cdn.com/content/v1/60c6466fa87b19347abe3bb4/507a8ae8-9ae3-46de-ab28-44d51c8a2e38/hdrp-grass-lod-system.gif</image:loc>
      <image:title>Personal - HDRPGrass</image:title>
      <image:caption>The grass can have multiple LODs! Check out this trippy debug view.</image:caption>
    </image:image>
    <image:image>
      <image:loc>https://images.squarespace-cdn.com/content/v1/60c6466fa87b19347abe3bb4/f82fcdaf-e060-4322-b43b-f0ef73089984/placing-compute-shader-hdrp-grass.gif</image:loc>
      <image:title>Personal - HDRPGrass</image:title>
      <image:caption>The grass can be baked into static meshes and then placed as prefabs on Unity terrain.</image:caption>
    </image:image>
    <image:image>
      <image:loc>https://images.squarespace-cdn.com/content/v1/60c6466fa87b19347abe3bb4/25346414-1a3c-459c-a067-92f51a573930/hdrp-grass-material-inspector.png</image:loc>
      <image:title>Personal - HDRPGrass</image:title>
      <image:caption>The material has a swanky inspector in the style of other HDRP materials!</image:caption>
    </image:image>
    <image:image>
      <image:loc>https://images.squarespace-cdn.com/content/v1/60c6466fa87b19347abe3bb4/6956b916-2370-4974-9f96-b327ad65b7d5/grass0.gif</image:loc>
      <image:title>Personal - HDRPGrass</image:title>
      <image:caption>I can see use cases for this as a weird fur thing or music visualizer, too. :P</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://emmetotoole.com/personal/raincoat</loc>
    <changefreq>monthly</changefreq>
    <priority>0.5</priority>
    <lastmod>2022-08-31</lastmod>
    <image:image>
      <image:loc>https://images.squarespace-cdn.com/content/v1/60c6466fa87b19347abe3bb4/b2c7fc1f-9bb1-4db7-8c18-ddd3b6ee52ff/gravJump2.gif</image:loc>
      <image:title>Personal - Raincoat (3D Platformer)</image:title>
      <image:caption>Any object can be a gravity source. Here you also have a great view of the first level in the background. The custom camera easily adjusts to the new up direction.</image:caption>
    </image:image>
    <image:image>
      <image:loc>https://images.squarespace-cdn.com/content/v1/60c6466fa87b19347abe3bb4/bb5a18a9-79c0-4558-80b6-b4de34d1dc61/grab0.gif</image:loc>
      <image:title>Personal - Raincoat (3D Platformer)</image:title>
      <image:caption>Environmental interaction! Any object with a Rigidbody can be pushed, pulled, or rolled around.</image:caption>
    </image:image>
    <image:image>
      <image:loc>https://images.squarespace-cdn.com/content/v1/60c6466fa87b19347abe3bb4/0d1d8ed2-6db9-43bc-b81d-37652dabd50c/jump2.gif</image:loc>
      <image:title>Personal - Raincoat (3D Platformer)</image:title>
      <image:caption>What 3D platformer would be complete without walljumping?</image:caption>
    </image:image>
    <image:image>
      <image:loc>https://images.squarespace-cdn.com/content/v1/60c6466fa87b19347abe3bb4/5b010df4-bf11-4f1a-b81d-06fb3dd3c419/pickup1.gif</image:loc>
      <image:title>Personal - Raincoat (3D Platformer)</image:title>
      <image:caption>A closeup of the really fun blobby pickups scattered around the world. I made this with raymarching shader magic.</image:caption>
    </image:image>
    <image:image>
      <image:loc>https://images.squarespace-cdn.com/content/v1/60c6466fa87b19347abe3bb4/b2e6abea-9723-4ec0-b16d-2f9054f4fc7c/raincoat-shield-attack.gif</image:loc>
      <image:title>Personal - Raincoat (3D Platformer)</image:title>
      <image:caption>Raincoat is followed everywhere by a little orb companion. He can use it to project energy structured like this shield. This is all also done with raymarching, while the orb itself is a bunch of chunks animated via code.</image:caption>
    </image:image>
    <image:image>
      <image:loc>https://images.squarespace-cdn.com/content/v1/60c6466fa87b19347abe3bb4/1a874f85-f6df-4500-8a74-2bb81e5f8f92/eyeBlink0.gif</image:loc>
      <image:title>Personal - Raincoat (3D Platformer)</image:title>
      <image:caption>Raincoats eyes are the window to his soul. Done totally with ShaderGraph.</image:caption>
    </image:image>
    <image:image>
      <image:loc>https://images.squarespace-cdn.com/content/v1/60c6466fa87b19347abe3bb4/4e861a70-99b0-42e2-8067-083731d66ba6/jumpPreview.gif</image:loc>
      <image:title>Personal - Raincoat (3D Platformer)</image:title>
      <image:caption>I went really overboard with the tools and gizmos. Since the game is so focused on tight platforming, we have tools that allow our designer to customize them by speed, height, airtime, and distance. This visualization is created with the help of Shapes, by Freya Holmér.</image:caption>
    </image:image>
    <image:image>
      <image:loc>https://images.squarespace-cdn.com/content/v1/60c6466fa87b19347abe3bb4/aa8de4a9-5cc8-4c0c-ad43-214da6edc216/raincoat-character-controller-scriptable-object-preview.png</image:loc>
      <image:title>Personal - Raincoat (3D Platformer)</image:title>
      <image:caption>I love giving designers tons and tons of flexibility. Here's a peek at the options menu for the character controller.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://emmetotoole.com/personal/ricercar</loc>
    <changefreq>monthly</changefreq>
    <priority>0.5</priority>
    <lastmod>2022-08-31</lastmod>
    <image:image>
      <image:loc>https://images.squarespace-cdn.com/content/v1/60c6466fa87b19347abe3bb4/a833a65c-f568-43f4-9da5-b616271930c3/GRAVITYMAP.gif</image:loc>
      <image:title>Personal - Ricercar (Gravity Platformer + GPU Particle System)</image:title>
      <image:caption>Convert any sprite into a "gravity map" which encodes a 2D vector towards the "mass" of the sprite. This allows for weird gravitational surfaces which would be too expensive to compute at runtime.</image:caption>
    </image:image>
    <image:image>
      <image:loc>https://images.squarespace-cdn.com/content/v1/60c6466fa87b19347abe3bb4/3a66a099-c746-42e3-8000-37a67a207125/GRAVITYGIF.gif</image:loc>
      <image:title>Personal - Ricercar (Gravity Platformer + GPU Particle System)</image:title>
      <image:caption>Maps can easily be sampled, both on the CPU and GPU side. The gravity is even extrapolated outside the edge of the map.</image:caption>
    </image:image>
    <image:image>
      <image:loc>https://images.squarespace-cdn.com/content/v1/60c6466fa87b19347abe3bb4/e23aad81-483a-464d-aa20-75b053e5d15d/GRAVITYPARTICLES.gif</image:loc>
      <image:title>Personal - Ricercar (Gravity Platformer + GPU Particle System)</image:title>
      <image:caption>You can create some pretty cool visuals with this. In this gif there are up to 200,000 particles with no lag. All the gravity sources and particle sources can be modified and moved around live, it's very fun.</image:caption>
    </image:image>
    <image:image>
      <image:loc>https://images.squarespace-cdn.com/content/v1/60c6466fa87b19347abe3bb4/a0c4e7a9-a486-44ca-82c9-73fed5799e16/gravity2.gif</image:loc>
      <image:title>Personal - Ricercar (Gravity Platformer + GPU Particle System)</image:title>
      <image:caption>Also very fun to just jump around in.</image:caption>
    </image:image>
    <image:image>
      <image:loc>https://images.squarespace-cdn.com/content/v1/60c6466fa87b19347abe3bb4/3f07a312-db80-4081-a27e-ccf29664ae9b/gravity1.gif</image:loc>
      <image:title>Personal - Ricercar (Gravity Platformer + GPU Particle System)</image:title>
      <image:caption>This project ended up spawning two others which are also here on my GitHub - an SDF based line drawing tool (LineDrawer) and a tool for sorting large arrays on the GPU. (BufferSorter)</image:caption>
    </image:image>
    <image:image>
      <image:loc>https://images.squarespace-cdn.com/content/v1/60c6466fa87b19347abe3bb4/524accbb-707c-44ad-a469-d9ebed50900a/gravity3.gif</image:loc>
      <image:title>Personal - Ricercar (Gravity Platformer + GPU Particle System)</image:title>
      <image:caption>The particles can either collide and disappear or bounce with rudimentary physics.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://emmetotoole.com/professional</loc>
    <changefreq>daily</changefreq>
    <priority>0.75</priority>
    <lastmod>2022-08-31</lastmod>
  </url>
  <url>
    <loc>https://emmetotoole.com/professional/loot-river</loc>
    <changefreq>monthly</changefreq>
    <priority>0.5</priority>
    <lastmod>2022-08-31</lastmod>
    <image:image>
      <image:loc>https://images.squarespace-cdn.com/content/v1/60c6466fa87b19347abe3bb4/b8efcb07-945a-4c7a-a043-e8fd21434264/settings.png</image:loc>
      <image:title>Professional - Loot River</image:title>
      <image:caption>Hey look, it's the settings screen I did!</image:caption>
    </image:image>
    <image:image>
      <image:loc>https://images.squarespace-cdn.com/content/v1/60c6466fa87b19347abe3bb4/d2265f15-84e6-420d-b026-936db81c0fa4/analisis-loot-river-2691295.png</image:loc>
      <image:title>Professional - Loot River</image:title>
      <image:caption>In the game, you navigate a series of waterlogged dungeons by sliding around these tetronimo-esque rafts. The rafts present you with satisfying "mini-puzzles" which punctuate the combat. There are some tough boss fights!</image:caption>
    </image:image>
    <image:image>
      <image:loc>https://images.squarespace-cdn.com/content/v1/60c6466fa87b19347abe3bb4/dd7744b6-eeed-4441-9fd9-34b3e3005a6e/Loot-River-Review-3.jpg</image:loc>
      <image:title>Professional - Loot River</image:title>
      <image:caption>Did I mention it's gorgeous?</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://emmetotoole.com/professional/actionrpg</loc>
    <changefreq>monthly</changefreq>
    <priority>0.5</priority>
    <lastmod>2021-08-21</lastmod>
  </url>
  <url>
    <loc>https://emmetotoole.com/professional/paranoia</loc>
    <changefreq>monthly</changefreq>
    <priority>0.5</priority>
    <lastmod>2022-08-31</lastmod>
    <image:image>
      <image:loc>https://images.squarespace-cdn.com/content/v1/60c6466fa87b19347abe3bb4/ba9fe601-9541-40f6-9daa-ee80ee072160/Paranoia.jpg</image:loc>
      <image:title>Professional - Paranoia: Happiness is Mandatory</image:title>
      <image:caption>Before and after each mission you'd meet with Friend Computer. who'd inevitably chastise and occasionally vaporize your teammates.</image:caption>
    </image:image>
    <image:image>
      <image:loc>https://images.squarespace-cdn.com/content/v1/60c6466fa87b19347abe3bb4/c8fc1dcb-be7e-4cf4-bbe0-d233960cea30/Paranoia-IL2.jpg</image:loc>
      <image:title>Professional - Paranoia: Happiness is Mandatory</image:title>
      <image:caption>The central hub area has lots of NPCs walking around, interacting with one another and objects in their environment. Many of these NPCs weren't scripted: they would choose random nearby objects and would even form queues with one another.</image:caption>
    </image:image>
    <image:image>
      <image:loc>https://images.squarespace-cdn.com/content/v1/60c6466fa87b19347abe3bb4/aae540b7-3040-41e2-a7c6-9fbc31194dbd/Paranoia_Happiness_Is_Mandatory_06132019_03.png</image:loc>
      <image:title>Professional - Paranoia: Happiness is Mandatory</image:title>
      <image:caption>A mid-combat screenshot showcasing the squad based combat with active pause. I implemented lots of the UI visible here.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://emmetotoole.com/professional/bbdz</loc>
    <changefreq>monthly</changefreq>
    <priority>0.5</priority>
    <lastmod>2021-08-21</lastmod>
    <image:image>
      <image:loc>https://images.squarespace-cdn.com/content/v1/60c6466fa87b19347abe3bb4/28dc1822-287f-4ec0-aff4-efc90094533e/bbdz_0.jpg</image:loc>
      <image:title>Professional - Blood Bowl: Death Zone</image:title>
      <image:caption>You play by giving your team members orders, either individually or in groups. You can win either by traditional american football means, or simply by eliminating the opposing team!</image:caption>
    </image:image>
    <image:image>
      <image:loc>https://images.squarespace-cdn.com/content/v1/60c6466fa87b19347abe3bb4/821aeac5-0eab-47c8-8323-b59cdb7a03c1/bbdz_1.png</image:loc>
      <image:title>Professional - Blood Bowl: Death Zone</image:title>
      <image:caption>I worked on a feature where you could build your own teams for use in online multiplayer games.</image:caption>
    </image:image>
    <image:image>
      <image:loc>https://images.squarespace-cdn.com/content/v1/60c6466fa87b19347abe3bb4/410b9182-ab4a-4328-9422-87e11ec20932/bbdz_2.png</image:loc>
      <image:title>Professional - Blood Bowl: Death Zone</image:title>
      <image:caption>The ice attack visible here was one of the first things I ever got to work on. :')</image:caption>
    </image:image>
  </url>
</urlset>

