Peter Sörensen

Engineer
Inventor
Enthusiast
Technical Artist

This is the alternate text

Featured Work

Skyscraper Configurator

This skyscraper configurator was my first Unreal Engine project. I wanted to achieve something where I could systematically order, sort and arrange a large number of units, and for that a tall building made of repeating pieces suited me perfectly. However, the initial plan of grouping floors, rows and units and multiplying those embedded layers turned out not to be possible in Unreal and I ended up brute forcing the math describing the position of each unit through their index in the array that holds every single piece. It works, and can adapt to the changes in the building, but it is too expensive with regards to processing power so if one was to set the building size and width to maximum, it will crash horribly. It was, however, a neat little experiment in blueprinting and taught me a lot about the limitations of graphic computing capacity and the power of raw math.Project time: 4 weeksTools: Unreal Engine 5, Blender

CityPlanr

CityPlanr was a collaboration between four technical artists; Jonathan Tinnberg, Philip Nilsson, Oscar Blegen and I. Jonathan did most of the gizmo blueprinting, Philip did 3D-modelling and UI, Oscar did menu logic, visuals and project management while I did the technical infrastructure of the project’s many functions. Placing doodads, building road through procedurally generated network nodes, selection and deselection and modes of movement and behaviour of the user in each mode were my main focus during the project, though much time was also consumed assisting the others with the more challenging parts of their programming and logic. It was a study in how far four developers can get in as many weeks and though we crashed and burned in some regards, we were remarkably productive. The last night of the project we spent recording ourselves building city models and Oscar used the footage to produce this marvelous cinematic presentation of the project.Project time: 4 weeksTools: Unreal Engine 5, Blender, PhotoshopAssets: Trees by Nicholas 3D

Forklift Simulator

Having truck experience myself, I always found the hardest part of learning to drive it getting used to the steering mechanism. So, when opportunity presented itself, I jumped at the chance to apply my experience in a simulation. I borrowed a warehouse from Robert Sandh, another TA from Gothenburg, and forklift model I had lying around. It took some partitioning and adaption to make it do what I wanted, but given my experience behind the wheel I could capture realistic truck behavior fairly accurately. Actually interacting with the cargo was the harder part. Of course, I could just have parented the cargo pallet to the truck and call it a day, but that wouldn’t let me represent the physics and pitfalls of transporting the cargo around. I wanted the driver to be able to fail, to drop the cargo, to hit corners, turn too quickly or lose their job in one of a hundred other ways. The physics interaction between the truck forks and the cargo pallet took most of the time in this project, but given how central that interaction is, it was worth it. There were a lot of tries where the truck or cargo ejected itself from the factory at a significant fraction of light speed. The best solution (with the least weird behaviors) ended up being to parent a secondary set of forks to the truck’s forks with very tight springs. This way I could keep friction and physics without affecting the driving. Much.
Initially, I had planned to include some wandering colleagues, hazards to avoid and other traffic to provide a challenge and teach proper vigilance to prospective truck drivers, but that will have to be in future development of this tool.
Project time: 2 weeksTools: Unity, Blender, PhotoshopAssets: Factory building by Robert Sandh

Rainmaker

This seemingly Lovecraftian beach experience started out as a solo study in shader programming. I was trying to make believable rain, complete with atmospheric fogging, animation and sound. A particle system that follows the player generates rain and splashes on the ground while another follows the player and leaves expanding ripples behind when the player moves. At first, it was hard to get something that looked good but, surprisingly, it all took off as soon as I placed a single vertical wooden beam in the scene, giving the player something to interact with. With that as a basis, I added some more standard Unreal objects to the scene and dug into the effects. Fog, sound and a transparent pane in front of the camera completed the scene, giving a somewhat claustrophobic experience as if one was running around a strange beach in a diving suit. If you study the footage, you can see a subtle detail; the droplets on the camera only run when the camera is tilted towards the sky. Naturally, while looking down, rain wouldn’t hit the screen. It is the kind of subtle physics polish I love adding to projects.Project time: 2 daysTools: Unreal Engine 5Assets: Props by Unreal Engine

Animated Dragon Rig

This dragon and rig was another solo project, a study in IK rigs and how to extend them. There are already rigs for humanoid and quadruped characters available in Blender, but I wanted to challenge myself and explore the technology. The six limbs of the dragon were animated using a quadruped rig extended with bones for the wings and its membranes. Some clever use of subdivisions reduced the control of the wings and body to a few vertexes per bone, giving me maximum performance and minimum hassle with vertex weights.Project time: 2 weeksTools: Blender

Graveyard Explorer

Graveyard Explorer was a Unity experiment, where I added in some interactive elements and triggers to explore the engine. Most of the scenery is free assets and photoscans, complemented with a custom mausoleum and some local wildlife made in Blender to complete the scene. Because what grave-watching experience would be complete without a look at your own?Project time: 2 weeksTools: Unity, BlenderAssets:

Planetary Shader Programming

This study in shader programming was initially going to be just the solar system, floating in a HDRI sphere of stars. As I came across the actual astronomic data from NASA, of course I had to make it to scale. Quite unsurprisingly, this made for a pretty boring scene with lots of unused, well, space, so I rescaled the universe to better fit the camera. I retained the relative sizes of everything except the sun, then added movement to the heavenly spheres controlled by a singular scalar variable, so I could easily speed up or slow down the universe. Light, day and night side and weather on each planet is controlled by the shaders instead of actual light, programmed to respond to their position in space rather than calculate based on directional lighting. With some time to spare, I also tried my hand at making some black holes, mostly to experiment with the gravitational lensing effect. Turns out astrophysics wasn’t as easy to simulate as I’d hoped, and several methods that should have worked instead provided partial effect and a lot of weird clipping effects. Most of the trouble came down to creating a lens with exponentially increasing index of refraction while the angle to the camera approached 90°, which in turn nullifies the refraction. In the end, what’s shown here was the most promising result; a masked off sphere of darkness with an exponentially decreasing IOR towards the edges. The accretion disk is simply the sun, flattened out and set to rotate, and the effects and corona of the black hole is created by the lensing effect. Surprisingly easy to get good visual results once the infrastructure of the lensing effect was programmed.Project time: 1 weekTools: Unreal Engine 5Assets: Planet textures by SolarSystemScope

This is the alternate text

You have successfully reached the end of the page