{"schemaVersion":7,"settings":{"accent":"#8f5bb5","icons":{"collection":"","page":""},"software":[],"fonts":{"body":"system","heading":"system","custom":[]},"motion":{"pageTransitions":true,"smoothSeek":true,"imageFade":true},"fun":{"achievements":true,"sound":true,"search":true,"hints":true,"blenderMode":true},"siteName":"Martin Fleisch Portfolio","ownerName":"Martin Fleisch","logo":"media/50436bec9829e619193513a4f12a85840c858ad9.png","siteUrl":"https://martinfleisch.com","defaultTitle":"Martin Fleisch - 3D Artist Portfolio | Blender, Unreal Engine & Game Development","description":"Martin Fleisch is a 3D Environment Artist and Technical Designer specializing in Blender, Unreal Engine, Unity, and Substance Designer. Explore my portfolio featuring procedural textures, environment art, character modeling, and interactive game development projects.","theme":"dark","contactEmail":"fleisch.martin@outlook.com","aboutText":"Portfolio 2026 | Martin Fleisch","protectMedia":true,"indexable":true,"imageGuard":{"bigEdge":1920,"capFiles":true,"viewWatermark":false,"saveWatermark":true,"text":"© Martin Fleisch","opacity":0.2,"position":"center"},"searchTopics":["3D environment artist","environment art","3D artist portfolio","game environment art","level art","real-time 3D","Unreal Engine","Blender","Substance Designer","procedural texturing","technical art"]},"export":{"responsiveImages":true,"maxImageSize":2560,"imageFormat":"webp","imageQuality":0.88,"maxTextureSize":2048,"compressModels":true,"cloudflareProject":"martinportfolio"},"collections":[{"id":"intro","name":"Introduction","visible":true,"pageIds":["page-mv74azdsjcbx"],"icon":"pm:scene","pageIcon":"pm:home"},{"id":"work","name":"3D Work","visible":true,"pageIds":["work-nocturne-overview","work-nocturne-assets","work-nocturne-foliage","work-basalt","work-castle","work-sword","work-journalist","work-make-me-laugh","work-echoes","work-scavenger","work-sagerbrucke","work-galaxy","page-mv6nudb3e8lu"],"icon":"pm:cube","pageIcon":"pm:object"},{"id":"blog","name":"Blog","visible":true,"pageIds":["blog-overview"],"icon":"pm:document","pageIcon":"pm:text","color":"#e8e8e8"},{"id":"photography","name":"Photography Work","visible":true,"pageIds":["photography-board"],"icon":"pm:photo","pageIcon":"pm:image","color":"#5fcfc6"},{"id":"about","name":"About Me","visible":true,"pageIds":["about-bio","about-skills"],"icon":"pm:person","pageIcon":"pm:bone","color":"#b9a2f5"},{"id":"contact","name":"Contact","visible":true,"pageIds":["contact-form"],"icon":"pm:mail","pageIcon":"pm:chat","color":"#7fd36a"},{"id":"hidden","name":"Not in outliner","visible":true,"listed":false,"pageIds":["quick-view","legal-notice"],"icon":"pm:lock","pageIcon":"pm:document"}],"pages":{"work-nocturne-overview":{"id":"work-nocturne-overview","title":"Nocturne - Project Overview (2026)","path":"/work/nocturne-overview","kind":"blocks","visible":true,"blocks":[{"id":"work-nocturne-overview-1","type":"projectHeader","title":"Nocturne - Project overview","subtitle":"2026","style":"panel","showMeta":true},{"id":"b-mv6vkrks0rrj","type":"facts","role":"Environment Artist","duration":"3 months","team":"Solo","highlights":[],"contribution":"I am solely responsible for this project.\nI used Ultra Dynamic Sky for the lighting and weather system.","software":["blender","substancepainter","zbrush","unreal","substancedesigner","gaea","adobe"],"box":{}},{"id":"b-mv7r4hju4wgl","type":"model3d","src":"media/Barrel_A.fbx","textures":{},"defaultMode":"lit","modes":["lit","unlit","clay","solidWire","wireframe"],"channels":["baseColor","roughness","metalness","ao","normalMap","emissive","opacity","normals","uv"],"layout":"single","splitModes":["lit","wireframe"],"autoRotate":true,"showStats":true,"stage":{"exposure":1,"envIntensity":1,"envRotation":0,"environment":"studio","keyLight":1.2,"lightHeight":55,"shadow":0.35,"shadowSoftness":0.5,"background":true,"backgroundStyle":"gradient","grid":false},"aspect":"16:9"},{"id":"b-mv70tbyno738","type":"columns","gap":"md","align":"start","columns":[{"id":"col-mv70tbyn9itj","width":1,"blocks":[{"id":"work-nocturne-overview-3","type":"text","text":"This is my bachelor project, where I reconstructed a real-life castle in my area - The \"Schattenburg\" castle and museum in Feldkirch -  as a digital interactive game as it would have been 600 years ago in 1400. Based on historical research and in cooperation with the museum staff, it is an authentic 3D environment with historically informed architecture, including the building layout, wall thicknesses, and the placement of windows and doors. The result was part of an exhibition at the castle museum itself over the span of three days, allowing visitors to explore the historical site interactively."}]},{"id":"col-mv70tbynmndv","width":1,"blocks":[{"id":"b-mv70tbymsihu","type":"carousel","images":[{"id":"i-mv70ti3vs9m0","src":"media/1024.webp","alt":"1024"},{"id":"i-mv70ti3vj1a4","src":"media/1024_normal.webp","alt":"1024_normal"},{"id":"i-mv70ti3vg17j","src":"media/Albedo1024.webp","alt":"Albedo1024"},{"id":"i-mv70ti3vumor","src":"media/alpha.webp","alt":"alpha"},{"id":"i-mv70ti3vtyuc","src":"media/FireAlpha.webp","alt":"FireAlpha"},{"id":"i-mv70ti3v5mw6","src":"media/Metallic1024.webp","alt":"Metallic1024"},{"id":"i-mv70ti3vjkxs","src":"media/Roughness1024.webp","alt":"Roughness1024"}]}]}]},{"id":"work-nocturne-overview-4","type":"heading","level":3,"text":"Beauty Shots"},{"id":"b-mv6vplan3ro4","type":"projectHeader","title":"Project title","subtitle":"2026","style":"panel","showMeta":true},{"id":"b-mv6vpsnx6mp3","type":"gallery","columns":3,"images":[{"id":"i-mv6vpxie4yp1","src":"media/1024_normal.webp","alt":"1024_normal"},{"id":"i-mv6vpxiekflc","src":"media/Albedo1024.webp","alt":"Albedo1024"},{"id":"i-mv6vpxiel6jv","src":"media/alpha.webp","alt":"alpha"},{"id":"i-mv6vpxie0g7o","src":"media/FireAlpha.webp","alt":"FireAlpha"},{"id":"i-mv6vpxiek147","src":"media/Metallic1024.webp","alt":"Metallic1024"},{"id":"i-mv6vpxieal5z","src":"media/Roughness1024.webp","alt":"Roughness1024"}]},{"id":"b-mv6vq47qcz4m","type":"mapStrip","title":"Texture maps","maps":[{"id":"i-mv6vq8oqmjzv","src":"media/1024.webp","alt":"1024"},{"id":"i-mv6vq8oq20u6","src":"media/1024_normal.webp","alt":"1024_normal"},{"id":"i-mv6vq8oqp1i3","src":"media/Albedo1024.webp","alt":"Albedo1024"},{"id":"i-mv6vq8oqwmhv","src":"media/alpha.webp","alt":"alpha"},{"id":"i-mv6vq8oqfm0c","src":"media/FireAlpha.webp","alt":"FireAlpha"},{"id":"i-mv6vq8oqupd5","src":"media/Metallic1024.webp","alt":"Metallic1024"},{"id":"i-mv6vq8oqhifj","src":"media/Roughness1024.webp","alt":"Roughness1024"}]},{"id":"work-nocturne-overview-5","type":"carousel","images":[{"id":"work-nocturne-overview-5-1","src":"media/Courtyard.webp","alt":"Courtyard"},{"id":"work-nocturne-overview-5-2","src":"media/Walkway.webp","alt":"Walkway"},{"id":"work-nocturne-overview-5-3","src":"media/Interior1.webp","alt":"Interior 1"},{"id":"work-nocturne-overview-5-4","src":"media/Interior2.webp","alt":"Interior 2"},{"id":"work-nocturne-overview-5-5","src":"media/Interior3.webp","alt":"Interior 3"}]},{"id":"b-mv74uqxh4jop","type":"columns","gap":"md","align":"start","columns":[{"id":"col-mv74uqxhvx2q","width":0.82,"blocks":[{"id":"b-mv87anunk3zp","type":"mapStrip","title":"Texture maps","maps":[{"id":"i-mv87azlpk48j","src":"media/1024_normal.webp","alt":"1024_normal"},{"id":"i-mv87azlpl55l","src":"media/Albedo1024.webp","alt":"Albedo1024"},{"id":"i-mv87azlp1t7i","src":"media/Metallic1024.webp","alt":"Metallic1024"},{"id":"i-mv87azlpdsa6","src":"media/Roughness1024.webp","alt":"Roughness1024"}],"box":{"panel":true}}]},{"id":"col-mv74uqxhfefe","width":1.18,"blocks":[{"id":"b-mv6vyij1wd9j","type":"materialPreview","textures":{"baseColor":"media/Albedo1024.webp"},"shape":"matball","tiling":1,"displacementScale":0.05,"stage":{"exposure":1,"envIntensity":1,"envRotation":0,"environment":"studio","keyLight":1.2,"lightHeight":55,"shadow":0.35,"shadowSoftness":0.5,"background":false,"backgroundStyle":"gradient","grid":false},"title":"title","size":420,"showMaps":true,"box":{"panel":true}}]}]},{"id":"b-mv6w3fktz4w5","type":"terrain","heightmap":"media/Roughness1024.webp","heightScale":2,"stage":{"exposure":1,"envIntensity":1,"envRotation":0,"environment":"studio","keyLight":1.2,"lightHeight":55,"shadow":0.35,"shadowSoftness":0.5,"background":false,"backgroundStyle":"gradient","grid":false},"box":{"panel":true}},{"id":"b-mv6w6u1o6k9s","type":"sequence","frames":[{"id":"i-mv6w6zj9bcez","src":"media/1024.webp","alt":"1024"},{"id":"i-mv6w6zj999ry","src":"media/1024_normal.webp","alt":"1024_normal"},{"id":"i-mv6w6zj957da","src":"media/Albedo1024.webp","alt":"Albedo1024"},{"id":"i-mv6w6zj928vt","src":"media/alpha.webp","alt":"alpha"},{"id":"i-mv6w6zj9y77s","src":"media/FireAlpha.webp","alt":"FireAlpha"},{"id":"i-mv6w6zj9a2l6","src":"media/Metallic1024.webp","alt":"Metallic1024"},{"id":"i-mv6w6zj9l0ac","src":"media/Roughness1024.webp","alt":"Roughness1024"}],"fps":12,"loop":true,"autoplay":false},{"id":"b-mv6w8cy6e03s","type":"spacer","height":72},{"id":"b-mv6w8omd6r00","type":"newsletter","title":"Subscribe to updates","text":"Get notified when I publish new blog posts.","url":"","buttonLabel":"Subscribe"},{"id":"b-mv6w8tpatnnl","type":"postGrid","perPage":6,"showSearch":true},{"id":"b-mv6w8x7swzkr","type":"contactForm","title":"Send a Message","email":"","projectTypes":["Environment art","3D art & props","Freelance project","Full-time role","Collaboration","Something else"],"submitLabel":"Send Message","delivery":"cloudflare","successText":"Thanks! Your message was sent — I will get back to you soon.","budgets":[],"showDirect":false,"responseTime":"I usually reply within two days."},{"id":"work-nocturne-overview-6","type":"image","src":"media/ValueShot.webp","alt":"valueshot","caption":"Value Shot"},{"id":"work-nocturne-overview-7","type":"image","src":"media/DetailLighting.webp","alt":"detaillighting","caption":"Detail Lighting"},{"id":"work-nocturne-overview-8","type":"heading","level":3,"text":"Buffer and Optimization Viewports"},{"id":"work-nocturne-overview-9","type":"carousel","images":[{"id":"work-nocturne-overview-9-1","src":"media/BaseColour.webp","alt":"Unlit Viewport"},{"id":"work-nocturne-overview-9-2","src":"media/ShaderComplexity.webp","alt":"Shader Complexity"},{"id":"work-nocturne-overview-9-3","src":"media/LightingComplexity.webp","alt":"Lighting Complexity"},{"id":"work-nocturne-overview-9-4","src":"media/Wireframe.webp","alt":"Wireframe Viewport"},{"id":"work-nocturne-overview-9-5","src":"media/NaniteOverdraw.webp","alt":"Nanite Overdraw"}]},{"id":"work-nocturne-overview-10","type":"heading","level":2,"text":"Asset creation overview"},{"id":"work-nocturne-overview-11","type":"text","text":"Here is an overview of some sculpts i did for this project. A more detailed view of them can be seen in the asset breakdown page in the outliner."},{"id":"work-nocturne-overview-12","type":"image","src":"media/ZBrushSculpts.webp","alt":"assetzoo","caption":"Zbrush Sculpts Overview"},{"id":"work-nocturne-overview-13","type":"divider"},{"id":"work-nocturne-overview-14","type":"image","src":"media/AssetZoo.webp","alt":"assetzoo","caption":"Asset Zoo"},{"id":"work-nocturne-overview-15","type":"divider"},{"id":"work-nocturne-overview-16","type":"text","text":"I used Gaea to create both the landscape heightmap and the backdrop mountain-range. It is a 1 to 1 scale replica of the Region \"Feldkirch\" in Vorarlberg."},{"id":"work-nocturne-overview-17","type":"image","src":"media/GaeaLandscape.webp","alt":"gaealandscape","caption":"Gaea landscape"},{"id":"work-nocturne-overview-18","type":"divider"},{"id":"work-nocturne-overview-19","type":"image","src":"media/ReferenceBoardNocturne.webp","alt":"referenceboard","caption":"Reference Board"}],"keyframes":[{"id":"work-nocturne-overview-kf1","label":"Project overview","position":0},{"id":"work-nocturne-overview-kf2","label":"Beauty shots","position":0.08807588075880758},{"id":"work-nocturne-overview-kf3","label":"Value shot","position":0.20663956639566394},{"id":"work-nocturne-overview-kf4","label":"Detail lighting","position":0.3367208672086721},{"id":"work-nocturne-overview-kf5","label":"Buffer and Optimization Viewports","position":0.4667724657805991},{"id":"work-nocturne-overview-kf6","label":"Asset creation overview","position":0.6022614560603055},{"id":"work-nocturne-overview-kf7","label":"Reference board","position":0.9471544715447154}],"showTimeline":true},"work-nocturne-assets":{"id":"work-nocturne-assets","title":"Nocturne - Asset Workflow Examples (2026)","path":"/work/nocturne-assets","kind":"blocks","visible":true,"blocks":[{"id":"work-nocturne-assets-1","type":"projectHeader","title":"Nocturne - Asset breakdown","subtitle":"2026","style":"panel","showMeta":true},{"id":"work-nocturne-assets-2","type":"facts","role":"","duration":" 6 months","team":"Solo","contribution":"I am solely responsible for this project.","software":["blender","unreal","zbrush","substancepainter","substancedesigner","gaea","adobe"],"highlights":[]},{"id":"work-nocturne-assets-3","type":"heading","level":2,"text":"Beauty shots"},{"id":"work-nocturne-assets-4","type":"image","src":"media/Showcase1.webp","alt":"showcase1"},{"id":"work-nocturne-assets-5","type":"image","src":"media/Showcase2.webp","alt":"showcase2"},{"id":"work-nocturne-assets-6","type":"image","src":"media/Showcase3.webp","alt":"showcase3"},{"id":"work-nocturne-assets-7","type":"image","src":"media/Showcase4.webp","alt":"showcase4"},{"id":"work-nocturne-assets-8","type":"image","src":"media/AssetWireframe.webp","alt":"assetwireframe"},{"id":"work-nocturne-assets-9","type":"heading","level":3,"text":"Asset zoo"},{"id":"work-nocturne-assets-10","type":"carousel","images":[{"id":"work-nocturne-assets-10-1","src":"media/IvyAssets.webp","alt":"Ivy Assets"},{"id":"work-nocturne-assets-10-2","src":"media/RockAssets.webp","alt":"Rock Assets"},{"id":"work-nocturne-assets-10-3","src":"media/WoodenProps.webp","alt":"Wood Assets"},{"id":"work-nocturne-assets-10-4","src":"media/AssetZoo.webp","alt":"Asset Zoo"}]},{"id":"work-nocturne-assets-11","type":"heading","level":2,"text":"Zbrush sculpts"},{"id":"work-nocturne-assets-12","type":"text","text":"Here is an overview of some sculpts i did for this project. A more detailed view of them can be seen in the asset breakdown page in the outliner."},{"id":"work-nocturne-assets-13","type":"carousel","images":[{"id":"work-nocturne-assets-13-1","src":"media/Bucket.webp","alt":"Bucket Sculpt"},{"id":"work-nocturne-assets-13-2","src":"media/WoodSculpts.webp","alt":"Wood Sculpts"},{"id":"work-nocturne-assets-13-3","src":"media/Billhook.webp","alt":"Billhook Sculpt"},{"id":"work-nocturne-assets-13-4","src":"media/Candles.webp","alt":"Candles Sculpt"},{"id":"work-nocturne-assets-13-5","src":"media/Crate.webp","alt":"Crate Sculpt"},{"id":"work-nocturne-assets-13-6","src":"media/StoneSculpts.webp","alt":"Stone Sculpts"},{"id":"work-nocturne-assets-13-7","src":"media/Table.webp","alt":"Table Sculpt"},{"id":"work-nocturne-assets-13-8","src":"media/WeaponRack.webp","alt":"Weapon Rack Sculpt"},{"id":"work-nocturne-assets-13-9","src":"media/Bench.webp","alt":"Bench Sculpt"}]},{"id":"work-nocturne-assets-14","type":"heading","level":2,"text":"Texturing process"},{"id":"work-nocturne-assets-15","type":"text","text":"In this project I primarily used Packed Channel textures in combination with tilable textures. This reduced disk space and draw calls. Below is an example of this workflow. I first model, sculpt and UV-unwrap an asset, before i create masks in Substance Painter. These masks are later used in Unreal Engine to add dirt masks, discolourations, edge-wear and more."},{"id":"work-nocturne-assets-16","type":"image","src":"media/SubstancePan.webp","alt":"substancepan","caption":"Packed-mask creation in Substance 3D Painter"},{"id":"work-nocturne-assets-17","type":"text","text":"Below are the two textures  used for this asset. Compared to a traditional texturing workflow it uses half the textures while also offering more customizability in engine."},{"id":"work-nocturne-assets-18","type":"image","src":"media/PanTexture.webp","alt":"pantextureset"},{"id":"work-nocturne-assets-19","type":"text","text":"While I primariliy used tilable textures in my project, these candles are an example of a traditional texturing workflow with a fully baked texture-set."},{"id":"work-nocturne-assets-20","type":"image","src":"media/SubstanceCandle.webp","alt":"candle","caption":"Candles texturing in Substance 3D Painter"},{"id":"work-nocturne-assets-21","type":"image","src":"media/CandleTexture.webp","alt":"candletextures","caption":"To add more realism, a Subsurface Scattering map has been assigned to the Alpha channel of the Base Colour."},{"id":"work-nocturne-assets-22","type":"heading","level":2,"text":"Texture examples"},{"id":"work-nocturne-assets-23","type":"image","src":"media/WoodMaterial.webp","alt":"woodmaterial1","caption":"Interior wood texture"},{"id":"work-nocturne-assets-24","type":"image","src":"media/WoodTrim.webp","alt":"woodmaterial2","caption":"Exterior wood texture"},{"id":"work-nocturne-assets-25","type":"image","src":"media/WoodShingles.webp","alt":"woodshingles","caption":"Wood Shingles Textureset"},{"id":"work-nocturne-assets-26","type":"image","src":"media/MtalSubstanceGraph.webp","alt":"metalsubstancegraph","caption":"Metal Substance graph"},{"id":"work-nocturne-assets-27","type":"heading","level":2,"text":"Substance tools"},{"id":"work-nocturne-assets-28","type":"text","text":"While working on my bachelor project, I built multiple Substance designer tools. This Roughness generator is one example. It takes the Base Colour, Normal, Ambient Occlusion and a Noise map as inputs, and generates a roughness map that can be tweaked by differnet sliders in the parameters panel. Each input, except for the \"Base Colour\", also takes a mask input to determine where the roughness adjustments should happen."},{"id":"work-nocturne-assets-29","type":"image","src":"media/roughnessgenerator.webp","alt":"roughnessgen"},{"id":"work-nocturne-assets-30","type":"heading","level":2,"text":"World creation"},{"id":"work-nocturne-assets-31","type":"text","text":"This project is based on a real life location, therefore i needed to take a real heighmap to generate my landscape. I could not however diretly import any heightmap directly into Unreal, because firstly the resolution was too low and secondly modern heightmaps include noise elements like buildings, railways and modern river courses. To solve these problems I imported the heightmap into Gaea and reshaped the landscape until it could be used in Unreal Engine. I also took this opportunity to slightly adjust the topology to better reflect how the landscape might have appeared 600 years ago."},{"id":"work-nocturne-assets-32","type":"image","src":"media/GaeaHeightmap.webp","alt":"gaealandscape","caption":"Gaea landscape for Unreal Engine"},{"id":"work-nocturne-assets-33","type":"image","src":"media/GaeaBackground.webp","alt":"gaeabackdrop","caption":"Distance Mountain-range to serve as a Backdrop"},{"id":"work-nocturne-assets-34","type":"image","src":"media/GaeaMountain.webp","alt":"gaeamountain","caption":"Mountain backdrop"}],"keyframes":[{"id":"work-nocturne-assets-kf1","label":"Project overview","position":0},{"id":"work-nocturne-assets-kf2","label":"Beauty shots","position":0.026416702172986792},{"id":"work-nocturne-assets-kf3","label":"Wireframe example","position":0.24132935662547933},{"id":"work-nocturne-assets-kf4","label":"Asset zoo","position":0.2907541542394546},{"id":"work-nocturne-assets-kf5","label":"Zbrush sculpts","position":0.3492117596932254},{"id":"work-nocturne-assets-kf6","label":"Texturing process","position":0.4050276949296975},{"id":"work-nocturne-assets-kf7","label":"Texture examples","position":0.6237750319556881},{"id":"work-nocturne-assets-kf8","label":"Substance tools","position":0.8446527481891777},{"id":"work-nocturne-assets-kf9","label":"World creation","position":0.8992756710694504}],"showTimeline":true},"work-nocturne-foliage":{"id":"work-nocturne-foliage","title":"Nocturne - Ivy Foliage Breakdown (2026)","path":"/work/nocturne-foliage","kind":"blocks","visible":true,"blocks":[{"id":"work-nocturne-foliage-1","type":"projectHeader","title":"Nocturne - Ivy foliage creation","subtitle":"2026","style":"panel","showMeta":true},{"id":"work-nocturne-foliage-2","type":"facts","role":"3D Environment Artist","duration":"","team":"Solo","contribution":"I am solely responsible for this project.","software":["blender","unreal","substancedesigner","adobe"],"highlights":[]},{"id":"work-nocturne-foliage-3","type":"heading","level":2,"text":"Beauty shots"},{"id":"work-nocturne-foliage-4","type":"image","src":"media/IvyRender1.webp","alt":"ivy1"},{"id":"work-nocturne-foliage-5","type":"image","src":"media/IvyRender2.webp","alt":"ivy2"},{"id":"work-nocturne-foliage-6","type":"image","src":"media/IvyRender3.webp","alt":"ivy3"},{"id":"work-nocturne-foliage-7","type":"heading","level":2,"text":"Texture creation"},{"id":"work-nocturne-foliage-8","type":"image","src":"media/IvyTexturemaps.webp","alt":"ivytextureset","caption":"Texture-set - fro left to right: Base Colour; Normal; Roughness; Subsurface Scattering"},{"id":"work-nocturne-foliage-9","type":"divider"},{"id":"work-nocturne-foliage-10","type":"text","text":"After gathering some sample leaves from a nearby forest, I photographed them with and without a lightplate to get my Base colour and Subsurface scattering map."},{"id":"work-nocturne-foliage-11","type":"image","src":"media/Ivyphotography1.webp","alt":"photography"},{"id":"work-nocturne-foliage-12","type":"text","text":"I then arranged the individual leaves in photoshop to get albedo, subsurface scattering and heightmap textures that can later be used in Substance Designer to create the texture-set."}],"keyframes":[{"id":"work-nocturne-foliage-kf1","label":"Project overview","position":0},{"id":"work-nocturne-foliage-kf2","label":"Beauty shots","position":0.06522313176656984},{"id":"work-nocturne-foliage-kf3","label":"Texture creation","position":0.5854238183258516}],"showTimeline":true},"work-basalt":{"id":"work-basalt","title":"Procedural Basalt Texture (2025)","path":"/work/basalt","kind":"blocks","visible":true,"blocks":[{"id":"work-basalt-1","type":"projectHeader","title":"Procedural Basalt Texture","subtitle":"2025","style":"panel","showMeta":true},{"id":"work-basalt-2","type":"facts","role":"3D Environment Artist","duration":"","team":"Solo","contribution":"I am solely responsible for this entire project.","software":["substancedesigner"],"highlights":[]},{"id":"work-basalt-3","type":"text","text":"Since I have been having so much fun with Substance Designer, I wanted to create a procedural material that would further expand my knowledge in different areas of the program, and that it did."},{"id":"work-basalt-4","type":"image","src":"media/b7f329bc1fcd573afa349368fd75d29b71fe5fa7.webp","alt":"Basalt texture renders"},{"id":"work-basalt-5","type":"image","src":"media/fbb3d717a6e667a37fb050d583ac08c7e686101c.webp","alt":"Basalt texture close-up"},{"id":"work-basalt-6","type":"image","src":"media/22d5e361de9fe8ba4d8346c115192ea67c30e015.webp","alt":"Texture maps overview","caption":"An overview of the different texture maps. (From left to right: Base Colour; Normal; Displacement; Ambient Occlusion; Roughness)"},{"id":"work-basalt-7","type":"image","src":"media/f086edf654b8f1c9b105c793dead50f370e87322.webp","alt":"Substance Designer graph","caption":"The substance graph is split into multiple sections: The basic heightmap and detail blending at the bottom, the smaller details in the top-left and the albedo in the top-right."},{"id":"work-basalt-8","type":"image","src":"media/83ae5c4c54a696eff7dda5eb2d488d5d8b171204.webp","alt":"Texture variations","caption":"Here is an overview of different variations of the texture. There are tweakable dirt, moss and water levels."}],"keyframes":[{"id":"work-basalt-kf1","label":"My Contribution","position":0.0004725897920604915},{"id":"work-basalt-kf2","label":"Software Used","position":0.051490514905149054},{"id":"work-basalt-kf3","label":"Project Images","position":0.27504725897920607},{"id":"work-basalt-kf4","label":"Texture maps","position":0.5739872068230277},{"id":"work-basalt-kf5","label":"Substance Graph","position":0.8166351606805293}],"showTimeline":true},"work-castle":{"id":"work-castle","title":"Castle Demo (2025)","path":"/work/castle","kind":"blocks","visible":true,"blocks":[{"id":"work-castle-1","type":"projectHeader","title":"Castle Demo","subtitle":"2025","style":"panel","showMeta":true},{"id":"work-castle-2","type":"facts","role":"3D Environment Artist","duration":"","team":"Solo","contribution":"I am solely responsible for this entire project. Asset pack \"Lordenfel: Castles & Dungeons RPG pack\" for the art and \"Ultra Dynamic Sky\" for the lighting and weather system.","software":["unreal"],"highlights":[]},{"id":"work-castle-3","type":"text","text":"I started this project for two reasons:"},{"id":"work-castle-4","type":"list","columns":1,"items":["to expand my knowledge in creating levels in video games","to have an initial testable prototype for my bachelor thesis"]},{"id":"work-castle-5","type":"text","text":"As reference I looked at castles and medieval structures from multiple video games such as the Witcher series, Kingdom Come Deliverance and Baldur's Gate 3."},{"id":"work-castle-6","type":"video","url":"https://www.youtube.com/embed/7liBcf7ggf0","title":"CastleDemo - Highlights"},{"id":"work-castle-7","type":"button","label":"Playable Demo","url":"https://catbrain-studios.itch.io/castle-demo","align":"center","icon":"media/acdfdb7451854b669b75f39118cfde55cf07ae06.png"},{"id":"work-castle-8","type":"text","text":"This castle, once a great and mighty structure, has since fallen into ruins. Only a peaceful town resides next to it now. This peace however was broken the day a group of bandits invaded the town and took the ruined castle as their own. Now the town lives under a constant oppression having to supply the bandits with food and goods.\n\nIt is now the players mission to take back the villagers freedom and drive out the raiders."},{"id":"work-castle-9","type":"image","src":"media/09991349357f5173b8111f2b08d8e8b65d0d9bc9.webp","alt":"Castle layout sketch","caption":"After having a rough landscape shape and castle location I sketched out the layout of the castle walls, gates and buildings. I kept in mind how it could have been built over a longer period of time and how the bandit takeover would have affected the layout of pathways and building restorations."},{"id":"work-castle-10","type":"image","src":"media/91ba95a7356861c9f866258b829dbd0ebf8b7149.webp","alt":"Castle blockout and landscape","caption":"While sketching the castle layout, I also started creating a blockout atop a landscape to get a general feel of scale and layout. This led to some landscape adjustments to accommodate height based sections."},{"id":"work-castle-11","type":"image","src":"media/1202bb7db789c03196c1facc8818ac8a1de43605.webp","alt":"Final castle render"},{"id":"work-castle-12","type":"text","text":"In the second to last detail level I painted the foliage inside the castle walls and added props such as barrels, chests, ladders and more finer detail items. This was also followed by some general touch ups."},{"id":"work-castle-13","type":"heading","level":2,"text":"Final in game screenshots"},{"id":"work-castle-14","type":"image","src":"media/76f66af52941f58594fdb8400b36a37c404fdcfe.webp","alt":"Castle winter scene"},{"id":"work-castle-15","type":"image","src":"media/9792fee9c53e0eee48c9e79c7f3215cee75102a1.webp","alt":"Castle courtyard"},{"id":"work-castle-16","type":"image","src":"media/38693d3697c9b39ac2614bf346dc1187a1a83a82.webp","alt":"Castle ruins daytime"},{"id":"work-castle-17","type":"image","src":"media/7ee46e1a6ec1e41142b2feeb5fcfa56c19d4dddc.webp","alt":"Castle tower winter"}],"keyframes":[{"id":"work-castle-kf1","label":"Project Overview","position":0},{"id":"work-castle-kf2","label":"Project explanation","position":0.11651131824234354},{"id":"work-castle-kf3","label":"Highlight video","position":0.1991869918699187},{"id":"work-castle-kf4","label":"Playable demo link","position":0.3415977961432507},{"id":"work-castle-kf5","label":"Final game screenshots","position":0.6395663956639567}],"showTimeline":true},"work-sword":{"id":"work-sword","title":"Sword Model (2025)","path":"/work/sword","kind":"blocks","visible":true,"blocks":[{"id":"work-sword-1","type":"projectHeader","title":"Sword Model","subtitle":"2025","style":"panel","showMeta":true},{"id":"work-sword-2","type":"facts","role":"3D Environment Artist","duration":"","team":"Solo","contribution":"I am solely responsible for this entire project.","software":["blender","substancepainter"],"highlights":[]},{"id":"work-sword-3","type":"text","text":"This model is my take on a more historically accurate looking sword.\n\nIt is modeled after a set of real-world references with some creative freedom in the ornamentals and materials.\n\nModeling, sculpting and retopology done in Blender.\n\nTexture baking and texturing done in Substance 3D Painter."},{"id":"work-sword-4","type":"video","url":"https://www.youtube.com/embed/eE1qbCKsdi8","title":"Blender - Ornate Sword"},{"id":"work-sword-5","type":"image","src":"media/a52f3ccbd32563bc65a1d98d6a28f22fa7f7ca27.webp","alt":"Ornate sword - detailed close-up of the crossguard"},{"id":"work-sword-6","type":"image","src":"media/69acd79731a1ed5f93db82d571e0dc2857f15558.webp","alt":"Sword wireframe showing topology"},{"id":"work-sword-7","type":"text","text":"This is not a game ready model, therefore I did not optimize the triangle count. If I would use it in a game I would reduce detail especially in the handle part."},{"id":"work-sword-8","type":"image","src":"media/630a0e871f8a407befd2f4862e51fd1d4cf5be5b.webp","alt":"Full ornate sword render"}],"keyframes":[{"id":"work-sword-kf1","label":"Project Overview","position":0},{"id":"work-sword-kf2","label":"Render video","position":0.11738578680203046},{"id":"work-sword-kf3","label":"Sword render","position":0.32423857868020306},{"id":"work-sword-kf4","label":"Wireframe view","position":0.6173857868020305}],"showTimeline":true},"work-journalist":{"id":"work-journalist","title":"Journalist 3D Character (2024)","path":"/work/journalist","kind":"blocks","visible":true,"blocks":[{"id":"work-journalist-1","type":"projectHeader","title":"Journalist 3D Character","subtitle":"2024","style":"panel","showMeta":true},{"id":"work-journalist-2","type":"facts","role":"3D Environment Artist","duration":"","team":"Solo","contribution":"I am solely responsible for this entire project.","software":["blender","unreal"],"highlights":[]},{"id":"work-journalist-3","type":"text","text":"This character is done by me from scratch to enhance my skills in 3D sculpting, retopology, texturing and creating hair cards."},{"id":"work-journalist-4","type":"image","src":"media/b8b009ca639da96613a572aec6ac38944f640596.webp","alt":"Journalist character final render"},{"id":"work-journalist-5","type":"text","text":"The character is inspired by my fascination with 20th century journalism and war reporting."},{"id":"work-journalist-6","type":"image","src":"media/285a6a09bccc2c1caea092e3488bdff41738cf6d.webp","alt":"Character turnaround showing textures"},{"id":"work-journalist-7","type":"text","text":"I used photo references and anatomy guides throughout the sculpting process. The clothing was simulated using Blender's cloth physics."},{"id":"work-journalist-8","type":"image","src":"media/f3d752831be35fb594c496e20742006cb5cf8430.webp","alt":"Character retopology wireframe"},{"id":"work-journalist-9","type":"text","text":"This is the first time I created and placed hair-cards. The whole process was done in blender. Later I recoloured the hairs brown in UE5."},{"id":"work-journalist-10","type":"image","src":"media/b044bb44432dd78d677554a8abd4bf330adc64a2.webp","alt":"Hair card examples"},{"id":"work-journalist-11","type":"text","text":"The final renders were done in Unreal Engine 5 using Lumen for realistic global illumination and ray-traced reflections."}],"keyframes":[{"id":"work-journalist-kf1","label":"Project Overview","position":0},{"id":"work-journalist-kf2","label":"Character Render","position":0.13181367690782952},{"id":"work-journalist-kf3","label":"Character turnaround","position":0.3904856293359762},{"id":"work-journalist-kf4","label":"Model breakdown","position":0.75}],"showTimeline":true},"work-make-me-laugh":{"id":"work-make-me-laugh","title":"Game Project - Make Me Laugh (2024)","path":"/work/make-me-laugh","kind":"blocks","visible":true,"blocks":[{"id":"work-make-me-laugh-1","type":"projectHeader","title":"Game Project - Make Me Laugh","subtitle":"2024","style":"panel","showMeta":true},{"id":"work-make-me-laugh-2","type":"facts","role":"3D Environment Artist","duration":"","team":"","contribution":"Everything in Unreal Engine 5 (blueprint programming, level design, environment art, mechanics) and 3D modelling the character and some props.","software":["blender","unreal","substancedesigner"],"highlights":[]},{"id":"work-make-me-laugh-3","type":"text","text":"This game is a university project created in one month.\n\nThe game is a roguelite prototype set in the middle ages. You play the court jester of a mad king. Every day, he demands, that you make him laugh, and every day he makes even crazier demands than the day before. This continues until you disobey his orders. You are promptly thrown into the castle's dungeon, where you are left to rot for eternity.\n\nFrom this dungeon, you now try to fight your way through the castle to the throne room, where you must defeat the mad king."},{"id":"work-make-me-laugh-4","type":"image","src":"media/d3a4fec14052378956b83765a73bf940029c73cc.webp","alt":"Make Me Laugh game logo"},{"id":"work-make-me-laugh-5","type":"button","label":"Playable Demo","url":"https://catbrain-studios.itch.io/make-me-laugh","align":"center","icon":"media/acdfdb7451854b669b75f39118cfde55cf07ae06.png"},{"id":"work-make-me-laugh-6","type":"image","src":"media/43f15cdd69ccb6636ad4e2dd5e7a3804efc51342.webp","alt":"Jester character model"},{"id":"work-make-me-laugh-7","type":"text","text":"The character in the image above is the main protagonist, the jester. I 3D modeled and textured him in Blender. As the whole game is in a more stylized look, I painted the jester by hand."},{"id":"work-make-me-laugh-8","type":"image","src":"media/f52249a002d4dc9c19e50ed86cd9463b63d74532.webp","alt":"Game level design"},{"id":"work-make-me-laugh-9","type":"image","src":"media/5d762bc41c53d0836597d9ff7b00ca120ae1605f.webp","alt":"Castle level screenshots"},{"id":"work-make-me-laugh-10","type":"text","text":"The game has a top down perspective with a unique level design theme of constantly going upwards. This was chosen to portray the jester fighting his way up through the different levels until he reaches the king."}],"keyframes":[{"id":"work-make-me-laugh-kf1","label":"Project Overview","position":0},{"id":"work-make-me-laugh-kf2","label":"Playable demo link","position":0.23277265328269126},{"id":"work-make-me-laugh-kf3","label":"Character render","position":0.37330623306233063},{"id":"work-make-me-laugh-kf4","label":"Character turnaround","position":0.711340206185567},{"id":"work-make-me-laugh-kf5","label":"In-game screenshot","position":0.9214092140921409}],"showTimeline":true},"work-echoes":{"id":"work-echoes","title":"Game Project - Echoes of the Abyss (2024)","path":"/work/echoes","kind":"blocks","visible":true,"blocks":[{"id":"work-echoes-1","type":"projectHeader","title":"Game Project - Echoes of the Abyss","subtitle":"2024","style":"panel","showMeta":true},{"id":"work-echoes-2","type":"facts","role":"3D Environment Artist","duration":"","team":"","contribution":"3D modeling and environment art","software":["unity","blender"],"highlights":[]},{"id":"work-echoes-3","type":"text","text":"This is a game created in two days at a game jam at our university."},{"id":"work-echoes-4","type":"image","src":"media/9f5bde32e824b028b47ee5ff170e3d5908ca8739.webp","alt":"Echoes of the Abyss logo"},{"id":"work-echoes-5","type":"button","label":"Playable Demo","url":"https://ninobrugger.itch.io/echoesoftheabyss","align":"center","icon":"media/acdfdb7451854b669b75f39118cfde55cf07ae06.png"},{"id":"work-echoes-6","type":"image","src":"media/090ec46920f159a3a71b8f4b22a685866f5a8607.webp","alt":"Echoes of the Abyss game screenshot"},{"id":"work-echoes-7","type":"image","src":"media/7d543d2f12b20a35b7c4df46e99f915532559feb.webp","alt":"Low-poly rubble assets","caption":"Low-poly rubble assets"},{"id":"work-echoes-8","type":"image","src":"media/246f54086162c6ef5baea80d5f72db70f74a8c98.webp","alt":"Small prop assets","caption":"Small prop assets"},{"id":"work-echoes-9","type":"image","src":"media/3f76e506249d15833d938dd6155d78cf9c25898f.webp","alt":"Architecture assets","caption":"Architecture assets"},{"id":"work-echoes-10","type":"text","text":"This assets pack is modular, so that we could create different shaped buildings and objects from a more limited amount of assets to save on time and game size."}],"keyframes":[{"id":"work-echoes-kf1","label":"Project Overview","position":0},{"id":"work-echoes-kf2","label":"Playable demo link","position":0.0703905540417802},{"id":"work-echoes-kf3","label":"In-game screenshot","position":0.3133514986376022},{"id":"work-echoes-kf4","label":"Asset zoo","position":0.6471389645776566}],"showTimeline":true},"work-scavenger":{"id":"work-scavenger","title":"Scavenger Simulation (2023)","path":"/work/scavenger","kind":"blocks","visible":true,"blocks":[{"id":"work-scavenger-1","type":"projectHeader","title":"Scavenger Simulation","subtitle":"2023","style":"panel","showMeta":true},{"id":"work-scavenger-2","type":"facts","role":"3D Environment Artist","duration":"","team":"Solo","contribution":"I am solely responsible for this entire project.","software":["blender","flstudio"],"highlights":[]},{"id":"work-scavenger-3","type":"text","text":"This a simulation project created in Blender, recreating a scavenger that flies around in circles and collects \"food\" from a \"corpse\"."},{"id":"work-scavenger-4","type":"image","src":"media/6be60d8816d612d2c379538edbef556b2a7a7e7f.webp","alt":"Scavenger machine 3D model"},{"id":"work-scavenger-5","type":"text","text":"To make the visuals audio reactive, I added visual indicators at the bottom of the machine. They trigger for different instruments in the song."},{"id":"work-scavenger-6","type":"video","url":"https://www.youtube.com/embed/BWks3XxxA9Q","title":"Flying scavenger simulation"}],"keyframes":[{"id":"work-scavenger-kf1","label":"Project overview","position":0},{"id":"work-scavenger-kf2","label":"Render image","position":0.32614213197969544},{"id":"work-scavenger-kf3","label":"Youtube Video","position":0.9119241192411924}],"showTimeline":true},"work-sagerbrucke":{"id":"work-sagerbrucke","title":"Environment Art - Sägerbrücke (2023)","path":"/work/sagerbrucke","kind":"blocks","visible":true,"blocks":[{"id":"work-sagerbrucke-1","type":"projectHeader","title":"Environment Art Project - Sägerbrücke","subtitle":"2023","style":"panel","showMeta":true},{"id":"work-sagerbrucke-2","type":"facts","role":"3D Environment Artist","duration":"","team":"Solo","contribution":"I did this project alone. I modeled most assets excluding the foliage, rocks, as well as the streetlamps and benches in the past version.","software":["blender","unreal"],"highlights":[]},{"id":"work-sagerbrucke-3","type":"text","text":"This is the final project from my first semester. My goal was to show a specific place in the past, present and in a potential future to raise awareness on how the world could change through time due to events like climate change.\n\nThe location replicates and is focused on a bridge called the \"Sägerbrücke\" next to our university."},{"id":"work-sagerbrucke-4","type":"heading","text":"The Future","level":2},{"id":"work-sagerbrucke-5","type":"image","src":"media/a43acdf7fdb208bdccd45967a25227d760ce2e75.webp","alt":"Sägerbrücke - Future version showing destroyed and overgrown world"},{"id":"work-sagerbrucke-6","type":"text","text":"The future shows a destroyed and overgrown world. It is my interpretation on how critical events can change our world."},{"id":"work-sagerbrucke-7","type":"video","url":"https://www.youtube.com/embed/xAzn15Fu_RU","title":"GP2 - Project Sägerbrücke - Future"},{"id":"work-sagerbrucke-8","type":"heading","text":"The Present","level":2},{"id":"work-sagerbrucke-9","type":"image","src":"media/b57a84a03c3821b2bcb58c4b81f56c085f402919.webp","alt":"Sägerbrücke - Present version"},{"id":"work-sagerbrucke-10","type":"text","text":"This image shows the current version of the place."},{"id":"work-sagerbrucke-11","type":"video","url":"https://www.youtube.com/embed/MBkJncOELdw","title":"GP2 - Project Sägerbrücke - Present"},{"id":"work-sagerbrucke-12","type":"heading","text":"The Past","level":2},{"id":"work-sagerbrucke-13","type":"image","src":"media/97f155790ea310270e8154251fb8bfa962259603.webp","alt":"Sägerbrücke - Past version with vintage streetcar"},{"id":"work-sagerbrucke-14","type":"text","text":"This image shows the past version of the place."},{"id":"work-sagerbrucke-15","type":"video","url":"https://www.youtube.com/embed/HbHhMwk5T-A","title":"GP2 - Project Sägerbrücke - Past"}],"keyframes":[{"id":"work-sagerbrucke-kf1","label":"Project Overview","position":0},{"id":"work-sagerbrucke-kf2","label":"Future renders","position":0.1430321592649311},{"id":"work-sagerbrucke-kf3","label":"Present renders","position":0.5004594180704441},{"id":"work-sagerbrucke-kf4","label":"Past Renders","position":0.8569678407350689}],"showTimeline":true},"work-galaxy":{"id":"work-galaxy","title":"Galaxy in a Jar (2023)","path":"/work/galaxy","kind":"blocks","visible":true,"blocks":[{"id":"work-galaxy-1","type":"projectHeader","title":"Galaxy in a Jar","subtitle":"2023","style":"panel","showMeta":true},{"id":"work-galaxy-2","type":"facts","role":"3D Environment Artist","duration":"","team":"Solo","contribution":"I am solely responsible for this entire project.","software":["blender"],"highlights":[]},{"id":"work-galaxy-3","type":"text","text":"The original challenge we were given was a stylized or low-poly rocket. To give this project more depth I wanted to add some storytelling to the scene.\n\nThe galaxy in the jar is a blender shader using different noise volumes and light sources. The background and foreground assets are a mix of 3D modeling and sculpting."},{"id":"work-galaxy-4","type":"image","src":"media/9089f02113c118e3729421f1f848d8aaaa1b03ff.webp","alt":"Galaxy in a Jar - full scene render"},{"id":"work-galaxy-5","type":"image","src":"media/880b322943192072f60308bbe5599eb2d3e553a7.webp","alt":"Galaxy in a Jar - close-up detail"}],"keyframes":[{"id":"work-galaxy-kf1","label":"Project Overview","position":0},{"id":"work-galaxy-kf2","label":"Renders","position":0.5}],"showTimeline":true},"blog-overview":{"id":"blog-overview","title":"Blog Overview","path":"/blog","kind":"blog","visible":true,"blocks":[{"id":"b-mv7vibbl0","type":"pageHeader","title":"Blog","subtitle":"Thoughts, tutorials, and updates on 3D art, game development, and more.","style":"panel"},{"id":"blog-3","type":"postGrid","perPage":6,"showSearch":true}],"keyframes":[],"showTimeline":true},"photography-board":{"id":"photography-board","title":"Photography Board","path":"/photography","kind":"photoBoard","visible":true,"blocks":[],"keyframes":[],"showTimeline":false},"about-bio":{"id":"about-bio","title":"Get to know me","path":"/about/bio","kind":"blocks","visible":true,"blocks":[{"id":"b-mv7p688n0","type":"currently","title":"Currently","updated":"October 2026","items":[{"id":"c-mv7p689p1","label":"Working on","value":"Nocturne - Ivy foliage creation","icon":"pm:cube","url":"/work/nocturne-foliage"},{"id":"c-mv7p689p2","label":"Learning","value":"Procedural materials in Substance Designer","icon":"lucide:lightbulb"},{"id":"c-mv7p689p3","label":"Playing","value":"Baldur's Gate 3","icon":"lucide:gamepad"},{"id":"c-mv7p689p4","label":"Open to","value":"Environment art roles and collaborations","icon":"lucide:compass"}],"portrait":"media/31984981c1133bee7f7578596295857612cc7dd7.png","intro":"Hello!\n\nI am a 3D Environment Artist passionate about creating immersive and realistic real-time scenes.\n\nI craft props, foliage, materials and more to bring environments to life and support the project's creative vision.\n\nFurthermore, I am always interested in new projects and collaborations - do not hesitate to get in touch!"},{"id":"b-mv7sjhik0","type":"cvList","title":"Experience","hidden":false,"columns":[{"id":"c-mv7sjhik1","title":"Work","entries":[{"id":"e-mv7sjhik2","period":"2024 – today","title":"Your job title","place":"Studio / freelance","text":"One line about what you did there."}]},{"id":"c-mv7sjhik3","title":"Learning","entries":[{"id":"e-mv7sjhik4","period":"2021 – 2025","title":"Your degree","place":"University","text":"Focus, thesis or highlights."}]}]},{"id":"b-mv7p689p5","type":"journey","title":"My journey","entries":[{"id":"j-mv7p689p6","date":"2023","title":"Scavenger Simulation","text":"This a simulation project created in Blender, recreating a scavenger that flies around in circles and collects \"food\" from a \"corpse\".","image":"media/6be60d8816d612d2c379538edbef556b2a7a7e7f.webp","kind":"project","pageId":"work-scavenger"},{"id":"j-mv7p689p7","date":"2023","title":"Environment Art Project - Sägerbrücke","text":"This is the final project from my first semester.","image":"media/a43acdf7fdb208bdccd45967a25227d760ce2e75.webp","kind":"project","pageId":"work-sagerbrucke"},{"id":"j-mv7p689p8","date":"2023","title":"Galaxy in a Jar","text":"The original challenge we were given was a stylized or low-poly rocket.","image":"media/9089f02113c118e3729421f1f848d8aaaa1b03ff.webp","kind":"project","pageId":"work-galaxy"},{"id":"j-mv7p689p9","date":"2024","title":"Journalist 3D Character","text":"This character is done by me from scratch to enhance my skills in 3D sculpting, retopology, texturing and creating hair cards.","image":"media/b8b009ca639da96613a572aec6ac38944f640596.webp","kind":"project","pageId":"work-journalist"},{"id":"j-mv7p689pa","date":"2024","title":"Game Project - Make Me Laugh","text":"This game is a university project created in one month.","image":"media/d3a4fec14052378956b83765a73bf940029c73cc.webp","kind":"project","pageId":"work-make-me-laugh"},{"id":"j-mv7p689pb","date":"2024","title":"Game Project - Echoes of the Abyss","text":"This is a game created in two days at a game jam at our university.","image":"media/9f5bde32e824b028b47ee5ff170e3d5908ca8739.webp","kind":"project","pageId":"work-echoes"},{"id":"j-mv7p689pc","date":"2025","title":"Procedural Basalt Texture","text":"Since I have been having so much fun with Substance Designer, I wanted to create a procedural material that would further expand my knowledge in different areas of the program, and that it did.","image":"media/b7f329bc1fcd573afa349368fd75d29b71fe5fa7.webp","kind":"project","pageId":"work-basalt"},{"id":"j-mv7p689pd","date":"2025","title":"Castle Demo","text":"I started this project for two reasons:","image":"media/09991349357f5173b8111f2b08d8e8b65d0d9bc9.webp","kind":"project","pageId":"work-castle"},{"id":"j-mv7p689pe","date":"2025","title":"Sword Model","text":"This model is my take on a more historically accurate looking sword.","image":"media/a52f3ccbd32563bc65a1d98d6a28f22fa7f7ca27.webp","kind":"project","pageId":"work-sword"},{"id":"j-mv7p689pf","date":"2026","title":"Nocturne - Project overview","text":"Here is an overview of some sculpts i did for this project.","image":"media/ValueShot.webp","kind":"project","pageId":"work-nocturne-overview"},{"id":"j-mv7p689pg","date":"2026","title":"Nocturne - Asset breakdown","text":"Here is an overview of some sculpts i did for this project.","image":"media/Showcase1.webp","kind":"project","pageId":"work-nocturne-assets"},{"id":"j-mv7p689ph","date":"2026","title":"Nocturne - Ivy foliage creation","text":"After gathering some sample leaves from a nearby forest, I photographed them with and without a lightplate to get my Base colour and Subsurface scattering map.","image":"media/IvyRender1.webp","kind":"project","pageId":"work-nocturne-foliage"}],"autoplay":false,"box":{"breakout":"full"}}],"keyframes":[{"id":"about-bio-kf1","label":"Introduction","position":0},{"id":"about-bio-kf2","label":"Background","position":0.5}],"showTimeline":true},"about-skills":{"id":"about-skills","title":"Skills","path":"/about/skills","kind":"blocks","visible":true,"blocks":[{"id":"b-mv7p689pi","type":"characterSheet","name":"Martin Fleisch","className":"3D Environment Artist","level":4,"levelLabel":"Years in 3D","portrait":"media/31984981c1133bee7f7578596295857612cc7dd7.png","perks":[{"id":"p-mv7p689qp","title":"3D Modeling","text":"Environment design and modeling · 3D sculpting · Retopology"},{"id":"p-mv7p689rx","title":"Game Development","text":"Video game modding · RedEngine · Divinity Engine · Hammer Editor"},{"id":"p-mv7p689qq","title":"Texturing","text":"UV Mapping · Texture painting · Creating textures"},{"id":"p-mv7p689qr","title":"Other","text":"Level design · Rendering · Shaders"},{"id":"p-mv7p689rw","title":"Photography","text":"Landscape photography · Animal photography · City photography"},{"id":"p-mv7p689ry","title":"Animation","text":"Source Filmmaker"}],"inventory":["blender","zbrush","substancepainter","substancedesigner","unreal","unity","adobe","office","davinci","affinity","gaea"],"languages":[{"id":"l-mv7p689qs","label":"German","value":10},{"id":"l-mv7p689rt","label":"English","value":8},{"id":"l-mv7p689ru","label":"Spanish","value":3},{"id":"l-mv7p689rv","label":"French","value":3}],"quests":["Photography","Video Games","Drawing","Climbing"],"skills":[{"id":"s-mv7p689pj","label":"Environment art","tier":"core"},{"id":"s-mv7p689pk","label":"Modeling","tier":"core"},{"id":"s-mv7p689pl","label":"Texturing","tier":"core"},{"id":"s-mv7p689pm","label":"Sculpting","tier":"strong"},{"id":"s-mv7p689pn","label":"Level design","tier":"strong"},{"id":"s-mv7p689po","label":"Lighting & rendering","tier":"strong"}],"fill":true,"animate":false}],"keyframes":[{"id":"about-skills-kf1","label":"Skills Overview","position":0},{"id":"about-skills-kf2","label":"Expertise","position":0.5}],"showTimeline":true},"contact-form":{"id":"contact-form","title":"Get in Touch","path":"/contact","kind":"blocks","visible":true,"blocks":[{"id":"b-mv7vibbl1","type":"pageHeader","title":"Get in Touch","subtitle":"Interested in working together? Let's discuss your project.","style":"panel"},{"id":"contact-form-3","type":"contactForm","email":"","title":"Send a Message","projectTypes":["Character Design","Product Visualization","Architectural Rendering","Animation","Other"],"submitLabel":"Send Message","delivery":"cloudflare","successText":"Thanks! Your message was sent — I will get back to you soon.","budgets":[],"showDirect":false,"responseTime":"I usually reply within two days."},{"id":"contact-form-4","type":"heading","text":"Availability","level":2},{"id":"contact-form-5","type":"text","text":"I'm currently available for freelance projects and commissions. Whether you need a single asset or a complete project, I'm happy to discuss your requirements and provide a quote. My typical turnaround time varies depending on project complexity, but I always strive to meet deadlines while maintaining the highest quality standards."}],"keyframes":[{"id":"contact-form-kf1","label":"Contact Information","position":0}],"showTimeline":true},"legal-notice":{"id":"legal-notice","title":"Legal Notice","path":"/legal","kind":"blocks","visible":true,"blocks":[{"id":"b-mv7vibbl2","type":"pageHeader","title":"Legal Notice","subtitle":"","style":"panel"},{"id":"legal-notice-2","type":"heading","text":"Information according to §25 MedienG","level":2},{"id":"legal-notice-3","type":"text","text":"Contact:\nMartin Fleisch\nfleisch.martin@outlook.com\n6820 Frastanz"},{"id":"legal-notice-4","type":"heading","text":"Disclaimer","level":2},{"id":"legal-notice-5","type":"heading","text":"Liability for Content","level":3},{"id":"legal-notice-6","type":"text","text":"This portfolio website showcases my personal creative work, including 3D art, photography, and design projects. All content has been created and compiled with the greatest care and to the best of my knowledge.\n\nThe information provided on this website is for general informational purposes. While I strive to keep the information accurate and up-to-date, I make no warranties or representations about the completeness, accuracy, reliability, or availability of any content on this site."},{"id":"legal-notice-7","type":"heading","text":"Liability for Links","level":3},{"id":"legal-notice-8","type":"text","text":"This website contains links to my professional profiles and portfolios on external platforms (Instagram, LinkedIn, ArtStation, Itch.io). These links lead to my own content hosted on third-party services. While I maintain control over my profiles on these platforms, I am not responsible for the availability, functionality, or terms of service of these external platforms."},{"id":"legal-notice-9","type":"heading","text":"Copyright","level":3},{"id":"legal-notice-10","type":"text","text":"The content and works created by the site operator on these pages are subject to Austrian and European copyright law. The reproduction, editing, distribution and any kind of exploitation outside the limits of copyright require the written consent of the respective author or creator."},{"id":"legal-notice-11","type":"heading","text":"Privacy Policy","level":2},{"id":"legal-notice-12","type":"text","text":"This website uses Google Analytics to analyze visitor behavior and improve user experience. No personally identifiable information is collected beyond standard analytics data. You can refuse the use of cookies by selecting the appropriate settings in your browser.\n\nWhen you contact me via email, your email address and the contents of your message will be stored for the purpose of processing your inquiry and for possible follow-up questions. I will not share this data without your consent. Your data will be deleted once your inquiry has been fully processed and you have not objected to the deletion."},{"id":"legal-notice-13","type":"heading","text":"Image Credits","level":2},{"id":"legal-notice-14","type":"text","text":"All 3D work, photography, and design displayed on this website are original creations by Martin Fleisch unless otherwise noted. External assets and resources used in projects are credited within the respective project descriptions."},{"id":"legal-notice-15","type":"divider"},{"id":"legal-notice-16","type":"text","text":"Last updated: February 2026"}],"keyframes":[],"showTimeline":false},"page-mv6nudb3e8lu":{"id":"page-mv6nudb3e8lu","title":"New Project (2026)","path":"/work/new-project","kind":"blocks","visible":true,"showTimeline":true,"keyframes":[],"blocks":[{"id":"b-mv6nudb3ou2y","type":"projectHeader","title":"New Project","subtitle":"2026","style":"panel","showMeta":true},{"id":"b-mv6nudb3jg2b","type":"facts","role":"3D Environment Artist","duration":"","team":"Solo","contribution":"I am solely responsible for this entire project.","software":["blender","substancepainter"],"highlights":[]},{"id":"b-mv6nudb3c1tj","type":"text","text":"Describe the project here."},{"id":"b-mv9ms4opjkob","type":"world","title":"Walk through my portfolio","hint":"A small world: every screen is a project.","collections":[],"height":70,"fill":true,"ground":"#6f8a5a","sky":"#9cc3e6"}]},"quick-view":{"id":"quick-view","title":"Quick view (for recruiters)","path":"/quick","kind":"blocks","visible":true,"layout":"clean","keyframes":[],"showTimeline":false,"seo":{"title":"Martin Fleisch · 3D Environment Artist"},"blocks":[{"id":"b-mv702qj10","type":"profile","name":"Martin Fleisch","role":"3D Environment Artist","text":"Martin Fleisch is a 3D Environment Artist and Technical Designer specializing in Blender, Unreal Engine, Unity, and Substance Designer. Explore my portfolio featuring procedural textures, environment art, character modeling, and interactive game development projects.","showStatus":true,"buttons":{"cv":true,"email":true,"contact":"contact-form","photos":"photography-board","about":"about-bio"}},{"id":"b-mv702qj11","type":"projectGrid","title":"Projects","collections":[],"featuredLarge":true,"columns":3,"items":{"work-nocturne-overview":{"image":"media/Courtyard.webp"},"work-castle":{"image":"media/7ee46e1a6ec1e41142b2feeb5fcfa56c19d4dddc.webp"},"work-make-me-laugh":{"image":"media/43f15cdd69ccb6636ad4e2dd5e7a3804efc51342.webp"},"work-echoes":{"image":"media/090ec46920f159a3a71b8f4b22a685866f5a8607.webp"},"work-sagerbrucke":{"crop":{"x":0.5,"y":0.5,"zoom":1.35}}}}]},"page-mv74azdsjcbx":{"id":"page-mv74azdsjcbx","title":"Welcome","path":"/","kind":"blocks","visible":true,"blocks":[{"id":"b-mv74azds9gcd","type":"projectWall","title":"Martin Fleisch","subtitle":"3D Environment Artist","hint":"Hover a project · click to open","collections":[],"drift":true,"speed":14,"dim":0.55,"hoverVideos":true,"filters":false,"yearScrubber":false,"live3d":false,"morph":true,"keyboard":true,"direction":"upLeft","tilt":-10,"pullIn":false,"items":{"work-castle":{"crop":{"x":0.4897959183673469,"y":0.38979591836734695,"zoom":1}}}}],"keyframes":[],"showTimeline":true}},"photoBoard":{"images":[{"id":"img-1","src":"media/4ec3bd85677e6b940cb8848b0380d22f3674d89c.webp","alt":"Architectural stairs with lighting","x":-497,"y":-555,"width":280,"height":420},{"id":"img-2","src":"media/d8d1fb02aadadaeac60c5d320a7f98d45eb32e0d.webp","alt":"Power lines silhouette at sunset","x":-183,"y":-462,"width":300,"height":450},{"id":"img-3","src":"media/87c2cf97d2be9b0a45a5bd66b8f26723e090c81d.webp","alt":"Modern architecture building","x":-184,"y":14,"width":360,"height":260},{"id":"img-4","src":"media/0d4a13c6b85e656cb61f0dbde508f2158ba91c99.webp","alt":"Monkeys in tree branches","x":150,"y":-534,"width":320,"height":240},{"id":"img-5","src":"media/da6a85dde158b621240ac283d72dd2df4126c054.webp","alt":"Tree silhouette with people","x":-500,"y":0,"width":280,"height":210},{"id":"img-6","src":"media/b09a1738e4b718a80ae9c03b4e7b7f8d6095b1f6.webp","alt":"Local bus at station","x":157,"y":-253,"width":320,"height":240},{"id":"img-7","src":"media/4d55b7f5148ed0cd40af5dd819dbd49249e45d84.webp","alt":"City skyline at night","x":-497,"y":227,"width":280,"height":420},{"id":"img-8","src":"media/8f89f7da75173b36fa90e0ecc634742d409e2fb7.webp","alt":"Sunset over the mountains","x":-164,"y":316,"width":380,"height":260},{"id":"img-9","src":"media/d5eaeba279f466e6d6950f7251b8b9da4a243a56.webp","alt":"Beach at sunrise","x":216,"y":14,"width":409,"height":260},{"id":"img-10","src":"media/c3fd30626f0a5c7ef6e6cdc2f08616a6468a88ba.webp","alt":"Urban street at night","x":-819,"y":-435,"width":280,"height":420},{"id":"img-11","src":"media/86bb23e12eca2efc9de514de0836d3708253c5ec.webp","alt":"Building with tree","x":-850,"y":0,"width":320,"height":240},{"id":"img-12","src":"media/a27bdcf5fb6ef09b3d4ab15d7a78fc82fd9db42b.webp","alt":"Cityscape at dusk","x":-918,"y":260,"width":380,"height":260}]},"blog":{"posts":[{"id":"blog-1776031871203","slug":"blogs-coming-soon","title":"Blogs coming soon!","excerpt":"I am currently working on this blog feature :)","publishedAt":"2026-04-12T22:11:11.203Z","coverImage":"media/blog-1776031871203-cover.webp","published":true,"blocks":[{"id":"blog-1776031871203-1","type":"text","text":"There are going to be future blogs soon!"}],"keyframes":[]}]},"shell":{"topBar":{"menus":{"file":true,"edit":true,"render":true,"window":true,"help":true},"links":[],"linksMenuLabel":"Links","status":{"enabled":false,"text":"Open to work","color":"#4caf50"},"cvLabel":"CV","emailButton":true,"quickView":{"enabled":true,"label":"Quick view","role":"3D Environment Artist","pageId":"quick-view"},"achievements":true},"socials":{"enabled":true,"startOpen":true,"showHint":true,"items":[{"id":"instagram","label":"Instagram","url":"https://www.instagram.com/m.art.in_3d","icon":"media/60d6d0578763a7d612ef549da304aab9f938b81d.png"},{"id":"linkedin","label":"LinkedIn","url":"https://www.linkedin.com/in/martin-fleisch-b6978734a","icon":"media/7307c5ca6cbf50d220a7e189825357cb17c16655.png"},{"id":"itch","label":"Itch.io","url":"https://catbrain-studios.itch.io/","icon":"media/acdfdb7451854b669b75f39118cfde55cf07ae06.png"},{"id":"artstation","label":"ArtStation","url":"https://www.artstation.com/martin_fleisch","icon":"media/5256354f8724e5a66fb43b11ea2ec107ba06fd93.png"},{"id":"email","label":"Email","url":"mailto:fleisch.martin@outlook.com","icon":""}]},"nPanel":{"enabled":true,"startOpen":false},"outliner":{"title":"Outliner","showQuickGuide":false},"timeline":{"height":118,"startCollapsed":false},"surfaces":{"topBar":"solid","outliner":"solid","timeline":"solid","nPanel":"solid","socials":"solid","quickBar":"frosted"}},"media":{"media/1024.webp":{"w":1024,"h":1024,"color":"rgb(63,90,95)","variants":[["media/1024-640.webp",640]]},"media/1024_normal.webp":{"w":1920,"h":1920,"color":"rgb(126,135,254)","variants":[["media/1024_normal-640.webp",640],["media/1024_normal-1280.webp",1280]]},"media/Albedo1024.webp":{"w":1024,"h":1024,"color":"rgb(63,90,95)","variants":[["media/Albedo1024-640.webp",640]]},"media/alpha.webp":{"w":512,"h":510,"color":"rgb(255,255,255)"},"media/FireAlpha.webp":{"w":514,"h":509,"color":"rgb(0,0,0)"},"media/Metallic1024.webp":{"w":1024,"h":1024,"color":"rgb(152,152,152)","variants":[["media/Metallic1024-640.webp",640]]},"media/Roughness1024.webp":{"w":1024,"h":1024,"color":"rgb(95,95,95)","variants":[["media/Roughness1024-640.webp",640]]},"media/Courtyard.webp":{"w":1920,"h":1286,"color":"rgb(15,4,6)","variants":[["media/Courtyard-640.webp",640],["media/Courtyard-1280.webp",1280]]},"media/Walkway.webp":{"w":1920,"h":1286,"color":"rgb(213,203,211)","variants":[["media/Walkway-640.webp",640],["media/Walkway-1280.webp",1280]]},"media/Interior1.webp":{"w":1920,"h":1286,"color":"rgb(15,2,1)","variants":[["media/Interior1-640.webp",640],["media/Interior1-1280.webp",1280]]},"media/Interior2.webp":{"w":1920,"h":1286,"color":"rgb(48,32,41)","variants":[["media/Interior2-640.webp",640],["media/Interior2-1280.webp",1280]]},"media/Interior3.webp":{"w":1920,"h":1286,"color":"rgb(20,11,9)","variants":[["media/Interior3-640.webp",640],["media/Interior3-1280.webp",1280]]},"media/ValueShot.webp":{"w":1920,"h":1286,"color":"rgb(8,8,8)","variants":[["media/ValueShot-640.webp",640],["media/ValueShot-1280.webp",1280]]},"media/DetailLighting.webp":{"w":1920,"h":1286,"color":"rgb(16,18,27)","variants":[["media/DetailLighting-640.webp",640],["media/DetailLighting-1280.webp",1280]]},"media/BaseColour.webp":{"w":1920,"h":1286,"color":"rgb(99,74,63)","variants":[["media/BaseColour-640.webp",640],["media/BaseColour-1280.webp",1280]]},"media/ShaderComplexity.webp":{"w":1920,"h":1286,"color":"rgb(41,79,9)","variants":[["media/ShaderComplexity-640.webp",640],["media/ShaderComplexity-1280.webp",1280]]},"media/LightingComplexity.webp":{"w":1920,"h":1286,"color":"rgb(9,11,46)","variants":[["media/LightingComplexity-640.webp",640],["media/LightingComplexity-1280.webp",1280]]},"media/Wireframe.webp":{"w":1920,"h":1286,"color":"rgb(4,57,77)","variants":[["media/Wireframe-640.webp",640],["media/Wireframe-1280.webp",1280]]},"media/NaniteOverdraw.webp":{"w":1920,"h":1286,"color":"rgb(184,51,98)","variants":[["media/NaniteOverdraw-640.webp",640],["media/NaniteOverdraw-1280.webp",1280]]},"media/ZBrushSculpts.webp":{"w":1920,"h":1286,"color":"rgb(49,49,49)","variants":[["media/ZBrushSculpts-640.webp",640],["media/ZBrushSculpts-1280.webp",1280]]},"media/AssetZoo.webp":{"w":1920,"h":1143,"color":"rgb(24,24,26)","variants":[["media/AssetZoo-640.webp",640],["media/AssetZoo-1280.webp",1280]]},"media/GaeaLandscape.webp":{"w":1920,"h":1060,"color":"rgb(86,98,62)","variants":[["media/GaeaLandscape-640.webp",640],["media/GaeaLandscape-1280.webp",1280]]},"media/ReferenceBoardNocturne.webp":{"w":1920,"h":1035,"color":"rgb(206,190,175)","variants":[["media/ReferenceBoardNocturne-640.webp",640],["media/ReferenceBoardNocturne-1280.webp",1280]]},"media/Showcase1.webp":{"w":1920,"h":1286,"color":"rgb(191,122,89)","variants":[["media/Showcase1-640.webp",640],["media/Showcase1-1280.webp",1280]]},"media/Showcase2.webp":{"w":1920,"h":1286,"color":"rgb(22,13,16)","variants":[["media/Showcase2-640.webp",640],["media/Showcase2-1280.webp",1280]]},"media/Showcase3.webp":{"w":1920,"h":1286,"color":"rgb(42,28,31)","variants":[["media/Showcase3-640.webp",640],["media/Showcase3-1280.webp",1280]]},"media/Showcase4.webp":{"w":1920,"h":1286,"color":"rgb(23,5,1)","variants":[["media/Showcase4-640.webp",640],["media/Showcase4-1280.webp",1280]]},"media/AssetWireframe.webp":{"w":1920,"h":1286,"color":"rgb(35,48,53)","variants":[["media/AssetWireframe-640.webp",640],["media/AssetWireframe-1280.webp",1280]]},"media/IvyAssets.webp":{"w":1920,"h":1143,"color":"rgb(23,24,26)","variants":[["media/IvyAssets-640.webp",640],["media/IvyAssets-1280.webp",1280]]},"media/RockAssets.webp":{"w":1920,"h":1143,"color":"rgb(208,182,167)","variants":[["media/RockAssets-640.webp",640],["media/RockAssets-1280.webp",1280]]},"media/WoodenProps.webp":{"w":1920,"h":1143,"color":"rgb(24,24,26)","variants":[["media/WoodenProps-640.webp",640],["media/WoodenProps-1280.webp",1280]]},"media/Bucket.webp":{"w":1920,"h":1077,"color":"rgb(97,97,97)","variants":[["media/Bucket-640.webp",640],["media/Bucket-1280.webp",1280]]},"media/WoodSculpts.webp":{"w":1920,"h":1080,"color":"rgb(112,112,112)","variants":[["media/WoodSculpts-640.webp",640],["media/WoodSculpts-1280.webp",1280]]},"media/Billhook.webp":{"w":1920,"h":1079,"color":"rgb(48,48,48)","variants":[["media/Billhook-640.webp",640],["media/Billhook-1280.webp",1280]]},"media/Candles.webp":{"w":1920,"h":1078,"color":"rgb(97,97,97)","variants":[["media/Candles-640.webp",640],["media/Candles-1280.webp",1280]]},"media/Crate.webp":{"w":1920,"h":1076,"color":"rgb(83,83,83)","variants":[["media/Crate-640.webp",640],["media/Crate-1280.webp",1280]]},"media/StoneSculpts.webp":{"w":1920,"h":1064,"color":"rgb(48,48,48)","variants":[["media/StoneSculpts-640.webp",640],["media/StoneSculpts-1280.webp",1280]]},"media/Table.webp":{"w":1920,"h":1076,"color":"rgb(102,102,102)","variants":[["media/Table-640.webp",640],["media/Table-1280.webp",1280]]},"media/WeaponRack.webp":{"w":1920,"h":1077,"color":"rgb(103,103,103)","variants":[["media/WeaponRack-640.webp",640],["media/WeaponRack-1280.webp",1280]]},"media/Bench.webp":{"w":1920,"h":1077,"color":"rgb(48,48,48)","variants":[["media/Bench-640.webp",640],["media/Bench-1280.webp",1280]]},"media/SubstancePan.webp":{"w":1920,"h":889,"color":"rgb(36,36,36)","variants":[["media/SubstancePan-640.webp",640],["media/SubstancePan-1280.webp",1280]]},"media/PanTexture.webp":{"w":1920,"h":1286,"color":"rgb(85,85,221)","variants":[["media/PanTexture-640.webp",640],["media/PanTexture-1280.webp",1280]]},"media/SubstanceCandle.webp":{"w":1920,"h":900,"color":"rgb(36,36,36)","variants":[["media/SubstanceCandle-640.webp",640],["media/SubstanceCandle-1280.webp",1280]]},"media/CandleTexture.webp":{"w":1920,"h":1286,"color":"rgb(191,150,128)","variants":[["media/CandleTexture-640.webp",640],["media/CandleTexture-1280.webp",1280]]},"media/WoodMaterial.webp":{"w":1920,"h":1286,"color":"rgb(182,99,55)","variants":[["media/WoodMaterial-640.webp",640],["media/WoodMaterial-1280.webp",1280]]},"media/WoodTrim.webp":{"w":1920,"h":1286,"color":"rgb(222,150,104)","variants":[["media/WoodTrim-640.webp",640],["media/WoodTrim-1280.webp",1280]]},"media/WoodShingles.webp":{"w":1920,"h":1286,"color":"rgb(190,198,249)","variants":[["media/WoodShingles-640.webp",640],["media/WoodShingles-1280.webp",1280]]},"media/MtalSubstanceGraph.webp":{"w":1920,"h":953,"color":"rgb(116,20,32)","variants":[["media/MtalSubstanceGraph-640.webp",640],["media/MtalSubstanceGraph-1280.webp",1280]]},"media/roughnessgenerator.webp":{"w":1920,"h":925,"color":"rgb(63,63,63)","variants":[["media/roughnessgenerator-640.webp",640],["media/roughnessgenerator-1280.webp",1280]]},"media/GaeaHeightmap.webp":{"w":1920,"h":1058,"color":"rgb(157,165,175)","variants":[["media/GaeaHeightmap-640.webp",640],["media/GaeaHeightmap-1280.webp",1280]]},"media/GaeaBackground.webp":{"w":1920,"h":1057,"color":"rgb(165,174,183)","variants":[["media/GaeaBackground-640.webp",640],["media/GaeaBackground-1280.webp",1280]]},"media/GaeaMountain.webp":{"w":1920,"h":1055,"color":"rgb(4,4,4)","variants":[["media/GaeaMountain-640.webp",640],["media/GaeaMountain-1280.webp",1280]]},"media/IvyRender1.webp":{"w":1920,"h":1286,"color":"rgb(107,126,107)","variants":[["media/IvyRender1-640.webp",640],["media/IvyRender1-1280.webp",1280]]},"media/IvyRender2.webp":{"w":1920,"h":1286,"color":"rgb(131,90,78)","variants":[["media/IvyRender2-640.webp",640],["media/IvyRender2-1280.webp",1280]]},"media/IvyRender3.webp":{"w":1920,"h":1286,"color":"rgb(148,74,79)","variants":[["media/IvyRender3-640.webp",640],["media/IvyRender3-1280.webp",1280]]},"media/IvyTexturemaps.webp":{"w":1920,"h":1286,"color":"rgb(134,131,196)","variants":[["media/IvyTexturemaps-640.webp",640],["media/IvyTexturemaps-1280.webp",1280]]},"media/Ivyphotography1.webp":{"w":798,"h":1306,"color":"rgb(76,71,67)","variants":[["media/Ivyphotography1-640.webp",391]]},"media/b7f329bc1fcd573afa349368fd75d29b71fe5fa7.webp":{"w":1920,"h":1036,"color":"rgb(25,25,25)","variants":[["media/b7f329bc1fcd573afa349368fd75d29b71fe5fa7-640.webp",640],["media/b7f329bc1fcd573afa349368fd75d29b71fe5fa7-1280.webp",1280]]},"media/fbb3d717a6e667a37fb050d583ac08c7e686101c.webp":{"w":1920,"h":1036,"color":"rgb(93,98,101)","variants":[["media/fbb3d717a6e667a37fb050d583ac08c7e686101c-640.webp",640],["media/fbb3d717a6e667a37fb050d583ac08c7e686101c-1280.webp",1280]]},"media/22d5e361de9fe8ba4d8346c115192ea67c30e015.webp":{"w":1920,"h":1036,"color":"rgb(169,169,169)","variants":[["media/22d5e361de9fe8ba4d8346c115192ea67c30e015-640.webp",640],["media/22d5e361de9fe8ba4d8346c115192ea67c30e015-1280.webp",1280]]},"media/f086edf654b8f1c9b105c793dead50f370e87322.webp":{"w":1920,"h":1036,"color":"rgb(16,28,14)","variants":[["media/f086edf654b8f1c9b105c793dead50f370e87322-640.webp",640],["media/f086edf654b8f1c9b105c793dead50f370e87322-1280.webp",1280]]},"media/83ae5c4c54a696eff7dda5eb2d488d5d8b171204.webp":{"w":1920,"h":1035,"color":"rgb(28,28,29)","variants":[["media/83ae5c4c54a696eff7dda5eb2d488d5d8b171204-640.webp",640],["media/83ae5c4c54a696eff7dda5eb2d488d5d8b171204-1280.webp",1280]]},"media/09991349357f5173b8111f2b08d8e8b65d0d9bc9.webp":{"w":1920,"h":1051,"color":"rgb(137,140,159)","variants":[["media/09991349357f5173b8111f2b08d8e8b65d0d9bc9-640.webp",640],["media/09991349357f5173b8111f2b08d8e8b65d0d9bc9-1280.webp",1280]]},"media/91ba95a7356861c9f866258b829dbd0ebf8b7149.webp":{"w":1920,"h":484,"color":"rgb(146,124,92)","variants":[["media/91ba95a7356861c9f866258b829dbd0ebf8b7149-640.webp",640],["media/91ba95a7356861c9f866258b829dbd0ebf8b7149-1280.webp",1280]]},"media/1202bb7db789c03196c1facc8818ac8a1de43605.webp":{"w":1920,"h":964,"color":"rgb(24,25,21)","variants":[["media/1202bb7db789c03196c1facc8818ac8a1de43605-640.webp",640],["media/1202bb7db789c03196c1facc8818ac8a1de43605-1280.webp",1280]]},"media/76f66af52941f58594fdb8400b36a37c404fdcfe.webp":{"w":1920,"h":1081,"color":"rgb(39,39,41)","variants":[["media/76f66af52941f58594fdb8400b36a37c404fdcfe-640.webp",640],["media/76f66af52941f58594fdb8400b36a37c404fdcfe-1280.webp",1280]]},"media/9792fee9c53e0eee48c9e79c7f3215cee75102a1.webp":{"w":1920,"h":1080,"color":"rgb(78,74,71)","variants":[["media/9792fee9c53e0eee48c9e79c7f3215cee75102a1-640.webp",640],["media/9792fee9c53e0eee48c9e79c7f3215cee75102a1-1280.webp",1280]]},"media/38693d3697c9b39ac2614bf346dc1187a1a83a82.webp":{"w":1920,"h":1081,"color":"rgb(42,29,20)","variants":[["media/38693d3697c9b39ac2614bf346dc1187a1a83a82-640.webp",640],["media/38693d3697c9b39ac2614bf346dc1187a1a83a82-1280.webp",1280]]},"media/7ee46e1a6ec1e41142b2feeb5fcfa56c19d4dddc.webp":{"w":1920,"h":1080,"color":"rgb(92,93,111)","variants":[["media/7ee46e1a6ec1e41142b2feeb5fcfa56c19d4dddc-640.webp",640],["media/7ee46e1a6ec1e41142b2feeb5fcfa56c19d4dddc-1280.webp",1280]]},"media/a52f3ccbd32563bc65a1d98d6a28f22fa7f7ca27.webp":{"w":1080,"h":1080,"color":"rgb(57,49,41)","variants":[["media/a52f3ccbd32563bc65a1d98d6a28f22fa7f7ca27-640.webp",640]]},"media/69acd79731a1ed5f93db82d571e0dc2857f15558.webp":{"w":1080,"h":1080,"color":"rgb(199,186,185)","variants":[["media/69acd79731a1ed5f93db82d571e0dc2857f15558-640.webp",640]]},"media/630a0e871f8a407befd2f4862e51fd1d4cf5be5b.webp":{"w":1080,"h":1080,"color":"rgb(72,61,62)","variants":[["media/630a0e871f8a407befd2f4862e51fd1d4cf5be5b-640.webp",640]]},"media/b8b009ca639da96613a572aec6ac38944f640596.webp":{"w":1920,"h":1080,"color":"rgb(159,135,109)","variants":[["media/b8b009ca639da96613a572aec6ac38944f640596-640.webp",640],["media/b8b009ca639da96613a572aec6ac38944f640596-1280.webp",1280]]},"media/285a6a09bccc2c1caea092e3488bdff41738cf6d.webp":{"w":1920,"h":1080,"color":"rgb(6,6,6)","variants":[["media/285a6a09bccc2c1caea092e3488bdff41738cf6d-640.webp",640],["media/285a6a09bccc2c1caea092e3488bdff41738cf6d-1280.webp",1280]]},"media/f3d752831be35fb594c496e20742006cb5cf8430.webp":{"w":1920,"h":1080,"color":"rgb(41,41,41)","variants":[["media/f3d752831be35fb594c496e20742006cb5cf8430-640.webp",640],["media/f3d752831be35fb594c496e20742006cb5cf8430-1280.webp",1280]]},"media/b044bb44432dd78d677554a8abd4bf330adc64a2.webp":{"w":1920,"h":1080,"color":"rgb(61,61,61)","variants":[["media/b044bb44432dd78d677554a8abd4bf330adc64a2-640.webp",640],["media/b044bb44432dd78d677554a8abd4bf330adc64a2-1280.webp",1280]]},"media/d3a4fec14052378956b83765a73bf940029c73cc.webp":{"w":1920,"h":384,"color":"rgb(255,255,255)","variants":[["media/d3a4fec14052378956b83765a73bf940029c73cc-640.webp",640],["media/d3a4fec14052378956b83765a73bf940029c73cc-1280.webp",1280]]},"media/43f15cdd69ccb6636ad4e2dd5e7a3804efc51342.webp":{"w":1920,"h":1080,"color":"rgb(82,45,15)","variants":[["media/43f15cdd69ccb6636ad4e2dd5e7a3804efc51342-640.webp",640],["media/43f15cdd69ccb6636ad4e2dd5e7a3804efc51342-1280.webp",1280]]},"media/f52249a002d4dc9c19e50ed86cd9463b63d74532.webp":{"w":1920,"h":1080,"color":"rgb(17,17,17)","variants":[["media/f52249a002d4dc9c19e50ed86cd9463b63d74532-640.webp",640],["media/f52249a002d4dc9c19e50ed86cd9463b63d74532-1280.webp",1280]]},"media/5d762bc41c53d0836597d9ff7b00ca120ae1605f.webp":{"w":1920,"h":1080,"color":"rgb(22,18,16)","variants":[["media/5d762bc41c53d0836597d9ff7b00ca120ae1605f-640.webp",640],["media/5d762bc41c53d0836597d9ff7b00ca120ae1605f-1280.webp",1280]]},"media/9f5bde32e824b028b47ee5ff170e3d5908ca8739.webp":{"w":1920,"h":384,"color":"rgb(86,33,13)","variants":[["media/9f5bde32e824b028b47ee5ff170e3d5908ca8739-640.webp",640],["media/9f5bde32e824b028b47ee5ff170e3d5908ca8739-1280.webp",1280]]},"media/090ec46920f159a3a71b8f4b22a685866f5a8607.webp":{"w":1217,"h":1080,"color":"rgb(29,11,4)","variants":[["media/090ec46920f159a3a71b8f4b22a685866f5a8607-640.webp",640]]},"media/7d543d2f12b20a35b7c4df46e99f915532559feb.webp":{"w":1920,"h":853,"color":"rgb(63,63,63)","variants":[["media/7d543d2f12b20a35b7c4df46e99f915532559feb-640.webp",640],["media/7d543d2f12b20a35b7c4df46e99f915532559feb-1280.webp",1280]]},"media/246f54086162c6ef5baea80d5f72db70f74a8c98.webp":{"w":1920,"h":839,"color":"rgb(95,82,115)","variants":[["media/246f54086162c6ef5baea80d5f72db70f74a8c98-640.webp",640],["media/246f54086162c6ef5baea80d5f72db70f74a8c98-1280.webp",1280]]},"media/3f76e506249d15833d938dd6155d78cf9c25898f.webp":{"w":1920,"h":974,"color":"rgb(104,128,144)","variants":[["media/3f76e506249d15833d938dd6155d78cf9c25898f-640.webp",640],["media/3f76e506249d15833d938dd6155d78cf9c25898f-1280.webp",1280]]},"media/6be60d8816d612d2c379538edbef556b2a7a7e7f.webp":{"w":1920,"h":1079,"color":"rgb(195,128,76)","variants":[["media/6be60d8816d612d2c379538edbef556b2a7a7e7f-640.webp",640],["media/6be60d8816d612d2c379538edbef556b2a7a7e7f-1280.webp",1280]]},"media/a43acdf7fdb208bdccd45967a25227d760ce2e75.webp":{"w":1918,"h":1080,"color":"rgb(103,110,102)","variants":[["media/a43acdf7fdb208bdccd45967a25227d760ce2e75-640.webp",640],["media/a43acdf7fdb208bdccd45967a25227d760ce2e75-1280.webp",1280]]},"media/b57a84a03c3821b2bcb58c4b81f56c085f402919.webp":{"w":1920,"h":1080,"color":"rgb(82,91,77)","variants":[["media/b57a84a03c3821b2bcb58c4b81f56c085f402919-640.webp",640],["media/b57a84a03c3821b2bcb58c4b81f56c085f402919-1280.webp",1280]]},"media/97f155790ea310270e8154251fb8bfa962259603.webp":{"w":1920,"h":1080,"color":"rgb(45,32,47)","variants":[["media/97f155790ea310270e8154251fb8bfa962259603-640.webp",640],["media/97f155790ea310270e8154251fb8bfa962259603-1280.webp",1280]]},"media/9089f02113c118e3729421f1f848d8aaaa1b03ff.webp":{"w":1920,"h":1080,"color":"rgb(178,140,200)","variants":[["media/9089f02113c118e3729421f1f848d8aaaa1b03ff-640.webp",640],["media/9089f02113c118e3729421f1f848d8aaaa1b03ff-1280.webp",1280]]},"media/880b322943192072f60308bbe5599eb2d3e553a7.webp":{"w":1920,"h":1080,"color":"rgb(145,100,155)","variants":[["media/880b322943192072f60308bbe5599eb2d3e553a7-640.webp",640],["media/880b322943192072f60308bbe5599eb2d3e553a7-1280.webp",1280]]},"media/blog-1776031871203-cover.webp":{"w":1920,"h":1280,"color":"rgb(136,49,68)","variants":[["media/blog-1776031871203-cover-640.webp",640],["media/blog-1776031871203-cover-1280.webp",1280]]},"media/4ec3bd85677e6b940cb8848b0380d22f3674d89c.webp":{"w":1065,"h":1920,"color":"rgb(17,9,6)","variants":[["media/4ec3bd85677e6b940cb8848b0380d22f3674d89c-640.webp",355],["media/4ec3bd85677e6b940cb8848b0380d22f3674d89c-1280.webp",710]]},"media/d8d1fb02aadadaeac60c5d320a7f98d45eb32e0d.webp":{"w":720,"h":1080,"color":"rgb(7,7,7)","variants":[["media/d8d1fb02aadadaeac60c5d320a7f98d45eb32e0d-640.webp",427]]},"media/87c2cf97d2be9b0a45a5bd66b8f26723e090c81d.webp":{"w":1920,"h":1280,"color":"rgb(172,172,172)","variants":[["media/87c2cf97d2be9b0a45a5bd66b8f26723e090c81d-640.webp",640],["media/87c2cf97d2be9b0a45a5bd66b8f26723e090c81d-1280.webp",1280]]},"media/0d4a13c6b85e656cb61f0dbde508f2158ba91c99.webp":{"w":1920,"h":1536,"color":"rgb(7,2,1)","variants":[["media/0d4a13c6b85e656cb61f0dbde508f2158ba91c99-640.webp",640],["media/0d4a13c6b85e656cb61f0dbde508f2158ba91c99-1280.webp",1280]]},"media/da6a85dde158b621240ac283d72dd2df4126c054.webp":{"w":1920,"h":1280,"color":"rgb(2,2,2)","variants":[["media/da6a85dde158b621240ac283d72dd2df4126c054-640.webp",640],["media/da6a85dde158b621240ac283d72dd2df4126c054-1280.webp",1280]]},"media/b09a1738e4b718a80ae9c03b4e7b7f8d6095b1f6.webp":{"w":1920,"h":1280,"color":"rgb(4,4,9)","variants":[["media/b09a1738e4b718a80ae9c03b4e7b7f8d6095b1f6-640.webp",640],["media/b09a1738e4b718a80ae9c03b4e7b7f8d6095b1f6-1280.webp",1280]]},"media/4d55b7f5148ed0cd40af5dd819dbd49249e45d84.webp":{"w":1280,"h":1920,"color":"rgb(72,72,76)","variants":[["media/4d55b7f5148ed0cd40af5dd819dbd49249e45d84-640.webp",427],["media/4d55b7f5148ed0cd40af5dd819dbd49249e45d84-1280.webp",853]]},"media/8f89f7da75173b36fa90e0ecc634742d409e2fb7.webp":{"w":1920,"h":1280,"color":"rgb(98,76,69)","variants":[["media/8f89f7da75173b36fa90e0ecc634742d409e2fb7-640.webp",640],["media/8f89f7da75173b36fa90e0ecc634742d409e2fb7-1280.webp",1280]]},"media/d5eaeba279f466e6d6950f7251b8b9da4a243a56.webp":{"w":1920,"h":1280,"color":"rgb(136,49,68)","variants":[["media/d5eaeba279f466e6d6950f7251b8b9da4a243a56-640.webp",640],["media/d5eaeba279f466e6d6950f7251b8b9da4a243a56-1280.webp",1280]]},"media/c3fd30626f0a5c7ef6e6cdc2f08616a6468a88ba.webp":{"w":1440,"h":1920,"color":"rgb(190,136,110)","variants":[["media/c3fd30626f0a5c7ef6e6cdc2f08616a6468a88ba-640.webp",480],["media/c3fd30626f0a5c7ef6e6cdc2f08616a6468a88ba-1280.webp",960]]},"media/86bb23e12eca2efc9de514de0836d3708253c5ec.webp":{"w":1920,"h":1280,"color":"rgb(6,6,2)","variants":[["media/86bb23e12eca2efc9de514de0836d3708253c5ec-640.webp",640],["media/86bb23e12eca2efc9de514de0836d3708253c5ec-1280.webp",1280]]},"media/a27bdcf5fb6ef09b3d4ab15d7a78fc82fd9db42b.webp":{"w":1920,"h":1280,"color":"rgb(165,154,153)","variants":[["media/a27bdcf5fb6ef09b3d4ab15d7a78fc82fd9db42b-640.webp",640],["media/a27bdcf5fb6ef09b3d4ab15d7a78fc82fd9db42b-1280.webp",1280]]}}}