<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Tech on Max Kruf</title><link>https://maxkruf.com/category/tech/</link><description>Recent content in Tech on Max Kruf</description><generator>Hugo</generator><language>en</language><lastBuildDate>Wed, 24 Aug 2022 16:12:13 +0000</lastBuildDate><atom:link href="https://maxkruf.com/category/tech/index.xml" rel="self" type="application/rss+xml"/><item><title>TAO - Show reel</title><link>https://maxkruf.com/tao-show-reel/</link><pubDate>Tue, 22 Jun 2021 16:09:00 +0000</pubDate><guid>https://maxkruf.com/tao-show-reel/</guid><description>&lt;div class="video"&gt;&lt;iframe src="https://www.youtube-nocookie.com/embed/xUg1wdRhySc" title="YouTube video" loading="lazy" allow="encrypted-media; picture-in-picture; fullscreen" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen&gt;&lt;/iframe&gt;&lt;/div&gt;</description></item><item><title>TAO - Scene Debug Viewer</title><link>https://maxkruf.com/tao-scene-debug-viewer/</link><pubDate>Fri, 02 Apr 2021 18:29:49 +0000</pubDate><guid>https://maxkruf.com/tao-scene-debug-viewer/</guid><description>&lt;p&gt;A small debugging tool to draw the editor scene with replacement shaders. This can be helpful when blocking out a level or finding issues within the scene.&lt;/p&gt;
&lt;p&gt;&lt;img src="https://maxkruf.com/wp-content/uploads/2021/04/SDV_01.gif" alt="" loading="lazy"&gt;&lt;/p&gt;
&lt;h2 id="features"&gt;&lt;a href="https://github.com/maxartz15/SceneDebugViewer#features" rel="noopener"&gt;&lt;/a&gt;Features&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;User presets
&lt;ul&gt;
&lt;li&gt;Shader and parameter configuration&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Included examples
&lt;ul&gt;
&lt;li&gt;Base color&lt;/li&gt;
&lt;li&gt;Triplanar grid (lit and unlit)&lt;/li&gt;
&lt;li&gt;World and object space normals&lt;/li&gt;
&lt;li&gt;Overdraw&lt;/li&gt;
&lt;li&gt;UV checker&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="gallery"&gt;&lt;img src="https://maxkruf.com/wp-content/uploads/2021/04/Overdraw_01.png" alt="" loading="lazy"&gt;
&lt;img src="https://maxkruf.com/wp-content/uploads/2021/04/UV_01.png" alt="" loading="lazy"&gt;
&lt;img src="https://maxkruf.com/wp-content/uploads/2021/04/WorldSpaceNormals_01.png" alt="" loading="lazy"&gt;&lt;/div&gt;

&lt;div class="buttons"&gt;&lt;a href="https://github.com/maxartz15/SceneDebugViewer" rel="noopener"&gt;GitHub&lt;/a&gt;&lt;/div&gt;</description></item><item><title>TAO - Vertex Animation</title><link>https://maxkruf.com/tao-vertex-animation/</link><pubDate>Mon, 04 Jan 2021 16:06:00 +0000</pubDate><guid>https://maxkruf.com/tao-vertex-animation/</guid><description>&lt;p&gt;The vertex animation package is a solution with the goal of having thousands of units on screen at the same time, each one controlled by its own animation state.&lt;/p&gt;
&lt;h2 id="project-details"&gt;Project Details&lt;/h2&gt;
&lt;p&gt;&lt;img src="https://maxkruf.com/wp-content/uploads/2021/01/SampleAssets_01.gif" alt="" loading="lazy"&gt;&lt;/p&gt;
&lt;p&gt;I worked on this project while I was part of the Tech Art Outsource team. This tool was build for project &lt;a href="https://store.steampowered.com/app/1517150/Project_Castle/" rel="noopener"&gt;Castle&lt;/a&gt;, it&amp;rsquo;s a game where thousands of units are on the screen at the same time. To render all of these on screen they needed an effective solution. This project was already using Unity DOTS, so this was the perfect opportunity to get started with this and utilize the &amp;ldquo;performance by default&amp;rdquo; technology.&lt;/p&gt;</description></item><item><title>TAO - Landscape Material</title><link>https://maxkruf.com/tao-landscape-material/</link><pubDate>Wed, 18 Nov 2020 00:15:00 +0000</pubDate><guid>https://maxkruf.com/tao-landscape-material/</guid><description>&lt;p&gt;An interactive landscape material/shader for Unreal Engine 4.&lt;/p&gt;
&lt;div class="video"&gt;&lt;iframe src="https://www.youtube-nocookie.com/embed/feQLNHaRfPI" title="YouTube video" loading="lazy" allow="encrypted-media; picture-in-picture; fullscreen" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen&gt;&lt;/iframe&gt;&lt;/div&gt;

&lt;h2 id="project-details"&gt;Project Details&lt;/h2&gt;
&lt;p&gt;The shader was initially developed during the prototype phase for the game Til Nord. They needed a shader where the vehicle and other objects interact with the snow on the terrain. During development the shader got build into an generic landscape shader that could be used for all kinds of terrain types. This resulted in project Arid using it as well.&lt;/p&gt;</description></item><item><title>TAO - Texture Combiner</title><link>https://maxkruf.com/texturecombiner/</link><pubDate>Sun, 01 Nov 2020 23:05:00 +0000</pubDate><guid>https://maxkruf.com/texturecombiner/</guid><description>&lt;p&gt;A tool to quickly combine multiple textures into one. It is available for &lt;a href="https://play.maxartz15.com/TextureCombiner/" rel="noopener"&gt;WebGL&lt;/a&gt; and &lt;a href="https://github.com/maxartz15/TextureCombiner/releases" rel="noopener"&gt;Windows&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;This tool was made during development of the landscape shader. This shader used packed textures to reduce the amount of samples needed. In order to allow the end-users to quickly create their own packed textures I created this tool. Now anyone on the team can use the tool without having other photo manipulation software installed on their machine.&lt;/p&gt;</description></item><item><title>Levis Umbra</title><link>https://maxkruf.com/levis-umbra/</link><pubDate>Thu, 02 Jul 2020 16:11:00 +0000</pubDate><guid>https://maxkruf.com/levis-umbra/</guid><description>&lt;p&gt;&lt;img src="https://maxkruf.com/wp-content/uploads/2020/12/LevisUmbra_Banner_01.png" alt="" loading="lazy"&gt;
&lt;em&gt;&lt;em&gt;An underground mining facility overrun by rogue&lt;/em&gt; &lt;em&gt;AI&lt;/em&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Levis Umbra offers to bring back the Stealth genre to its roots.&lt;br&gt;
We offer an experience entirely based on sneaking and stealth dynamics.&lt;br&gt;
Armed only with a hacking device, the protagonist will have to open a way deep inside the core of an underground mining factory, taken over by a defecting AI.&lt;/p&gt;</description></item><item><title>UE4 - Analytics Prototype</title><link>https://maxkruf.com/ue4-analytics-prototype/</link><pubDate>Wed, 01 Jul 2020 19:10:00 +0000</pubDate><guid>https://maxkruf.com/ue4-analytics-prototype/</guid><description>&lt;div class="video"&gt;&lt;iframe src="https://www.youtube-nocookie.com/embed/wxlDDMCe_P0" title="YouTube video" loading="lazy" allow="encrypted-media; picture-in-picture; fullscreen" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen&gt;&lt;/iframe&gt;&lt;/div&gt;

&lt;p&gt;This is an prototype of an basic analytics tool in UE4. The tool was used in &lt;a href="https://maxkruf.com/levis-umbra/"&gt;Levis Umbra&lt;/a&gt; and allowed us to visualize the play-through of players who had played the game and submitted their data. Designers could visualize the steps and actions back in the UE4 editor.&lt;/p&gt;
&lt;div class="video"&gt;&lt;iframe src="https://www.youtube-nocookie.com/embed/hJNRemd3xow" title="YouTube video" loading="lazy" allow="encrypted-media; picture-in-picture; fullscreen" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen&gt;&lt;/iframe&gt;&lt;/div&gt;

&lt;p&gt;The tool has a simple API that allows for quick integration into existing blueprints.&lt;/p&gt;</description></item><item><title>Crime Engine</title><link>https://maxkruf.com/crime-engine/</link><pubDate>Sat, 11 Apr 2020 16:33:00 +0000</pubDate><guid>https://maxkruf.com/crime-engine/</guid><description>&lt;p&gt;Custom game engine made in C++ for the game Streamlined Mastermind.&lt;/p&gt;
&lt;div class="video"&gt;&lt;iframe src="https://www.youtube-nocookie.com/embed/QzIu9UONqP8" title="YouTube video" loading="lazy" allow="encrypted-media; picture-in-picture; fullscreen" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen&gt;&lt;/iframe&gt;&lt;/div&gt;

&lt;h2 id="project-details"&gt;Project Details&lt;/h2&gt;
&lt;p&gt;The concept for Streamlined Mastermind was made earlier, the idea was that we would create an engine where Streamlined Mastermind would be made in. Unfortunately we didn&amp;rsquo;t have enough time to build the engine into a production ready tool, the final game was made using an existing engine.&lt;/p&gt;</description></item><item><title>MA_Parallaxing</title><link>https://maxkruf.com/ma_parallaxing/</link><pubDate>Mon, 17 Feb 2020 03:12:00 +0000</pubDate><guid>https://maxkruf.com/ma_parallaxing/</guid><description>&lt;p&gt;A tool to setup parallaxing and culling for sprites in Unity.&lt;/p&gt;
&lt;div class="buttons"&gt;&lt;a href="https://github.com/maxartz15/MA_Parallaxing" rel="noopener"&gt;GitHub&lt;/a&gt;&lt;/div&gt;</description></item><item><title>Ray Tracer</title><link>https://maxkruf.com/ray-tracer/</link><pubDate>Fri, 25 Jan 2019 17:38:00 +0000</pubDate><guid>https://maxkruf.com/ray-tracer/</guid><description>&lt;p&gt;A ray tracer made in C++ to learn about math, data structures, algorithms and of course ray tracing.&lt;/p&gt;
&lt;p&gt;It uses SFML to display the output. The math library is made by hand.&lt;/p&gt;
&lt;p&gt;&lt;img src="https://maxkruf.com/wp-content/uploads/2020/12/RayTracingStats_01.png" alt="" loading="lazy"&gt;&lt;/p&gt;
&lt;h2 id="features"&gt;Features&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Primitive shapes.&lt;/li&gt;
&lt;li&gt;Hard/soft shadows.&lt;/li&gt;
&lt;li&gt;Roughness.&lt;/li&gt;
&lt;li&gt;Phong shading.&lt;/li&gt;
&lt;li&gt;Reflection and refraction.&lt;/li&gt;
&lt;li&gt;(Prototype) sphere based acceleration structure.&lt;/li&gt;
&lt;li&gt;Directional and point lights.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="project-details"&gt;Project Details&lt;/h2&gt;
&lt;p&gt;For this assignment we had to create our own math library and then build a ray tracer using it. The base course was focused on getting a basic understanding about ray tracing, light, math and optimizations. The extra course I followed was about path tracing, low level optimizations and building towards a real-time ray/path tracer.&lt;/p&gt;</description></item><item><title>MA_TextureAtlas</title><link>https://maxkruf.com/ma_textureatlas/</link><pubDate>Fri, 27 Apr 2018 21:24:57 +0000</pubDate><guid>https://maxkruf.com/ma_textureatlas/</guid><description>&lt;p&gt;Texture atlas creator tool for Unity.&lt;br&gt;
This tool is made to combine textures and/or remap the UV’s for 3D models. The tool can also be used to make 2D sprite sheets. The visual editor gives you the ability to set and prioritize the sizes and positions in the texture atlas/sprite sheet.&lt;/p&gt;
&lt;div class="video"&gt;&lt;iframe src="https://www.youtube-nocookie.com/embed/PBRKlopkZP0" title="YouTube video" loading="lazy" allow="encrypted-media; picture-in-picture; fullscreen" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen&gt;&lt;/iframe&gt;&lt;/div&gt;

&lt;h2 id="project-details"&gt;Project Details&lt;/h2&gt;
&lt;p&gt;By having full control over the size and position of the textures that are being placed in the atlas you will never stand for surprises when exporting. This will cost some more time than auto-generating your texture atlases but you know whats going on and which models/textures are getting priority.&lt;/p&gt;</description></item><item><title>Unity Unlit Terrain Shader</title><link>https://maxkruf.com/unity-unlit-terrain-shader/</link><pubDate>Wed, 23 Aug 2017 20:55:40 +0000</pubDate><guid>https://maxkruf.com/unity-unlit-terrain-shader/</guid><description>&lt;p&gt;A basic unlit terrain shader for unity, it can handle up to 4 different textures.&lt;/p&gt;
&lt;p&gt;The shader is made with Shader Sandwich. And here are some screenshots from a Unity terrain with the unlit shader.&lt;/p&gt;
&lt;p&gt;&lt;img src="https://maxkruf.com/wp-content/uploads/2017/08/UnlitTerrain4T-0.png" alt="Unity UnlitTerrain4T-1" loading="lazy"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src="https://maxkruf.com/wp-content/uploads/2017/08/UnlitTerrain4T-1.png" alt="Unity UnlitTerrain4T-1" loading="lazy"&gt;&lt;/p&gt;
&lt;div class="buttons"&gt;&lt;a href="http://download.maxartz15.com/MA_UnlitTerrain4T-1.0.unitypackage" rel="noopener"&gt;Download Project Files&lt;/a&gt;
&lt;a href="https://download.maxartz15.com/TerrainShaders.unitypackage" rel="noopener"&gt;Download Project Files v2&lt;/a&gt;&lt;/div&gt;</description></item><item><title>[MA_NodeEditor] Update 3 – Editor Multithreading / Background Processing – Unity</title><link>https://maxkruf.com/ma_nodeeditor-update-3-editor-multithreading-background-processing-unity/</link><pubDate>Wed, 12 Apr 2017 21:00:55 +0000</pubDate><guid>https://maxkruf.com/ma_nodeeditor-update-3-editor-multithreading-background-processing-unity/</guid><description>&lt;div class="video"&gt;&lt;iframe src="https://www.youtube-nocookie.com/embed/xRi5T0oDufY" title="YouTube video" loading="lazy" allow="encrypted-media; picture-in-picture; fullscreen" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen&gt;&lt;/iframe&gt;&lt;/div&gt;

&lt;p&gt;In this update, I have added multi threading for the editor, now heavy calculations can run in the background and you can continue working. Before the editor would freeze up when processing heavy calculations.&lt;br&gt;
Because you can’t use coroutines in editor scripts this had to be done in a separate way.&lt;/p&gt;</description></item><item><title>[MA_NodeEditor] Update 2 – Histogram – Unity</title><link>https://maxkruf.com/ma_nodeeditor-update-2-histogram-unity/</link><pubDate>Wed, 08 Mar 2017 21:00:18 +0000</pubDate><guid>https://maxkruf.com/ma_nodeeditor-update-2-histogram-unity/</guid><description>&lt;div class="video"&gt;&lt;iframe src="https://www.youtube-nocookie.com/embed/41luYwsoLUQ" title="YouTube video" loading="lazy" allow="encrypted-media; picture-in-picture; fullscreen" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen&gt;&lt;/iframe&gt;&lt;/div&gt;

&lt;p&gt;Update 2 for the texture editor, this time I have added a histogram/levels view in the preview window.&lt;br&gt;
Also I have been experimenting with multi-threading in the unity editor. So hopefully it will be working ‘soon™’, I’m thinking about making this an option to turn on and off.&lt;/p&gt;
&lt;p&gt;And the last thing I’m working on is a small editor to create your own nodes for in the editor, people will then be able to extend on it and maybe there will be a community library of nodes, but this is still only an idea.&lt;/p&gt;</description></item><item><title>[MA_NodeEditor] Update 1 – SearchBar &amp; PerlinNoise – Unity</title><link>https://maxkruf.com/ma_nodeeditor-update-1-searchbar-perlinnoise-unity/</link><pubDate>Fri, 20 Jan 2017 20:55:17 +0000</pubDate><guid>https://maxkruf.com/ma_nodeeditor-update-1-searchbar-perlinnoise-unity/</guid><description>&lt;div class="video"&gt;&lt;iframe src="https://www.youtube-nocookie.com/embed/is96mc3s87U" title="YouTube video" loading="lazy" allow="encrypted-media; picture-in-picture; fullscreen" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen&gt;&lt;/iframe&gt;&lt;/div&gt;

&lt;p&gt;I didn’t have that much time last week, but here is the first little update for the editor. I have added a search bar, it speaks for itself; you can search nodes and functions to add/use them.&lt;/p&gt;
&lt;p&gt;And the first noise/procedural generator node, it’s a simple perlin noise generator and I say simple because I have used the Unity build in perlin noise generator. But it is a good test and I’m looking forward to add more kind of these nodes. It is a very interesting topic.&lt;/p&gt;</description></item><item><title>MA_NodeEditor 1.0</title><link>https://maxkruf.com/ma_nodeeditor-1-0/</link><pubDate>Wed, 28 Dec 2016 20:52:29 +0000</pubDate><guid>https://maxkruf.com/ma_nodeeditor-1-0/</guid><description>&lt;div class="video"&gt;&lt;iframe src="https://www.youtube-nocookie.com/embed/W2PtTSyEyy4" title="YouTube video" loading="lazy" allow="encrypted-media; picture-in-picture; fullscreen" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen&gt;&lt;/iframe&gt;&lt;/div&gt;

&lt;p&gt;A Unity Editor extension where I’m working on. It’s an extension for editing/creating textures &amp;amp; materials in Unity. This could be useful if you don’t have access to Photoshop (or similar programs) or when your artist doesn’t have the time to edit. With this program you don’t have to leave Unity in order to make quick changes to textures and when you make changes the original texture keeps intact (nondestructive).&lt;/p&gt;</description></item><item><title>EOS (environmental experience)</title><link>https://maxkruf.com/eos-environmental-experience/</link><pubDate>Tue, 28 Jun 2016 00:18:34 +0000</pubDate><guid>https://maxkruf.com/eos-environmental-experience/</guid><description>&lt;div class="video"&gt;&lt;iframe src="https://www.youtube-nocookie.com/embed/s9imChFpnaY" title="YouTube video" loading="lazy" allow="encrypted-media; picture-in-picture; fullscreen" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen&gt;&lt;/iframe&gt;&lt;/div&gt;

&lt;p&gt;You play as an EOS-employe, waking up later than scheduled you find yourself all alone in the sleeping quarters. You notice that the sleeping quarters are oddly silent and personal belongings are scattered all around.&lt;/p&gt;
&lt;p&gt;Heading for the main hall you find more items that appear to be abandoned. Something doesn&amp;rsquo;t seem right and you head out in search of other people. It appears that you are not completely alone&amp;hellip;&lt;/p&gt;</description></item><item><title>Basic Unity Multiplayer Base Building System</title><link>https://maxkruf.com/basic-unity-multiplayer-base-builing-system/</link><pubDate>Mon, 04 Jan 2016 12:44:58 +0000</pubDate><guid>https://maxkruf.com/basic-unity-multiplayer-base-builing-system/</guid><description>&lt;div class="video"&gt;&lt;iframe src="https://www.youtube-nocookie.com/embed/LbGMwTVI2Ws" title="YouTube video" loading="lazy" allow="encrypted-media; picture-in-picture; fullscreen" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen&gt;&lt;/iframe&gt;&lt;/div&gt;

&lt;p&gt;This is a basic unity base building system, I made it to practice with (the new) Unity Unet networking.&lt;/p&gt;
&lt;p&gt;It generates a UI with some options to build. Also you can&amp;rsquo;t build where somebody else is building and the buildings are synced to the host so when somebody joins later they will be in the same world.&lt;/p&gt;</description></item></channel></rss>