Autopsy Simulator: Advanced Cadaver Systems and Forensic Visualization
Behind the scenes of our technical art work for Autopsy Only Mode—procedural wound systems, advanced shaders, and anatomically accurate modeling
Forensic pathology meets cutting-edge real-time rendering. We’re excited to share our work on Autopsy Simulator, specifically our asset production for the game’s Autopsy Only Mode—a detailed forensic examination experience requiring anatomical accuracy, dynamic injury visualization, and sophisticated material systems.
The Challenge
Autopsy Simulator needed cadaver models that could represent unlimited injury variations while maintaining medical accuracy. The constraints were clear:
Requirements:
- Four unique cadaver models with distinct characteristics
- Support for 30+ injury types (bruising, lacerations, gunshots, burns, decomposition)
- Dynamic wound blending allowing unlimited combinations
- Realistic organ visualization with pathological variations
- Performance optimization for real-time interaction
- Memory-efficient material systems within Unity’s technical limits
The solution required pushing Unity’s shader capabilities to their limits.
Our Approach
We developed three complete cadaver models (OldMan, Seth, and Addict) with a fourth partially complete. Each model features:
Anatomical Accuracy
Working from medical reference materials and consulting with forensic experts, we ensured accurate:
- Body proportions and musculature
- Subcutaneous tissue definition
- Organ placement and scale
- Realistic skin material properties
- Age-appropriate physical characteristics
Advanced Shader Architecture
The heart of the system is our M_Skin_Blend master shader with SG_WoundBlend subgraph supporting four independent wound layers.
The Technical Problem
Unity’s 16 texture sampler limitation presented a significant challenge. With 4 wound layers, each requiring BaseColor, Normal, and Mask textures, we needed 12 texture samples just for wounds—plus base skin textures, leaving no headroom for additional detail.
The Solution
Runtime texture array generation. By packing multiple textures into indexed arrays, we reduced sampler count while maintaining full wound variation:
Per Character Material:
- BaseColor Array: RGBA color variations for wound states
- Normal Map Array: RGB tangent-space normals for surface detail
- Mask Array: Single-channel masks controlling blend regions
Example Complexity:
- OldMan character: 9 texture arrays (3 material sets)
- Addict character: 12 texture arrays (4 material sets)
Four-Layer Blending System
Each wound layer supports independent control through RGBA vector parameters:
Layer Controls:
- Mask Intensity: Blend strength per layer
- Normal Intensity: Surface detail prominence (default: 6.76, 1, 1, 1.24)
- Saturation: Per-layer color saturation (default: 1.97, 2, 1, 1.54)
- Hue Shift: Independent color shifting in degrees (default: 2.12, 36.6, 1, 37.67)
- Power: Contrast and falloff control (default: 2, 0.78, 1, 0.06)
- Divide: Fine-tuning with negative value support for inversion
- Global Intensity: Master strength control (default: -30.48, 20.28, 1, -16.15)
This parameter-driven approach allows unlimited wound combinations from a finite texture set—essential for creating unique cases in procedural forensic scenarios.
Injury Visualization
We created 30+ distinct injury textures representing:
Trauma Types
- Blunt Force: Multiple stages from fresh to healing bruises
- Lacerations: Clean cuts to ragged tears
- Gunshot Wounds: Entry and exit wound variations
- Burns: First through third-degree thermal damage
- Decomposition: Progressive tissue breakdown states
- Infections: Sepsis and localized infection visualization
Material Blending
The shader’s multi-layer approach enables realistic injury stacking:
- Bruising under lacerations
- Burns with infection
- Decomposition affecting wound edges
- Multiple impact sites on single cadaver
This creates authentic forensic presentations where injuries tell stories about cause and timeline of death.
Organ Retexturing
Beyond external injuries, we created detailed organ retextures with pathological variations:
Organ Systems:
- Brain: Hemorrhage, trauma, stroke damage
- Heart: Burnt tissue, discoloration, infarction
- Liver: Lacerations, cirrhosis, fatty deposits
- Lungs: Healthy, infected, hemorrhaged, pulmonary fibrosis variants
- Trachea: Swelling, damage, constriction
Each organ features:
- Physically-based materials for realistic lighting
- Multiple disease states
- Accurate color and texture representation
- Optimized geometry for performance
UI & Tutorial Systems
Supporting the simulation, we created comprehensive tutorial board graphics:
Autopsy Workflow Visualization
Complete procedure breakdown showing:
- Preparation: Gloves, apron, case file review
- Documentation: Photography, hand tests, UV examination
- Analysis: Sample collection, microscope work
- Examination: Saw usage, organ extraction, brain removal
- Completion: Suturing and final procedures
Individual Asset Design
- 20+ tutorial board icons with consistent visual style
- Clear, instructional graphics for complex procedures
- Integration with in-game UI systems
- Scalable designs for different screen resolutions
Performance Optimization
Maintaining 60fps during detailed cadaver examination required careful optimization:
Strategies Employed:
- Runtime texture array generation reduces memory footprint
- Single SG_WoundBlend subgraph reused across all layers
- Texture array approach stays under Unity’s sampler limits
- Procedural blending reduces unique texture requirements
- LOD systems for distant cadaver viewing
- Efficient normal map compression
The result: full-detail cadavers with unlimited wound variations running smoothly on mid-range hardware.
Technical Demonstrations
We created demonstration videos showcasing:
Rigging & Blendshapes
- Facial expression systems for realistic death positioning
- Body pose flexibility for examination table placement
- Blend shapes for cutting procedures and organ extraction
- Smooth deformation during interactive manipulation
Runtime Systems
- Real-time wound application and blending
- Dynamic lighting on organic materials
- Material parameter adjustments for forensic detail
- Performance profiling showing optimization effectiveness
Lessons Learned
This project pushed our technical art capabilities:
Shader Development
Working within Unity’s constraints required creative problem-solving. The texture array solution emerged from necessity but proved more flexible than traditional approaches.
Medical Accuracy
Balancing anatomical precision with gameplay needs required constant iteration. Too realistic risked discomfort; too stylized lost educational value.
Procedural Systems
Parameter-driven wound generation proved essential. Manual creation of 30+ wound combinations would have been unmanageable.
Optimization
Real-time medical simulation demands performance optimization usually reserved for AAA action games. Every texture, every shader instruction mattered.
Impact on Development Workflow
The systems created for Autopsy Simulator have applications beyond medical simulation:
Transferable Tech:
- Multi-layer material blending for character customization
- Procedural detail systems for reducing texture budgets
- Texture array workflows for complex material needs
- Anatomically-informed character creation processes
What’s Next
While our work on Autopsy Only Mode is complete, the techniques developed continue influencing our projects:
- Enhanced character customization systems
- Improved material workflows for organic surfaces
- Advanced shader systems for other technical challenges
- Refined asset pipelines for complex projects
Try It Yourself
Autopsy Simulator is available now, featuring our cadaver systems and forensic visualization work. It’s a unique blend of educational content and detailed simulation.
Technical Deep Dive
For developers interested in our shader approach, we’ve shared technical breakdowns:
Shader Architecture
Our material setup balances flexibility with performance:
M_Skin_Blend (Master Shader)
├── Base Skin Properties
├── SG_WoundBlend Layer 1
├── SG_WoundBlend Layer 2
├── SG_WoundBlend Layer 3
└── SG_WoundBlend Layer 4
Each SG_WoundBlend instance accesses the same texture arrays with different indices, sharing resources while maintaining independence.
Parameter Organization
RGBA vector parameters allow simultaneous four-layer control through single parameters:
- Easier inspector management
- Simpler animation of wound changes
- Reduced parameter count
- Batch modification capabilities
Texture Array Generation
Runtime generation allows flexibility:
- Add new wound textures without shader recompilation
- Swap texture sets for different characters
- Modular wound library across projects
- Version control friendly (separate textures from shader logic)
Industry Applications
While created for forensic simulation, these techniques apply broadly:
Medical Training:
- Patient examination simulators
- Surgical training applications
- Anatomy education tools
Game Development:
- Survival horror character damage
- Combat injury visualization
- Character customization systems
- Creature design with variant detail
Virtual Production:
- Makeup and prosthetic previz
- Medical drama production tools
- VFX reference creation
Closing Thoughts
Autopsy Simulator pushed our technical art capabilities into new territory. The combination of medical accuracy requirements, technical constraints, and performance demands resulted in systems we’re genuinely proud of.
More importantly, this project demonstrates our commitment to tackling unique technical challenges. Whether it’s forensic simulation, weapon systems for FPS games, or environmental assets for exploration titles, we bring the same level of technical rigor and creative problem-solving.
See Our Work: Autopsy Simulator Project Page
View More Projects: Portfolio
Technical Questions? Get in Touch