Thursday, 17 July 2025

Last work shift of the term. Summer Break!

 One more shift between me and round-the-clock Blender!

The film project work hit a dead end yesterday. I did an update terrain and shared it with the team. It needed more oomph. For some reason, the terracing had disappeared as part of my efforts to increase cliff steepness.


Another iteration!

I worked up yet another version, this time ensuring the terracing wouldn't get blown away during the process. 



There's a little bit more sand buildup at the base of the cliffs than planned, but without it, the cliffs don't look natural. World Creator's sand simulation's minimum sand goes from nothing to a bit too much. 

Pumped up with some post-effects

Wednesday, 16 July 2025

Last week of term

I break up from my part-time job at the end of the week. It's then Blender all the way down...well mostly. We have a family holiday coming up, but I intend to be very productive over the summer break. I might even make some money again using Blender.


Blender 4.5 is now official


After a good month of testing 4.5, it has now entered general availability. So far, so good. It's fast and ...mostly stable. I suspect that a number of my commonly used addons will require some updates. 




Recent Work


A planet map...a bit of a change

Lens Sim practice

A depth of field test

Suddenly

I have a new production task on the animation project. I need to provide a terrain for the previs animation. Interesting!



A work in progress. Some changes have come from the director, but I had a good time confirming that the workflow is effective:

1. World Creator sculpt.
2. Export EXR heightmap.  
3. Blender/Import the EXR into True Terrain 5. Create the terrain material.
4. Bake the required terrain resolution, then bake the material maps. 
5. Decimate to reduce resolution for production


Saturday, 12 July 2025

Stable test

 

Did it crash? Not yet...
A good sign, but this episode of multi-dimensional instability was a punch to my enthusiasm. I walked away from the environmental project for a bit.

Optimisation started

I developed various materials for the light rig, aiming to rig it so that it can be set up quickly in different configurations.

Athena Asteroid -Physical Starlight and Atmosphere sky

Thinking about a return to my Orbital Elements game over the summer. Next week, Blender 4.5 goes into full release (hopefully), and the road to Blender 5.0 begins. Exciting, but hopefully things will be more stable.


Thursday, 10 July 2025

Environment Project - Part 1: Woe time

 Suddenly everything grinds to a halt. I was getting constant problems with my scene not accepting parameter changes. I'd adjust something, such as the exposure setting, and my change would be instantly removed.

AttributeError: Writing to ID classes in this context is not allowed: Scene, Scene datablock, error setting option.running

Info: Saved "DreamlandSheffield01-Blockout06.blend"

Traceback (most recent call last):

  File "C:\Users\mark\AppData\Roaming\Blender Foundation\Blender\4.5\extensions\user_default\TrueSky\scripts\DevOps\ui.py", line 519, in _set_toggle_input

    self.input.default_value = int(value)

    ^^^^^^^^^^^^^^^^^^^^^^^^

Then I'd overcome the problem by saving and restarting Blender.

This morning, I removed Blender 4.5 and reinstalled the latest build, so my copy should include the fixes from the last week.

So onwards!


 So far, so good. Now, the area where the city is going needs to stretch out more. I couldn't get the horizon line high enough. My lensing is off! I need to use a longer focal length to bring the foreground in and stretch the view into the distance.


Better! I also added a simple plane to create the flat open areas (a plane) for the city.

Only I then got CUDA errors...

Maybe the scene is too big in terms of the render area? The plane and background terrains are enlarged, not to scale so the view stretches off into the 20,000m range. That seems excessive; it really should be all done in a 10km stretch.

I restarted and made changes. Removed the distance terrains from the final render. Only to crash on startup.

# Blender 4.5.0, Commit date: 2025-07-10 00:47, Hash 4a68512db9fd

# backtrace

Exception Record:

ExceptionCode         : EXCEPTION_ACCESS_VIOLATION
Exception Address     : 0x00007FFB9920F255
Exception Module      : python311.dll
Exception Flags       : 0x00000000
Exception Parameters  : 0x2

    Parameters[0] : 0x0000000000000001
    Parameters[1] : 0x00007FFB98FDFF8B


I restarted my machine and did some basic renders. Seems fine for now. The most likely culprit is that light rays are going out too far. I know that problems like this have been fixed before by enclosing a scene without a box, to trap light rays that might zoom off to infinity and beyond.

I may restart the build later with a view to keeping it smaller.


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.


More Project Assets

 This one took a couple of attempts. It's not 100% complete or right, but it came together without me hating it.

Lighting Rig

It was one of the things that a base needs. I decided to go mobile instead of using a built-in option.

I'm going to briefly halt the Environmental course to actually create a scene with the lessons I've learned so far. Some of the lessons are subtle and about judgment rather than Blender techniques. I'll forget them unless I apply them soon.

I'll continue to work on the project assets and scene. I've been asked to halt work on the location, either because the script may be changing or I'm not going in the right direction.

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.




I rest my case

 I decided to rustle up something quick that helps me improve on scatter and scene dressing. Don't get bogged down, I said.

Gets bogged down...




I need to be disciplined. I need more training. I need to finish the training I started. Notice I did not complete the next two lessons of the Environment course. I did buy more courses, though!

SuperHive Educational Bundle (https://superhivemarket.com/products/best-of-blender-education)

This is huge! 

I bought this pack for Creative Shrimp's game asset workflow, the Architectural Master class, Geonodes and 3D Ducky's training, although his efforts are not my primary focus, its a gap I need to fill.


Game Asset Workflow






Optimise and bake! That's what I'll learn, I hope.  I'm a bit disappointed that Creative Shrimp's other courses were not included. The cinematic lighting and the photogrammetry courses were on my big shopping list, given that I already bought their other included stuff (Space VFX and Hard Surface Modelling), but you do get a 25% discount.

Assembly (Geonodes)


Cubecity (Asset Libraries and a cute 3D city)



Architecture Masterclass

                    

Friday, 4 July 2025

Onwards to the weekend



Sparc3D vehicle outputs. I then decimated and cut the vehicles in half so they could be instanced with a mirror modifier. The next steps: better topology. This might be a case of cut and clean, such as making those windows a single polygon, right now they're part of the model's dense triangulated mesh. 

AI Sloppy? Maybe, but they are amazing starting points.

A quick terrain test. I'll never be able to stop this... Terrain addict, I am. I whipped this up in about half an hour, but then spent a couple of hours struggling to add some scatter. There were crashes!

 Next Steps

  • Back to the environmental training course. Two lessons today.
  • Tidy up assets and build some more:
        Lighting rig
        Cargo container 
        Oil Drums and crates
        Portable huts and a gatehouse.



A bad habit that I need to lose:

I iterate too slowly because I pump up settings too soon. The Card scene should have taken a couple of hours of work, but I must have spent more than that waiting for test renders, which I save but don't use much.

Thursday, 3 July 2025

Cards

I had a play with alpha cards. The distant mountains, the trees and the cloaked figure are not models; they're images rendered on a plane or on simple "cards", then placed in the scene and aligned with the camera. Doing this using a compositor is a lot more powerful, but this is a quick way to optimise resource-intensive renders. Blender 4.5 Beta, True Terrain 5, True-Sky, Photographer 5. The weird bronze statue with the tentacles was generated using Spark3D.


Key elements are not geometry; they're images projected onto planes or simple card models.

Tuesday, 1 July 2025

Asset test and terrain practice

Assets in play!

 I had to play with some World Creator terrains, as there's a new beta out which reportedly fixed the bug that I reported. In all the excitement about sculpting terrain, I didn't actually complete testing for the bug. I have faith!

Yesterday
I experimented with a new add-on. I created an interior in which I planned to scatter some bitter gourds (I created the scan this weekend). Alas, while the tool appears to work well, I was unable to get the scatters to conform to the nominated ground object. Maybe it only works on a plane?

A case of Floatia Scatterous

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!




Asset progress

 Assets

Progress continues on the assets that I'll be offering to the animation project in which I'm now potentially involved.

Asset with an autocannon turret

Broadly modular. Optimisation still required

On Friday, I took a trip out to create some additional concrete textures. I went back to the place where I captured that cast concrete texture, but the lighting was poor, and large portions of the wall had received a coat of paint, presumably to cover up graffiti.

Still, I captured quite a few photos for texture development. The only problem is that I am rapidly running out of storage. I thought about buying another portable storage, but that's not very scalable. For one, I'd run out of places to plug them. Instead, I reactivated my Flickr account. I'll be using it as the store for any texture photos I need to store.


Flickr textures

10WallSource2


Last work shift of the term. Summer Break!

 One more shift between me and round-the-clock Blender! The film project work hit a dead end yesterday. I did an update terrain and shared i...