Archiv

Alle Projekte, welche jemals auf dieser Website gezeigt wurden, in chronologischer Reihenfolge.

Archive

All projects ever showcased on this website, in chronologic order.



Erstellen von Grundriss-Plänen mithilfe der HoloLens 2

2 Anwendungen, mit denen von einer HoloLens 2 gesammelte Umgebungsdaten ausgewertet und in Grundrisspläne der jeweils erfassten Räume umgewandelt werden können.

Die HoloLens 2 erstellt kontinuierlich eine Mesh-Repräsentation der sie umgebenden Geometrie, um beispielsweise das korrekte Platzieren von Objekten in ihrem Umfeld zu ermöglichen. Die erste Anwendung, welche auf dem Gerät läuft, stellt das so generierte Mesh über der Umgebung dar und kann es in den Gerätespeicher exportieren.

Die zweite Anwendung, welche auf einem externen PC läuft, kann entweder als vollwertige In-Editor-Version oder als eigenständiges Programm mit nur grundlegenden Funktionen genutzt werden. Sie analysiert das zuvor erstellte Mesh, woraufhin ein schlichter Grundrissplan erzeugt und als Raster- oder Vektorgrafik exportiert werden kann.

Zur Umsetzung diente mir Unity sowie Microsofts Mixed Reality Toolkit. Die Anwendungen sowie den beschriebenen Prozess entwickelte ich im Rahmen meiner Bachelorarbeit ("Innenraumausmessung und automatisierte Grundrisserstellung mithilfe der Microsoft HoloLens 2").

Creating ground plans with the HoloLens 2

2 applications that allow environmental data collected by a HoloLens 2 to be analysed and converted into floor plans of the captured spaces.

The HoloLens 2 continuously creates a mesh representation of the geometry surrounding it, to enable, for example, proper placement of objects in its surrounding. The first application, which runs on the device, overlays the generated mesh onto the environment and can export it to local storage.

The second application, running on an external PC, can either be used fully featured in-editor or as a basic standalone version. It's used to analyse the mesh created previously, after which a basic floor plan can be created and exported as a raster or vector image.

Unity and Microsoft's Mixed Reality Toolkit were used for the implementation. I developed both applications and the described process as part of my bachelor thesis ("Interior measurement and automated floor plan generation using the Microsoft HoloLens 2").

Erstellte Umgebungsmeshs mit unterschielichem Detailgrad werden über einer realen Umgebung eingeblendet.Ein aus der Anwendung exportiertes Umgebungsmesh mehrerer Räume.Ein Grundrissplan wird erstellt und am ursprünglichen Umgebungsmesh visualisiert.Ein Grundrissplan wird im Unity-Editor erstellt und am ursprünglichen Umgebungsmesh visualisiert.Die Nachbarbeziehungen der Polygone eines Umgebungsmeshs werden hervorgehoben.Environmental meshes with different level of detail are overlaid on a real Environment.An environmental mesh of multiple rooms exported from the application.A floor plan is created and visualised on the associated environmental mesh.A floor plan is created and visualised on the associated environmental mesh within the Unity editor.The adjacentsies of an environmental mesh

Spielplatz für Voxel-Physik

Eine audiovisuelle Physiksimulation für PCs, in der Nutzer Voxel-Strukturen erstellen und zerstören können.

Die Anwendung lässt Nutzer frei ein lokal oder aus einer Onlinequelle verfügbares Bild auswählen, dessen Auflösung reduziert wird, bevor zweidimensional aus Voxeln nachgebildet wird. Die erstellten Voxel kann der Nutzer frei bewegen, wobei sie physikalisch simuliert werden um miteinander und der Umgebung zu interagieren. Auch können Parameter der Simulation, wie Geschwindigkeit und Schwerkraft, frei angepasst werden.

Unity diente mir zur Umsetzung des Projekts, welches eine simple Prämisse mit hohem Polish-Grad umsetzen sollte.

Voxel physics play space

A physics simulation for PCs, in which users can create and destroy voxel-structures.

The application lets users freely select an image available locally or from an online source. The image’s resolution is reduced before it is recreated two-dimensionally using voxels. The user can freely move the created voxels, which are physically simulated to interact with each other and the environment. Parameters of the simulation, such as speed and gravity, can also be freely adjusted.

Unity was used to realize this project, which was meant to realize a simple premise with a high degree of polish.

Ein aus farbigen Voxeln aufgebautes Bild.Über den Boden verteilte Voxel eines zerstörten Bildes.Durch die Luft fliegende Voxel eines zerstörten Bildes.Der Dialog zum Auswählen eines Bildes.Der Hilfe-Dialog.An image made up of coloured voxels.Voxels from a destroyed image scattered across the ground.Voxels from a destroyed image flying through the air.The image selection dialogue.The help dialogue.

2.75D Stickmen

Ein physikbasiertes Sandbox-Spiel für PCs, in dem Spieler zufällig generierte Themenwelten erkunden und mit einer Vielzahl an Gegenständen interagieren.

Die Welt des Spiels ist eigentlich zweidimensional, hat allerdings mehrere Tiefenebenen, zwischen denen Charaktere sich bewegen können. Bis zu 4 Spieler können lokal zusammenspielen, wobei jeder einen Strichmännchen-basierten Active-Ragdoll-Charakter steuert. Spieler können mithilfe einer Vielzahl an in verschiedenen Biomen verstreuten Gegenständen miteinander und mit NPCs interagieren.

Dieses Soloprojekt befindet sich in aktiver Entwicklung und nutzt einen Platzhalternamen. Ich versuche bei diesem Spiel, eine Vielzahl an Aspekten der Spieleentwicklung selbstständig zu erkunden und zu kombinieren. Als Entwicklungsplattform dient mir Unity.

2.75D Stickmen

A physics-based sandbox game for for PCs about exploring randomly generated theme worlds and interacting with a large variety of items.

The game’s world is two-dimensional with multiple depth layers that characters can move between. Up to 4 players can play together locally, with each controlling a stick-figure-based active ragdoll character. Players can interact with each other and NPCs using a many different of items scattered throughout various biomes.

This solo project is in active development and uses a placeholder name. I am trying to explore and combine a variety of aspects of game development on my own with this game. Unity is used as the developement plattform.

Ein Spieler erkundet die Spielwelt und läuft durch einen Friedhof in der Einöde.Ein Spieler in einem Wald hat einen anderen NPC mit einem Tomahawk angegriffen, während andere NPCs anwesend sind.Zwei Leute spielen zusammen in einer Wüste und bekämpfen sich mit verschiedenen Waffen.Ein Spieler in einer Grasslandschaft duelliert sich mit einem NPC.Ein Spieler in einer Einöde greift mit einem Bogen einen NPC an.A player exploring the gameA player in a forest has attacked an NPC using a tomahawk, while other NPCs are present.Two people playing together in a desert, fighting each other with different weapons.A player is dueling an NPC in a grassy landscape.A player in a wasteland attacks an NPC with a bow.

Audio-reaktive Shader

Ein Projekt, in dem ich Shader nutzte, um auf Audio reagierende Objekte zu erschaffen.

Abgespielte Audio-Clips werden in Echtzeit analysiert, um Daten zu ihrer Lautstärke- und ihrem Spektrum zu erhalten und aufzubereiten. Diese Daten werden hauptsächlich genutzt, um das Mesh ausgewählter Objekte anzupassen, um die Laustärke oder das Spektrum des Audios darzustellen. Auf Wunsch können sich aber auch weitere Objekteigenschaften, beispielsweise Farbe und Lichtemission, reaktiv anpassen. Der konkret erzielte Effekt kann durch die Anpassung verschiedener Parameter stark verändert werden.

Unity diente mir als Engine für die Umsetzung der per ShaderLab in HLSL geschriebenen Materialshader sowie der ergänzenden Skripte. Das Projekt entstand im Rahmen eines Computergrafikkurses zur Erstellung von Shadern für UI-Elemente sowie 3D-Objekte in Unity.

Die Musik im Beispielvideo ist eine bearbeitete Version von Stratum von Mittsies.

Audio reactive shaders

A project in which I used shaders to create audio reactive objects.

Played audio clips are analyzed in real time to retrieve and process their volume and spectrum data. This data is used mainly to adjust the mesh of selected objects to represent the current volume or spectrum of the audio. However, other object properties, such as colour and light emission, can also reactively adjust if desired. The achieved effect can be heavily customized by adjusting a range of parameters.

Unity served as the engine for implementing the material shaders written in HLSL via ShaderLab as well as the supplementary scripts. The project was created as part of a computer graphics course on creating shaders for UI elements and 3D objects in Unity.

The music used in the showcase video is an edited version of Stratum by Mittsies.

Auf Audio reagierende Objekte mit fester Beleuchtung.Auf Audio reagierende Objekte ohne Beleuchtung.Auf Audio reagierende Objekte mit fester Beleuchtung.Auf Audio reagierende Objekte und Beleuchtung.Audio-reactive objects with fixed lighting.Audio-reactive objects with flat lighting.Audio-reactive objects with fixed lighting.Audio-reactive objects and lighting.

Balloon Bounce Battle

Ein von mir mitentwickeltes Minispiel, in welchem bis zu 4 Spieler lokal versuchen, einander aus einem Ring zu stoßen.

Spieler erzielen Punkte, indem sie Gegner durch ineinander Rennen oder einen aufladbaren Sturmangriff aus dem Spielfeld drängen. Die Arena ist von einem Ring aus Ballons umgeben, welche Spieler einmalig vorm Verlassen des Spielfeldes schützen, dadurch im Laufe einer Runde allerdings nach und nach zerstört werden. Luftpumpen können eingesammelt werden, um die eigene Stärke zu erhöhen, wohingegen erscheinende Stachelbälle Spieler zurückstoßen und ihre Stärke verringern. Jeder Spieler wählt einen persönlichen Schwierigkeitsgrad, wobei simple KI-Gegner leere Spielerplätze auffüllen.

Balloon Bounce Battle wurde als Minispiel-Prototyp für ein Partyspiel auf der Nintendo Switch entwickelt. Wir arbeiteten in einem aus vier Personen bestehenden Team, wobei ich als Programmierer agierte und das Game Design mitentwickelte. Unity mit Nintendos offiziellen Plugin zur Entwicklung für die Switch diente als Basis für das Spiel.

Balloon Bounce Battle

A minigame I co-developed, in which up to 4 local players try to push each other out of a ring.

Players score by knocking opponents out of the playing field by running into them or using a charge attack against them. The arena is surrounded by a protective ring of balloons, offering players one-time protection from being knocked out at the cost of being destroyed as a round goes on. Air pumps may be collected to boost a player’s strength, while spike balls that appear serve to reduce it and knock players back. Each player selects a personal difficulty level, with basic AI opponents filling empty player slots.

Balloon Bounce Battle was developed as a mini-game prototype for a party game on the Nintendo Switch. We worked in a team of four, with me acting as the programmer and contributing to the game design. Unity was used in combination with Nintendo’s official Switch development plugin as the basis for the game.

Eine Runde, die gleich beginnt, mit noch eingefrorenen Spielern und einem vollständigen Ballonring um die Arena.Eine laufende Runde, in der Spieler Items sammeln um ihre Stärke zu erhöhen.Eine laufende Runde, in der Spielers einander sich umherstoßen und mit Sturmangriffen attackieren.Eine Punkteanzeige wird gezeigt, nachdem eine Runde vorbei ist.Die Lobby des Spiels, die ein kurzes Tutorial anzeigt und Spielern erlaubt, einen Schwierigkeitsgrad zu wählen.A match which is just about to start, with players frozen in place and a full ring of balloons surrounding  the ring.A match in progress with players collecting items to build up strength.A match in progress with players bumping and charging into each other.The scoreboard being shown after a match has ended.The game

Partikelfeuerwerk

Ein Showcase für in Echtzeit ablaufende Partikeleffekte, welche real existierende Feuerwerkseffekte nachbilden.

Die verschiedenen Effekte werden dabei zufällig ausgewählt und in variablen Zeitabständen gestartet. Ihre Position sowie einige Effektparameter, beispielsweise ihre Farben, werden ebenfalls zufallsbasiert angepasst, wodurch stets einzigartige Abläufe zustande kommen. Räumliche Audioeffekte ergänzen die visuellen Effekte, während eine schlichte 3D-Kulisse als Umgebung dient, auf welche sich die Effekte durch Beleuchtung auswirken. Post-Processing kommt in Verbindung mit Hochskalierung der erzeugten Bilder zum Einsatz, um die gezeigten Effekte abzurunden.

Ich nutzte Unity um die Anwendung umzusetzen, wobei hauptsächlich das eventbasierte Partikelsystem Shuriken zum Einsatz kam, das durch Skripte ergänzt wurde, um den beschriebenen Showcase zu realisieren. Das Projekt wurden im Rahmen eines Computergrafikkurses erstellt, welcher sich auf die Dekonstruktion und Umsetzung von Partikeleffekten in Echtzeit-Engines konzentrierte.

Particle fireworks

A showcase for real-time particle effects, which simulates existing fireworks effects.

The different effects are randomly selected and triggered in varying time intervals. Their position as well as some effect parameters, like their colours, are also randomly adjusted, resulting in unique sequences. Spatial audio complements the visual effects, whose lighting affects the surrounding plain 3D environment. Post-processing is used in conjunction with upscaling of the generated images to round off the presented effects.

I used Unity to develop the application, primarily using its event-based particle system Shuriken, which was supplemented with scripts to create the showcase. The project was created as part of a computer graphics course that focused on deconstructing and realizing particle effects in real-time engines.

Verschiedene Feuerwerkseffekte am Nachthimmel über einer Kleinstadt.Verschiedene Feuerwerkseffekte am Nachthimmel über einer Kleinstadt.Verschiedene Feuerwerkseffekte am Nachthimmel über einer Kleinstadt.Verschiedene Feuerwerkseffekte am Nachthimmel über einer Kleinstadt.Verschiedene Feuerwerkseffekte am Nachthimmel über einer Kleinstadt.Eine Kleinstadt bei Nacht mit eingeblendetem Text, der die Steuerung der ANwendung erläutert.Different fireworks effects in the night sky above a town.Different fireworks effects in the night sky above a town.Different fireworks effects in the night sky above a town.Different fireworks effects in the night sky above a town.Different fireworks effects in the night sky above a town.A town at night with overlayed text explaining how to control the application.