Environment artist · Czech Republic
Believable places,
built to ship.
European nature and grounded historical environments in Unreal Engine 5. Three modular kits on sale through Epic's marketplace, in use in other people's productions — and everything I learned making them, written down with the numbers attached.
- 3kits shipped on Fab
- 345unique meshes authored
- 512px/m held across every set
- 0generative AI, at any stage
Three running series
Each one numbered, open-ended, and about a problem I actually had.
Latest
All articles →
SpeedTree to Nanite foliageThere is almost no free, current, written resource for getting a SpeedTree asset into UE5 as Nanite foliage that actually performs. Here is the entire chain — export settings, the masked-to-opaque decision, wind, and what each step costs.
Why your wall looks tiledVisible repetition is not a texture-resolution problem, it is a spatial-frequency problem. Once you can name what your eye is catching, the cheapest fix is four nodes and about ten minutes.
Spec before modellingEvery modular kit I have shipped that went badly went badly for the same reason: I opened Blender before I knew what the modules were. Here is the one-page document I now write first, and the four decisions it forces.Everything here
has been measured.
Every article states the engine version, shows the node graph with the node names as readable text, includes profiler numbers before and after, and says what I tried that did not work.
- Real numbersProfiler output, not adjectives.
- Stated versionsBecause "it depends" is not an answer.
- Source filesCommented graphs, not screenshots.
- Failure modesWhen the technique loses, and to what.
A new part when there is something to say
A new part of a series every two or three weeks, when there is something real to say. Never weekly — the two weekly newsletters in this niche both burned out.
Setup: put your beehiiv or Kit form endpoint insrc/consts.ts as NEWSLETTER_ACTION and this becomes a real form. beehiiv is free to 2,500 subscribers with a custom domain included.