Ultrasound Procedure

This project was developed for a specific ultrasound surgery on a patient’s neck to address limited resources for training individual interns. The game is an add-on tool designed to train interns’ hand movements in a fun and engaging way before they practice with probes on non-human materials, such as gels. Although the game itself is unrelated to the actual procedure, it helps interns develop the motor skills necessary for handling probes, ensuring they are better prepared for real surgeries.

My role in the team is primarily as a Technical Developer (Shader Developer, Mathematics Programmer).
So far, I have developed two systems:

  • A hand movement system to keep the player’s hand within a specific range of movements using a custom collision detection system, with a customization section that allows adjusting the restriction range by increasing or decreasing limits.
  • Smoothing the gameplay visuals by developing a custom shader that leverages stencil buffers with layered operations to enhance visual transitions and overall gameplay appearance.

Created In: Since 2024 – Present
Collaboration: A group of 5 people
Game Engine: Unity – VR – C# – HLSL & ShaderLab

To make the hand movement system in the Ultrasound Procedure project, I developed a custom collision detection system based on line segment intersection to create a precise and responsive hand tool. I also designed a location coordinator that defines the start and end points of the line segments, making the system easily customizable for different scenarios.

We created delegates primarily for communication between developers, ensuring that each part of the system could easily interact with the others. This approach allowed the team to work independently on separate components while keeping everything well-connected.

Pure CSS3 Tabs
  • Line Interseciton

  • Location Coordinator

  • Game Data

To smooth the gameplay visuals when the player detects gems or bacteria (in the older version of the game), I used a nested stencil shader. This shader helps avoid the issue of objects popping into view unexpectedly. It includes multiple layers, so players can see objects to collect but need to illuminate them with a flashlight to confirm they are the correct objects to collect, distinguishing them from other, non-collectible ones or bad bacteria.

After creating the stencil shader, we collaborated with the artists to refine and implement it, ensuring that the visual effect was both effective and aesthetically pleasing.

Pure CSS3 Tabs
  • Gem Shader

  • Gem Mask Shader

  • Needle Shader

  • Needle Mask Shader