Role as a Technical Artist:
- Original Shadow Materialization Method:
- Added a Render Feature to Unity’s URP with a custom pass to render a screen-space shadow mask storing world coordinates into a Render Target.
- Implemented platform-specific handling:
- Non-WebGL platforms: Used Compute Shaders to process the Render Target on the GPU to extract shadow points efficiently, with support for CPU parallel computing to handle large datasets.
- WebGL: Fallback to CPU processing, reading the Render Target as a texture and extracting shadow points through sequential traversal.
- Generated a voxel-based 3D mesh using the Marching Cubes algorithm.
- Visual Effects and Atmosphere Creation:
- Designed shader effects for shadow materialization combined with magical particle effects; Implemented firefly particle effects to enhance atmosphere (VFX Graph for Non-WebGL, Particle System for WebGL); Wrote a custom shader to fake volumetric light beams for the spotlight.
- Adjusted scene lighting and color palette.
Role as a Part-time Programmer:
- Shadow Interaction Bug Fixes and Extreme Case Handling: Fixed interaction bugs (camera, collision, etc.); Handled edge cases, such as shadows out of the projection area and excessively large shadows.
- Basic UI Functions and Interaction Guidance: Implemented basic UI functions (start, pause, restart, and exit); Added UI operation guidance to assist players; Developed notifications for extreme cases.