Ludwig Temmel Portfolio

Terror & T-sprit

Ett First Person Shooter-spel i Unity som använder 3D-skannde fiender och raycast för hit-detection.

titel

Projektöversikt

Terror & T-sprit är ett FPS-spel som min kompis och jag utvecklade. Fokusen ligger på humör och att skapa en rolig spelupplevelse med intressant mekanik. En av de mesta intressanta aspekterna är att vi skannade in varandra för användnign som 3D-modeller i spelet.

Spelet går ut på att klara sig så långe som möjligt mot fienderna. Spelaren tar skada genom att fienderna går in i den och man fyller på hälsan genom att plocka up T-sprit. Detta har dock konsekvensen att det går spelaren nästan blind i några sekunder. Asseten som används för spelvärlden fanns gratis i Unity asset biblioteket.

Spelets huvudmeny

Spelets huvudmeny

Centrala Spelmekaniker

  • Skjutsystem med raycasting och precisa hitboxes
  • Headshot-mekanik med ökad skada för precisionsskott
  • Fiendebeteende med Unity's NavMesh-system
  • Hälsosystem med unik T-sprit-mekanik som påverkar spelupplevelsen
Spelmekanik demonstration

Demonstration av skjutmekaniken

Teknisk Implementation

3D-Skanning och Modellering

Processen för att skapa spelens fiender började med 3D-skanning via Polycam. Detta verktyg möjliggjorde snabb och effektiv skanning med hjälp av en mobiltelefon. Efter skanningen krävdes omfattande bearbetning i Blender för att optimera modellerna använding i spelmotorn. Modellen är inte helt perfekt och det finns möjligheter till förbättring i framtiden, men vi tyckte att det var passande för spelet.

Original 3D-skanning

Original 3D-skanning från Polycam

Optimerad 3D-modell

Optimerad modell efter Blender-bearbetning

Skjutmekanik och Hitbox-System

Implementationen av skjutmekaniken krävde noggrann programmering för att säkerställa precision och spelbalans. Systemet använder raycasting för att detektera träffar och inkluderar separata hitboxes för olika kroppsdelar.

kod för raycast

Visualisering av hitbox-systemet och raycast-implementationen

AI och Pathfinding

Unity's NavMesh-system användes för att implementera fiendernas rörelsemönster. Systemet möjliggör intelligent navigering som följande av spelaren och undvikande av hinder.

NavMesh visualization

Visualisering av NavMesh-systemet. Den blåa ytan kan fienderna röra sig på.

Utvecklingsprocess

Utmaningar och Lösningar

3D-Modellering

En av de största utmaningarna var att bearbeta de inskannade 3D-modellerna. Processen krävde noggrann optimering i Blender för att ta bort överflödigt material och vi var inte vana vid att använda Blender.

Skelett på 3D-modellerna

Eftersom vi ville ha animationer på våra modeller behövde vi lägga till leder på dem. Sedan fick vi lägga till animationera som använder dessa leder.

Balanserad spelupplevelse

Även om själva mekaniken är relativ enkel behövde vi balansera svårigheten med att ha lagom intervall för att skapa nya fiender. Detta kunde inte bara göras genom kod utan krävde testning och experimentering.