Showing posts with label Piotr Krynski. Show all posts
Showing posts with label Piotr Krynski. Show all posts

Wednesday, 9 July 2025

Environmental Scene Project: Pastoral Sheffield

 I once had a dream in which I lived in an idealised pre-industrial Sheffield. From my cottage on the outskirts, I could see the familiar skyline, with a handful of towers projecting from the built-up city centre, but everything was leafy and rural, with elegant stone-clad buildings. This dream happened years ago, but it created such a sense of dream euphoria that I became depressed on waking. A severe case of H.P. Lovecraft's Dreamlands, a place people go to that becomes more real and more important than their waking life.

What a subject for an environmental project. One that will pull together the lessons I've gained so far from Piotr Krynski's course.

Midjourney

It started with a Midjourney output that evokes pleasant feelings of familiarity. I particularly like the Gothic mansion in the middle ground. The City isn't quite right, but I can work on the details as the scene gets put together.

First, I need to break down the terrain elements. These are the most significant components, and it's crucial to get the scale right if you want lighting and environment to behave realistically. It's not that you can't fake it, but you might end up where you need to add too many fake or botched elements to overcome inconsistencies in haze and overall lighting.

Foreground: A steep element that supports a single tree and a flowery meadow. This area can support densely scattered grass.

Middle ground: Fields and dense copses break up the elevation ahead of a grand building at the top of the hill.

Background: The most complex element is the plain broken by hedgerows and individual trees, which leads into a city element, which fades into the background several kilometres away. 


Rough blockout using random terrains


This could be best done on three plates: Foreground, Middle ground, and Background. This requires more planning and effort to coordinate, but you can utilise all your system resources for each element, resulting in a final scene that would be impossible to render in one shot. Challenge accepted!

So I'm going to start by sculpting three separate terrain elements.


Monday, 7 July 2025

Piotr Krynski's Efficient Environment Design for Blender #7 Scene optimisation

 Keeping it smooth

This

Holy crap! What an example!

10GB scene. Already packed. 4000 files!

1. Unpack the scene so that all its file assets are saved into a scene-specific folder.

2. Run the To Optimise Tools. Change PNGs to JPGS and reduce file sizes.

3. Use the 3D scene checker to see which meshes are too dense for your scene's needs. Limited Dissolve Modifier.

During the lesson, I keep getting reminders of how useful HardOps is. That might be the next course to complete.

4. Check that you are using object duplication for maximum efficiency. However, instanced collections are where you save the most memory. Instanced collections are not editable.

... Decimation continues...

Piotr runs through and is shockingly destructive, and yet all the meshes that he decimates down into a ragged mess doesn't impact the scene's visual quality. This is an example of watching a master do work and making the effort look easy but in fact they are using excellent judgement that is hard to replicate.


Tweaks lighting

This was a hard lesson to learn from. It's Piotr adjusting his lighting setup to get what he wants out of the scene. Strong and clear reflections in the mud pools from a much stronger sunlight. That's the lesson, the rest is his rather brilliant artistic judgement.


Shrink Wrap


Deformed low-poly spheres to act as rocks.


Piotr says "I don't use scatter addons"

His flow:

1. Create some scatter objects, give them some basic low-resolution rock textures. Rotate them to sit flat on the ground.

2. Add a plane and subdivide a bunch of times. Add as a collection.

3. As a particle system: Render as a collection.


4. Toggle object rotation. If they end up rendered with the wrong orientation, select the source objects and rotate them as required. You can use the particle systems Advanced: Rotation settings too. Deselect Show Emitter in Render settings.

5. Add a shrinkwrap modifier. Select Wrap Method to Project. Select the particle system and shrink wrap around your ground plane. Move the Shrinkwrap modifier up the stack.


"Not a huge fan of scatter addons. This method is simple and effective. I hate doing weight painting... The seed changes so your placement is not as controlled in the render."

Piotr can copy(Alt+D) and paste the particle object, then move and scale it, achieving an effective and automatic fallout. 

I can see how Geoscatter can do a lot of the heavy lifting. Geonodes are now a lot more stable since Piotr first tested them as a scatter solution vs particles. However,  you can see that Piotr has a lot more exacting control over replicated shrink-wrapped particle systems.


I'm not sure I'd use this method, but there's no denying that his placement is excellent. The rocks look so much more natural than my efforts.

"I want the rocks to work with my composition, not take away from it" -- Don't overdo scatters so that you have too much visual noise."

"I don't want to overdesign things. Use cheats and shortcuts to get what you need out of modelling effort."

Next: Real-time compositing.


This may be another case of having a preference for an addon solution, but I should take the time to learn the manual approach. It's also possible that Blender offers improved compositor integration.








Sunday, 6 July 2025

Piotr Krynski's Efficient Environment Design for Blender #6 Towers and pipes

 Piotr works his way through builind the background elements. Really good, but hard to record specific steps or lessons. There's an approach to simple model bashing, a way of creating pipes and wires by drawing curves onto a plane (because drawing in mid-air always causes the curve to be misplaced.

Textures are bashed from big textures and UV unwrapped by projecting from view.

Quickly made but kick-ass assets


Grabbing more assets from Sketchfab


Piotr likes to get extra assets from Sketchfab. He runs through his workflow.

1. The Sketchfab shader setup causes performance issues due to a complex shader setup.
2. Try using various search keywords as there's a lot of content in Sketchfab with poorly handled metatags.
3. Decimate the shit out of stuff. A lot is high polycount and you're often making them tiny in your scene. Balance asset density to its place in your scene.

4. Cloud planes. Heavy png!

5. Decimate will eventually start to deform the mesh. When this starts to happen shift to the Planer option which uses different methods that don't break the lines so much. Then use the modifier  Merge by Distance. 


This merges vertices that are very close to each other. Also, Limited Dissolve. There's also a Hard Ops function called Clean Mesh. This lets you control some parameters for Limited Dissolve.

Use case: Create a high density ground plane. Decide what parts of the plane are out of shot. Select the parts of the plane that are not going to be visible and apply the Clean Mesh by Selected, selecting the out-of-view parts. 

Looks messy but optimised

6. PNGs for their alpha channels, but JPGs compress better.


Reminder: You can't definitively complete these tasks until your scene is in place and you absolutely know the importance versus resource cost for all the assets. Get most of the way there but don't worry about fully completing the step.


Shot 1


* Starts with Albedo and bump on the meshes. Piotr doesn't worry about specularity for now.
* Adds a sky by cutting out just what he needs for a giant 20k panoramic sky.

This lesson is very stream-of-thought and applies all the earlier lessons. So not much to add here.

Building nicely!

Turn up the Volume

When starting off, try to avoid placing a super-heavy volume right in the foreground. A volume will unify a scene but will wash away the textures you want to pop.

* Go to Light Paths and make sure that you have sufficient volumes.
* Anisotropy affects how light is scattered through a volume.




Sunday, 29 June 2025

Piotr Krynski's Efficient Environment Design for Blender #5 The factory

 The First Tower

In this lesson, Piotr quickly builds a factory tower. He uses quick bash-style modelling. Everything was built by eye. He used a reference box to get the scale correct. Texture is just a metal map that isn't even UV unwrapped, because he knows this element is strictly a background object.


Moah towers


This lesson starts with Piotr appraising the first tower. It's 6000 vertices. Perfect for this kind of background element. There isn't a hard and fast rule. Piotr tells the story of a big scene he created that lagged very badly. Eventually, he had to hunt down the cause of the bad performance. It turned out that in a scene full of buildings that each consisted of a few thousand polygons, there was sheets of trash paper on the floor that had 200k polygons.

Greeble object

Took the walkway and used Hard Ops to create a loft style rotation with Rotation 360.


After dicing the object, the result is very cool and unexpected.


Creating some cables. Rather than using Cableator, Piotr demonstrates an old-school technique: create a plane on which to draw curves; this way, you can include a bit of sag, which is much more realistic.


Converts them to mesh. Joins them, then converts back into a curve object.


Correction: Piotr uses Curve Basher.

Texture time.

Piotr grabs some more large texture files and uses them as a kind of trim sheet. The results are so good, just from the creative placement of UV.

High skylight-style windows can be transformed into regular-style windows with careful UV placement.

More bashing, some kit-bashing using cables, pipes and machines on the 3D-rotated walkways. It's pretty impressive, but hard to put down instructions on how it's done. It's done with a very keen eye and some serious mastery of Blender's tools.

Cool! More cables!




Friday, 27 June 2025

Piotr Krynski's Efficient Environment Design for Blender #4

 The factory


This lesson goes into areas that I have never even considered. The subject is a background element; a large factory and its surrounding greeble. What this makes me realise is that Piotr is working all the time to the composition in his head and on his sketches. I've tended to work the wrong way; I'll build a little world and then try (and often fail) to find a decent composition. Piotr's approach is that of a concept artist who needs to deliver the shots. I need to think more in terms of time spent vs results gained.

Scanned factory being previs'ed in photoshop with kitbashing the composition. Where will this go, I wonder.


Tip: Upping the scan's texture size.
This is something I've known that I'd have to deal with while creating my own scans. They native textures are too crappy for hero assets. This looks like the start of a workflow, using my new addon:


Image Resizer

Piotr's rule-of-thumb: Keep all textures below 10 MB. There's a resizer tool in the To Optimize Tools.


Oh my word. Piotr took the ideas he laid down in the photoshop kitbash and started to boolean his factory scan into various pieces so that he can kitbash the larger structure that he wanted for his scene.

Chop chop chop
The lesson concludes with some adjustments to the materials and UV as the enlarged factory takes shape.

Tweak, tweak, tweak


Wednesday, 25 June 2025

Beta Testing

 
This is a bit of a break in the rules: I'm using the beta of 4.5, which is a few weeks away from its expected release. What do you know? It's been absolutely solid and, dare I say, faster once I shifted over to the Vulcan API.



Add on: Retopoflow


I need to finally learn how to tackle retopology for generative outputs from Sparc3d and my own scans. Retopoflow is considered the best. It's not cheap, but it does come from  Cookie3D's developers.



I ran through a quick test, and it's maybe harder to use than I thought. I just need to do some simple practice exercises. The jump from version 3 is significant as the add on now in integrated into Blender's UI rather than as a bolt-on set of tools.


Starting off

Select a target object, Shift+A, Add Mesh, then choose Retopology at Cursor. This creates an empty mesh. Use Ctrl+Left click to start building.

Card mountains


I had another quick play with cards for mountain ranges. The lighting issues may be holding me back from using this technique in anger.

I had a play with the visibility settings, but I was still getting inconsistent lighting where the card catches the in-scene sunlight.



Overview. 2 cards!


The Wall:

In this lesson Piotr builds the curved canal wall. It's pretty straightforward non-destructive method where he uses the simple deform modifier on the in-scene assets while modelling on an unmodified instance, away from the scene, so that as he models, he can see how it looks in the final scene. Clever!

He refers to Textures.com as a source for bigger, more idiosyncratic textures for mixing. It looks good. I think I signed up on the site about a decade ago, but never used it.



It's interesting to think in terms of writing a sentence with a texture choice. The right texture says more, or has the capacity to say a lot more than a 2m x 2m seamless square.

* When Piotr drops in his chosen texture map he disables specularity and roughness on the shader because "they wash away the texture information".

* 95% of UV unwrapping is ...align your view perpendicular to the main face and then UV unwrap using Project from View.

* Avoid using noise from nodes because it doesn't create noise consistent with your complex real-world materials.  

* Adds a quick bump map


Add the colour into the Height input of a Bump node then pass the Bump node's output into the shader's Normal input. Then add a colour ramp between the colour and the bump which you can then use to control bumpiness by values.

Applies a second material on the bottom of the wall, applies it to a new material on the mesh. Aligns the texture, then creates some cuts in the model to match the protrusions in the material.

Repeats this step for the ends of the wall section.


Tip: Avoid long runs of perfectly straight lines.


Even with handrails, you should add a tiny amount of distortion to break straight lines. Looking at scans, even though they can be a bit gloopy, they often come with that slight break in regularity that often screams "CG." Solution: Subdivide the mesh and apply a slight displacement modifier (Musgrave noise).


Tip: At this stage, the model isn't entirely in the scene, so you can't tell how it will turn out, so don't try to go too far.


Razorbill


I got nowhere. This kind of model takes a lot of prep and care.


Tuesday, 24 June 2025

Piotr Krynski's Efficient Environment Design for Blender #3

6. Lighting

More important than the story!! Top of the pyramid, no matter how good your story, if the lighting fails to support your composition...it was all for nought.


Example: Water Colourist Dean Mitchel. Lighting gives you strong contrasts and defines shapes.


  • Great compositions offer instant clarity. The observer doesn't need to work in order to understand what is seen. Use lighting to make that clarify.


Starting Point: Strong sunlight and blue sky (shadows)

Sunday, 22 June 2025

Blender School: Basic Design Rules

 


Piotr Krynski's
Efficient Environment Design
for Blender  #3



3. Basic Design Rules


1. Big, Medium, Small


In order to show that something is big you need to contrast it with small things. Points of reference!

2. Repetition. Creating a scene involves adding lots of different elements. The quality if the visual experience will be governed by how these different elements work with each other. Use repetition as a way of giving the scene an underlying order, like the refrain of a song, a kind of visual reference point or commonality.

3. NEVER HALF. Breaking elements in half is a way to instantly remove stimulating qualities from a composition. The Rule of Thirds is your friend.

Rust placement

See how the rust areas creep in and don't go halfway across one panel. The result is large areas of calm punctuated by the rust noise. See how the rust noise has a strong naturalistic character. It doesn't look like the product of a noise node.

Piotr creates a sketch and demonstrates his thinking in terms of visual tension and repetition, where things need to be varied and where they need to echo.


Don't overdo your sketching. Once you move into 3D, things will always change. It's hard to predict how shapes will translate into 3D.

4. Preparation

Before moving to Blender, you need to get your story straight. In this lesson, Piotr runs through his preparation for his amazing canal shot, partly inspired by a level in Halflife: Alex.




1. References. Look for ideas and inspiration
2. Use your references to plan your shot and your time. What elements will be quick to create, what could be repeated? Don't spend a lot of time building something you use once in your scene somewhere in the background.
3. Don't try to do too much in a scene. Originally Piotr was going to include a chase but evoking the necessary tension draw attention from his intended subject: the cool environment.

5. Addons


There are a bunch of addons that Piotr finds super-useful... Piotr focuses on what he needs for this course, not what is overall a good addon.

S-Tier  (The essentials)

Tootimize-tools

This critical addon manages scene optimisation. Intelligent file-size reduction will impact your performance. High-spec modern PCs can handle vertices, but moving massive textures around will often cause lag.


 This isn't a sexy add-on, but it saves time when you want to drop objects into a scene by cutting out a lot of menu driving time.

Curve Basher

Mastery over curves and therefore wires. How does this compare with Cableator?

Simply Cloth Pro

This is now called Simply Cloth Studio. 

Gaffer Manager

A really good HDRI manager that lets you put in HDRIs and manage them.

Hard Ops

[Got this] This needs no introduction, but I need to pick up that training course.  

A-Tier

Aquatiq water library

This is just an excellent resource for complex and varied water shaders.

[Got this] Amazing resource of scanned trees. It doesn't go S-tier because even the low-poly versions have massive polycount. You may need to decimate.

Piotr thinks that Terrascapes assets are the best for Blender. Also, a bit heavy.


This is an amazing resource for drop-in sky HDRIs. Very efficient but the presets become a crutch and the settings seem too low for light values and shadows, e.g. a high sun doesn't generate the expected light values, it's too dull.

B-Tier

E-Cycles/K-Cycles

Great because it can save a scene because it uses non-standard rendering. However, its non-standard and can trip you up.

It's an amazing add-on, but it gets you caught up in geometry nodes. Piotr uses the shrink map modifier on a plane. It's easier and faster. Hmm, I'm not sure. Piotr has a good point about how grass objects are often too small and so require too many scatter objects to be convincing.

C-Tier


Mask Tools

Great tool but Piotr avoids using procedural tools for edge ware and these kinds of procedurally driven textures. It's a great tool, though.

Fluent-Materialize

[Got this] It can impact performance.


Physical Starlight and Atmosphere

[Got this] This is an amazing addon for realism and power, but it is C-tier because it is a resource hog. It introduces a lot of lag when doing quick scene iterations. It is amazing for less demanding scenes.




More MSVA sketches

 The concept work was supposed to end on Monday, but I was on a roll, so I kept sketching. General vehicle sketches I wanted to introduce a ...