The page you requested is unfortunately nowhere to be found!
Instead, here are a few of my latest blog posts:
Unity Optimisations
Here's a list of optimisation tips collected together from various sources for faster access:
Watch the whole videos linked below to get additional explanations.
Optimization tips for maximum performance – Part 1 | Unite Now 2020
https://www.youtube.com/watch?v=ZRDHEqy2uPI
Use arrays or lists if you need to access elements fast by index. Use dictionary if you often need to add or remove elements.
Use object pools instead of instantiating and destroying objects Destroying objects creates a lot of garbage. Create a pooling system and reuse unused objects.
Use Scriptable Objects for storing gen...
Posted on by Daniel Kürsten
Unity Timelines
Unity's Timeline component is a powerful NLE animation system with a highly modular internal structure.
As such it can be interesting to access parts of it via the API:
// PlayableDirector references to the timeline asset called PlayableAsset
PlayableAsset playableAsset = director.playableAsset;
// Cast it to a proper timeline asset
TimelineAsset timeline = (TimelineAsset)playableAsset;
// Get all the timeline tracks as TrackAsset
IEnumerable<TrackAsset> trackAssets = timeline.GetOutputTracks();
// Iterate through all the tracks
foreach (TrackAsset trackAsset in trackAssets)
{
Debug.Log...
Posted in Development, Unity on by Daniel Kürsten
Unity WebGL size
Initial download size on the web is very important and Unity is, at least in its basic form, by nature not the perfect choice for building small, efficient WebGL applications.
But there are a lot of dials and buttons to press, allowing us to tune the size even without having to resort to Project Tiny.
I set out to see how small I could get a WebGL build. As reference I took the default Unity Universal Render Pipeline template and went through all the optimization options.
Results
Render Pipeline | Publish Compression | Texture Compression | Shader Stripping | Code Stripping | Size on Disk |
---|---|---|---|---|---|
Univer... |
Posted in Development, Unity on by Daniel Kürsten
Shader 101
Here's a collection of shader algorithms in node form for the Amplify Shader Editor. Useful, should you ever want to build a shader with custom lighting and are too lazy to do it in code.
Diffuse
Simply the dot product between the surface normal and light direction in world space.
Specular
The dot product between the surface normal and the normal half way between view direction and light direction. The hardness can be adjusted by power with the hardness as exponent.
Fresnel
The dot product between the surface normal and the view direction. This is basically the incidence angle and can be us...
Posted in Development, Unity on by Daniel Kürsten
Kids Activities around Cologne
Location | Distance | Type | Attraction Limits | Park Limits |
---|---|---|---|---|
Gertrudenhof Hürth | 9 km | Extended Farm | ||
Krewelshof Lohmar | 20 km | Extended Farm | ||
Irrland Kevelaer | 100 km | Outdoor Park | often max. weight 60kg | max. age 12 for children |
Bubenheimer Spieleland Nörvenich | 38 km | Outdoor Park | ||
Bobbolandia Grevenbroich | 30 km | Outdoor Park | ||
Sommerrodelbahn & Erlebniswelt Eifeltor Mechernich | 48 km | Outdoor Park | ||
Hoplop Pulheim | 12 km | Indoor Park | ||
Phantasia Land Brühl | 17 km | Theme Park | often min. height 1.00m - 1.20m | |
Movie Park Bottrop | 87 km | Theme Park | often min. height 1.00m - 1.30m, often min. age 6 | |
Gym... |
Posted on by Daniel Kürsten
VR / AR Headsets
Some current and up coming main stream VR headsets
Tethered VR
Headset | Year | Price | Resolution / Eye | Panel | Field of View | Tracking |
---|---|---|---|---|---|---|
HTC Vive | 2016 | 599 € | 1080 x 1200 @ 90 Hz | OLED | 110° | External IR Lights (6 DOF) |
HTC Vive Pro | 2018 | 1399 € | 1440 x 1600 @ 90 Hz | OLED | 110° | External IR Lights (6 DOF) |
Valve Index | 2019 | 1079 € | 1440 x 1600 @ 90/120/144 Hz | LCD | 135° | External IR Lights (6 DOF) |
Oculus Rift | 2016 | 499 € | 1080 x 1200 @ 90 Hz | OLED | 110° | External IR Cameras (6 DOF) |
Oculus Rift S | 2019 | 449 € | 1280 × 1440 @ 80 Hz | LCD | 110° | Internal Cameras (6 DOF) |
HP Reverb | 2019 | 600 $ | 2160 x 2160 @ 90 Hz | LCD | 114... |
Posted on by Daniel Kürsten
Blender 2.8
Jumping on the hype train about Blender 2.8 and while it's looking nice, getting to grips with new software is always hard.
Documentation for 2.8 is currently being updated.
I therefore compiled a list of hotkeys that I found useful for working with Blender:
Key | Action |
---|---|
Shift + Space | Open Toolbar Menu |
Right Mouse | Open Vertex / Edge / Face Context Menu |
Alt + E | Open Selected Tool Menu (will enable numeric value entry!) |
Ctrl + V | Open Vertex Menu |
Ctrl + E | Open Edge Menu |
Ctrl + F | Open Face Menu |
U | Open UV Menu |
T | Toggle Left Toolbar |
Shift + A | Open Mesh Primitives Menu |
Delete | ...
Posted in Blender on by Daniel Kürsten
Mobile Unity Optimisations
Optimisation tips for various platforms taken from various Unity/Unite talks:
Mobile VR:
Youtube: Unity LA 2018: Going for Speed Maximizing Performance on Oculus Go
CPU
- Enable Single-Pass Stereo
- Static Batching - One material per Mesh and mark meshes as static.
- Bake Lighting - Per-pixel lights break batches.
- Occlusion Culling - Don't draw stuff you can't see.
- If Umbra fails build custom occlusion engine - Interiors work better with a custom portal engine.
- Oculus Go can handle large textures - 4096x4096
- Oculus Go can do small head translations in addition to head rotation.
GPU
- Faster Fragmen...
Posted in Development, Unity on by Daniel Kürsten
Adding SSH Key to Bitbucket from Windows
Here is a quick cheat sheet on how to add a proper ssh key for Sourcetree / Bitbucket from a Windows system with the PuTTY Key Generator.
The process is not complicated by any means, but getting things mixed up simply results in Bitbucket or Sourcetree rejecting the key, making tracking down the problem more difficult than it should be.
Steps are:
- Press Generate to create the key.
- Press Save private key to save the private key to disk.
- Copy the public key from the text area box above into the clipboard.
- Paste the public key into the Bitbucket > Settings > SSH Keys section on the website.
If...
Posted in Development on by Daniel Kürsten