Monday, 31 August 2026

Bridge

I started to fashion a quick scene that includes my "nauts". Just a bit of fun using a World Creator terrain. In this case, I wanted a mostly featureless plane, which I think I delivered, maybe a little too well. 


I thought I'd go back and create something a little more dramatic, and while creating a terrain, I remembered that the World Creator had updated its Blender bridge -- a small tool that syncs World Creator directly with Blender.

Well, it's working rather well.

Conventional low-cost shader setup, unlike True Terrain's powerful but demanding node magic.

I will return to the tool with some bigger tests soon.

I still think that True Terrain 5 is the best thing since sliced bread, but I do need to cultivate more terrain options. Currently, the masking system in True Terrain isn't aligning masks onto the terrain properly, which is a right pain. It's not a show-stopper, but it does stop me from using a tried-and-tested workflow that gets more nuanced results than the other masking tools.

Back to work, proper

Tomorrow is officially the end of my summer break. While I did work last week, it was on specific days and special out-of-term hours. From tomorrow, it's all back to normal. I can't say how I feel about it. Oddly. While I'll miss having more time for the creative stuff, I will benefit from the extra exercise and a tighter routine. How I handle the emotional aspect remains to be seen. 

Sunday, 30 August 2026

Marginal

 My watch reported that I had a fair night's sleep. Hip hip! Clara begins her first night shift, so I'll be taking the boys out this afternoon so she can do an afternoon sleep to prepare for working through the night.

A common activity on Sunday. Now that Leo is starting secondary school, I've committed to start ironing clothes again. School shirts on a Sunday evening sort of thing.

Casual Me

I'm so casual I'm cloned!

I'm burning through the month's Hitem3 credits, but I'm getting happy results.

The eyes, the eyes!!

When something is really good...but... imperfections can be jarring. Sabina's eyelashes are chunks of flesh. Oh girl, that is not a good look! I'll try to do a manual cleanup at some point. It's possible that heads and hands could be sourced from a more reliable workflow, possibly cut out from a human model generated by a dedicated generator app or addon. Faces and hands are usually the weak link. Some fabrics are too shiny or lack that surface quality, although I think this deficiency could be fixed with some shader and map editing.

HeightSmith (https://hs.xanathon.com/)

I was reminded of this excellent little web app for generating science-fiction-style height maps. It's super-configurable and flexible, although it's a shame about the apparent resolution limit.

Terrains!

It's been a while! I just had to load up World Creator and see if I could
remember the steps for cranking out a quick terrain. This one is 512x512m. I remembered that the latest version of True Terrain has a broken system for mask alignment, so I used Blender 4.x to set the terrain up with materials that use working masks. Sadly, loading this setup into the latest Blender didn't work as the materials tree was blank. Something changed, breaking forward compatibility. I ended up recreating the scene in Blender 5.2.1 and living without properly aligned material masks.

Saturday, 29 August 2026

Happy Saturn's day in late Sextilis

 I don't want to develop a reputation as a moany old grumbler who complains a lot, but I've been awake since 4am. I've long passed safe drinking limits for coffee, and I'm dealing with back pain, mouth pain, slight ear pain and sore legs. The last two of those issues are listed for completeness, but they aren't causing me any measurable bother.

So I finished my playthrough of XCOM 2. I'm now very interested in getting that new Star Wars game that apparently offers the same crunchy turn-based tactics. Off in the distance, there's the promise of a Rainbow Six variant.

    "Looks like turn-based tactical games are back on the menu, boys!!"

I need to make some progress with the terrain test. I had a quick play with Gaea 3. It looks amazing, but the early access version they just released is resolution-limited and doesn't appear to support exporting terrains out. A bit of a non-starter for the moment.


Nauts

Created to support the development of Orbital Elements-based 3D content. These three "nauts" are now part of my drop-in characters' set.

1million+, 100k+, and 10k+ polygone counts.


Fun, fun, fun!

I can see me generating a few more in more varied poses in due course. I think I'd knock out a quick science fiction scene with them. I always wanted some decent spacewalk-ready astronauts.

Rock it! 2

Lots of talk of making some custom rocks. I suddenly remember how good Rock it! 2 was. Does it work with Blender 5.2? Well, as of very recently, yes, it does.

Geo-nodes-based rock creation tool. 

Rock it! 2, Aquatiq, and a basic volume ftw!




Friday, 28 August 2026

Onwards towards (long) weekend


Monday is a bank holiday 

Gaea 3.0 teaser video

Aquatiq

I bought an addon! Shopping therapy saves the day! Aquatiq comes from Blender add-on powerhouse Polygoniq, the creators of many mainstay addons, such as Materialiq and Botaniq

I'll do some testing soon! Really, this is a collection of really nice water shaders that you can drop into a scene. I have water in True Terrain, which is really powerful, but not really set up for use in small pools and limited areas. There are some shaders available in the Sanctus Library which can be nice, too. Aquatic also provides drop-in fountains and animated spray "legos" that simulate water flow, not to be confused with complex water-simulation tools like Flipfluids. There's a nice preview from CG Essentials.

Aquatiq waters
There's all the parameters you would need for fine-tuning your water. This is what makes products like this worth the investment; it's not a silver bullet for water rendering, it's a toolset from which you can fashion whatever ammunition your current project needs.



Thursday, 27 August 2026

Today was a day...


'This must be Thursday,' said Arthur to himself, sinking low over his beer. 'I never could get the hang of Thursdays.'

- Arthur Dent

Not great sleep... is how it started. The sleeping ended, but a shitty day began. I was up, dressed and eating breakfast just before 6.00am. If you're going to have a shitty day, you might as well make an early start, as with a bit of luck you'll be able to sneak away early. 

Dental Surgery

I got distracted and left for my appointment a bit late, which forced me to run part of the way with my lower back pain. I got a small filling and a tooth extraction. Yeah, shitty day.

dysregulated

I walked from the dentist to my work shift. There was a rainstorm - not just rain, an actual storm of rain. I completed my shift, returning home at 2:30 to find my youngest son, Leo, was having a massive meltdown, shrieking and shouting his little ADHD-Autism heart out.

Blender 5.2.1

Blender received a bug fix release yesterday. Blender 5.2.1! Always welcome. See the release notes.

VDMs

I reinstalled the rock texture VDM brushes. It took a lot of effort until I remembered that you need to assign a dummy user. 


I will be making some big rocks soon.

Wednesday, 26 August 2026

Women

Here are some of the woman figures I've generated, which I'm adding to a new portion of the Character Set 1 asset library.


Monday, 24 August 2026

Back to work, again

 Halo: Raptor

The director reminded me of a test I said that I'd run, using Gaea to rebuild the terrain element for the service road. It should be possible; the question will be how to do it for the quickest and best results. I must confess, I've not touched Gaea since my rush to proficiency. I'm also hoping that we see Gaea 3.0 appear in the next few weeks. I'll have this test completed by the end of the week.

More Hitem3D

The daily free credits have stopped, but I've continued to generate content using Hitem3D. I took one of my heads and placed it on one of the bodies I'd created in last week's free-credits splurge.

V3 and V2.1 What a difference! Twice the resolution now, apparently.

I also started to create an asset library for the latest high-resolution figures.

I used decimation to create three variants of each figure: at 10k+, 500k+, and 1M+ resolution.

The men! I'll add the women once I've generated a couple more.

While there's a super improvement in the overall resolution, there also seems to be better accuracy. Hands are less prone to weirdness. This could be an issue with using generative AI source images vs high-resolution photographs of real people. There's room for improvement, but we're really only a year into this particular implementation. Where will we be in 5 years? Photorealistic (or near enough) output, maybe?


Friday, 21 August 2026

Blender School: Camera Rig

Extension: Add Dolly Cam (Now pre-installed by default) 

If you want to use Blender's default camera setup for anything like a real-world camera operation, you'll have your work cut out. Almost every common camera operation requires extra functions and constraints. For example, orbiting a Blender camera around a target object can be achieved by adding an empty object and parenting the camera to it. That's fine as far as it goes, but you can go straight to a fully integrated camera rig.

Add a Camera (Dolly Camera), and this is what you win...

The Dolly includes a collection of bone-system-based widgets configured with various constraints to mimic the functions of a real-world camera rig.

Given this is a bone system, you edit it using CTRL+Tab.
Or you can select the rig and go into Pose mode.

The Main Dolly Rig sits beneath the camera; move it to move the whole rig around, much like the default camera.

The Camera Offset sits immediately behind the camera. Move this as if you were placing the camera on a mount that is located away from the rig. For example, you can place the rig on a car model; they use the Camera Offset to position the camera on the side of the car, pointing back at the rig.

The Aim widget is always located in front of the camera's optics. When you move the aim widget, the camera moves to point towards it. This is really useful when you want to move the camera relative to a target.

 Hitem3D Upgraded!

I held off following through with their offer until the v3 model arrived. I'm gone for the 70% discount deal for a year on their pro account, but I absolutely must cancel or downgrade before next year, as I can't afford the full price of £350. In fact, let me create a Google Calendar reminder! 

Generated figures, old and new. Some super results!

 Blowing the dust from terrains with True Terrain 3.5 and True Sky 3. Plus an explosion cloud from my Cloud volume collection.

Boom today!

Wednesday, 19 August 2026

The calm before the storm

 I've returned to my part-time job, with shifts on alternate days until the start of the new term, when it will be Monday-to-Friday. What a shock! I've put on a bit of weight because I wasn't as active over the summer as I'd planned (and I was also eating too much of the wrong sort of food). I didn't maintain my resistance training due to a back injury, although I did keep up with the walking. If this morning's efforts tell me anything, it's that I will lose the weight when I start doing *that* every day. No bad thing!

I felt the need to dive into gaming for a few days. I'm not being very productive at the moment; I thought that maybe an actual gap would help -- a period of fallow before renewing my efforts on the animation project I installed XCOM 2. Oh boy! I love this game, although it's looking a bit dated now -- ten years old and still as engrossing and satisfying a turn-based strategy game as I've ever played.

Screenshot from 1st March 2016! I'd met my Waterloo, but I brought the whole team back, at least.

HitEm3D harder!

The super 3d model generator, HitEm3D, has a new super-detailed model. It's expensive to use but is currently being offered for free, presumably because nobody would try it otherwise, since it's three times the usual cost per model at the highest setting.

It's a brass bust of moi

Previous outputs pushed through the new V3 model

Added clouds/Atmosphere 2 addon ...seems stable

Sunday, 16 August 2026

Grim familiarity

 The Regis apartments. Sheffield had plenty of modernist highrise flats. Eventually considered a blight on the city's skyline, these great grey monuments to concrete must have had an impact on my psyche.


This was a quick test to see what happens when I stack the main block.


Saturday, 15 August 2026

Regis Appartments

 

A quick project! Another grim architectural sketch.


It started as an exercise in modernist architecture—high-density, high-rise apartments.



At this point, the plan was to have a large garden space on that roof platform. I'm unsure whether this will be replaced with something darker. It might be that the building will get a grime treatment - turning it a bit cyberpunk, again.



Wednesday, 12 August 2026

Stability problems

 Oh sheeeeeee-AT

Yesterday morning's stability problems came back. Render crashes on the default scene. Restart, do a few things: render completes. Do a few more things: Blender crashes.
  • I removed Metalworks (again)
  • I removed Atmosphere 2
The problem continued. I then took the unprecedented step of restoring the previous Nvidia driver. So far...so...<touch wood> ...good.

It's weird that Blender is actually mentioned in the latest driver's release notes, so you wouldn't expect foul goings on. This could be something specific to my setup. I could probably test the latest driver on my other system, then see if the crashes happen without installing any additional addons.

A note about Copilot's response to the error log

The AI assistant provided a detailed breakdown of the log. It was very interesting, very specific, probably not right, though. It talks about tt.render as an addon, but it doesn't have any information about it, and I don't think it is an addon. Still, it bodes well for troubleshooting in future. I mean, it can't always be wrong! 💪😆

True Sky 3 was disabled. Strange!

This morning I created a demanding environment scene. If the system was flaky, I'd expect to see crashes. Thankfully, none yet!

Partial Eclipse of the Sun

This evening (6pm-7pm) we should be able to see a partial solar eclipse (70% reduction in light). Might be cool! Might be cloudy in that spot. I'm going up to the top of the hill to watch it unfold. 

Stable table!


Tuesday, 11 August 2026

Some scans and new addons

 

Some Scans

Yesterday I went for a walk into Loxley, the neighbouring suburb. I didn't find the kinds of rocks I was hoping for—what few there were had plants growing around them, making a clean scan impossible. It wasn't a complete waste—I did some practice scans of various things, including an old set of stocks outside the Wadsley Jack.

Practice scans

I'm heading into the city centre today; there are a few rocky objects that are used to block car access, but mostly this job is done with very boring blocks of concrete. I'll keep practising!

Addons: Atmosphere 2

So it looks like I was wrong about being blocked from upgrading to Atmosphere 2. I think I must have accidentally tried to apply two coupons at once. This time it worked using just the 70% upgrade coupon.

Basic Sky

New Clouds
My first reaction: impressed, but not blown away. I always liked their first Physical Starlight and Atmosphere addon, although for environments I preferred True Sky 2, then True Sky 3. PSA seemed to provide crisper results, good for product renders, but True Sky did wacky things that instantly made renders pop, albeit at the cost of that crispness.

Atmosphere 2's clouds are instantly good-looking, but even though there are a lot of parameters, I wasn't seeing True Sky 3's level of control. It's early days, of course. If anything, A2's parameters are deeper and more "mathsy".


Addon: Metalworks

Metalworks looks fab! It's a really deep metal shader system for creating complex metal surfaces. The only snag right now is that it crashes whenever I try to render the results. Not a good start!

Worse than that, it is crashing renders even when Metalworks is not being applied! Only, this might be caused by a new NVIDIA driver installation. I hadn't restarted since installing last week's update. After a system restart, the crash-on-render stopped happening. 

# Blender 5.2.0, Commit date: 2026-07-13 15:20, Hash fbe6228777e7
bpy.ops.true_vault.asset_store_init()  # Operator
bpy.ops.true_vault.asset_store_fetch_page(page=1, use_offline=False)  # Operator
bpy.ops.object.delete(use_global=False, confirm=False)  # Operator
Deleted 1 object(s)  # Info
bpy.ops.mesh.primitive_cube_add(size=2, enter_editmode=False, align='WORLD', location=(0, 0, 0), scale=(1, 1, 1))  # Operator
bpy.context.space_data.shading.type = 'RENDERED'  # Property
bpy.ops.object.light_add(type='SUN', radius=1, align='WORLD', location=(0, 0, 0), scale=(1, 1, 1))  # Operator
bpy.ops.lightwrangler.apply_custom_data_block(light_name="Sun", light_type="SUN", customization="Default")  # Operator
bpy.ops.transform.translate(value=(-6.25838, -2.8598, 1.13404), orient_type='GLOBAL', orient_matrix=((1, 0, 0), (0, 1, 0), (0, 0, 1)), orient_matrix_type='GLOBAL', mirror=False, use_proportional_edit=False, proportional_edit_falloff='SMOOTH', proportional_size=1, use_proportional_connected=False, use_proportional_projected=False, snap=False, snap_elements={'INCREMENT'}, use_snap_project=False, snap_target='CLOSEST', use_snap_self=True, use_snap_edit=True, use_snap_nonedit=True, use_snap_selectable=False)  # Operator
bpy.ops.transform.rotate(value=-0.854849, orient_axis='Z', orient_type='VIEW', orient_matrix=((0.805897, 0.592056, -1.49012e-08), (-0.460156, 0.626358, 0.629232), (0.37254, -0.507096, 0.777218)), orient_matrix_type='VIEW', mirror=False, use_proportional_edit=False, proportional_edit_falloff='SMOOTH', proportional_size=1, use_proportional_connected=False, use_proportional_projected=False, snap=False, snap_elements={'INCREMENT'}, use_snap_project=False, snap_target='CLOSEST', use_snap_self=True, use_snap_edit=True, use_snap_nonedit=True, use_snap_selectable=False)  # Operator
bpy.context.space_data.context = 'DATA'  # Property
bpy.context.object.data.photographer.irradiance = 3  # Property
bpy.ops.transform.rotate(value=-0.42096, orient_axis='Z', orient_type='VIEW', orient_matrix=((0.805897, 0.592056, -1.49012e-08), (-0.460156, 0.626358, 0.629232), (0.37254, -0.507096, 0.777218)), orient_matrix_type='VIEW', mirror=False, use_proportional_edit=False, proportional_edit_falloff='SMOOTH', proportional_size=1, use_proportional_connected=False, use_proportional_projected=False, snap=False, snap_elements={'INCREMENT'}, use_snap_project=False, snap_target='CLOSEST', use_snap_self=True, use_snap_edit=True, use_snap_nonedit=True, use_snap_selectable=False)  # Operator
bpy.ops.transform.translate(value=(0, 0, 5.05358), orient_type='GLOBAL', orient_matrix=((1, 0, 0), (0, 1, 0), (0, 0, 1)), orient_matrix_type='GLOBAL', constraint_axis=(False, False, True), mirror=False, use_proportional_edit=False, proportional_edit_falloff='SMOOTH', proportional_size=1, use_proportional_connected=False, use_proportional_projected=False, snap=False, snap_elements={'INCREMENT'}, use_snap_project=False, snap_target='CLOSEST', use_snap_self=True, use_snap_edit=True, use_snap_nonedit=True, use_snap_selectable=False)  # Operator
bpy.ops.mesh.primitive_plane_add(size=2, enter_editmode=False, align='WORLD', location=(0, 0, 0), scale=(1, 1, 1))  # Operator
bpy.ops.transform.resize(value=(-2.01375, -2.01375, -2.01375), orient_type='GLOBAL', orient_matrix=((1, 0, 0), (0, 1, 0), (0, 0, 1)), orient_matrix_type='GLOBAL', mirror=False, use_proportional_edit=False, proportional_edit_falloff='SMOOTH', proportional_size=1, use_proportional_connected=False, use_proportional_projected=False, snap=False, snap_elements={'INCREMENT'}, use_snap_project=False, snap_target='CLOSEST', use_snap_self=True, use_snap_edit=True, use_snap_nonedit=True, use_snap_selectable=False)  # Operator
bpy.ops.transform.resize(value=(2.5325, 2.5325, 2.5325), orient_type='GLOBAL', orient_matrix=((1, 0, 0), (0, 1, 0), (0, 0, 1)), orient_matrix_type='GLOBAL', mirror=False, use_proportional_edit=False, proportional_edit_falloff='SMOOTH', proportional_size=1, use_proportional_connected=False, use_proportional_projected=False, snap=False, snap_elements={'INCREMENT'}, use_snap_project=False, snap_target='CLOSEST', use_snap_self=True, use_snap_edit=True, use_snap_nonedit=True, use_snap_selectable=False)  # Operator
bpy.ops.transform.resize(value=(1.63292, 1.63292, 1.63292), orient_type='GLOBAL', orient_matrix=((1, 0, 0), (0, 1, 0), (0, 0, 1)), orient_matrix_type='GLOBAL', mirror=False, use_proportional_edit=False, proportional_edit_falloff='SMOOTH', proportional_size=1, use_proportional_connected=False, use_proportional_projected=False, snap=False, snap_elements={'INCREMENT'}, use_snap_project=False, snap_target='CLOSEST', use_snap_self=True, use_snap_edit=True, use_snap_nonedit=True, use_snap_selectable=False)  # Operator
bpy.ops.transform.translate(value=(-0, -0, -3.85117), orient_type='GLOBAL', orient_matrix=((1, 0, 0), (0, 1, 0), (0, 0, 1)), orient_matrix_type='GLOBAL', constraint_axis=(False, False, True), mirror=False, use_proportional_edit=False, proportional_edit_falloff='SMOOTH', proportional_size=1, use_proportional_connected=False, use_proportional_projected=False, snap=False, snap_elements={'INCREMENT'}, use_snap_project=False, snap_target='CLOSEST', use_snap_self=True, use_snap_edit=True, use_snap_nonedit=True, use_snap_selectable=False)  # Operator
bpy.ops.transform.resize(value=(1.65643, 1.65643, 1.65643), orient_type='GLOBAL', orient_matrix=((1, 0, 0), (0, 1, 0), (0, 0, 1)), orient_matrix_type='GLOBAL', mirror=False, use_proportional_edit=False, proportional_edit_falloff='SMOOTH', proportional_size=1, use_proportional_connected=False, use_proportional_projected=False, snap=False, snap_elements={'INCREMENT'}, use_snap_project=False, snap_target='CLOSEST', use_snap_self=True, use_snap_edit=True, use_snap_nonedit=True, use_snap_selectable=False)  # Operator
bpy.ops.transform.resize(value=(0.81061, 0.81061, 0.81061), orient_type='GLOBAL', orient_matrix=((1, 0, 0), (0, 1, 0), (0, 0, 1)), orient_matrix_type='GLOBAL', mirror=False, use_proportional_edit=False, proportional_edit_falloff='SMOOTH', proportional_size=1, use_proportional_connected=False, use_proportional_projected=False, snap=False, snap_elements={'INCREMENT'}, use_snap_project=False, snap_target='CLOSEST', use_snap_self=True, use_snap_edit=True, use_snap_nonedit=True, use_snap_selectable=False)  # Operator
bpy.ops.transform.resize(value=(1.71865, 1.71865, 1.71865), orient_type='GLOBAL', orient_matrix=((1, 0, 0), (0, 1, 0), (0, 0, 1)), orient_matrix_type='GLOBAL', mirror=False, use_proportional_edit=False, proportional_edit_falloff='SMOOTH', proportional_size=1, use_proportional_connected=False, use_proportional_projected=False, snap=False, snap_elements={'INCREMENT'}, use_snap_project=False, snap_target='CLOSEST', use_snap_self=True, use_snap_edit=True, use_snap_nonedit=True, use_snap_selectable=False)  # Operator
bpy.ops.transform.rotate(value=0.504055, orient_axis='Z', orient_type='VIEW', orient_matrix=((0.805897, 0.592056, -1.49012e-08), (-0.460156, 0.626358, 0.629232), (0.37254, -0.507096, 0.777218)), orient_matrix_type='VIEW', mirror=False, use_proportional_edit=False, proportional_edit_falloff='SMOOTH', proportional_size=1, use_proportional_connected=False, use_proportional_projected=False, snap=False, snap_elements={'INCREMENT'}, use_snap_project=False, snap_target='CLOSEST', use_snap_self=True, use_snap_edit=True, use_snap_nonedit=True, use_snap_selectable=False)  # Operator
bpy.ops.transform.rotate(value=1.33445, orient_axis='Z', orient_type='GLOBAL', orient_matrix=((1, 0, 0), (0, 1, 0), (0, 0, 1)), orient_matrix_type='GLOBAL', constraint_axis=(False, False, True), mirror=False, use_proportional_edit=False, proportional_edit_falloff='SMOOTH', proportional_size=1, use_proportional_connected=False, use_proportional_projected=False, snap=False, snap_elements={'INCREMENT'}, use_snap_project=False, snap_target='CLOSEST', use_snap_self=True, use_snap_edit=True, use_snap_nonedit=True, use_snap_selectable=False)  # Operator
bpy.ops.transform.rotate(value=-1.75908, orient_axis='Z', orient_type='VIEW', orient_matrix=((0.805897, 0.592056, -1.49012e-08), (-0.460156, 0.626358, 0.629232), (0.37254, -0.507096, 0.777218)), orient_matrix_type='VIEW', mirror=False, use_proportional_edit=False, proportional_edit_falloff='SMOOTH', proportional_size=1, use_proportional_connected=False, use_proportional_projected=False, snap=False, snap_elements={'INCREMENT'}, use_snap_project=False, snap_target='CLOSEST', use_snap_self=True, use_snap_edit=True, use_snap_nonedit=True, use_snap_selectable=False)  # Operator
bpy.ops.tt.render(use_viewport=True)  # Operator

# backtrace
Exception Record:

ExceptionCode         : EXCEPTION_ACCESS_VIOLATION (0xc0000005)
Exception Address     : 0x00007FF66E2DA0FD
Exception Module      : blender.exe
Exception Flags       : 0x00000000
Exception Parameters  : 0x2
Parameters[0] (action)  : 0x0000000000000000 (read)
Parameters[1] (address) : 0x0000000000000050


Stack trace:
blender.exe         :0x00007FF66E2DA0C0  blender::BKE_layer_eval_view_layer_indexed
blender.exe         :0x00007FF66F45EBE0  blender::deg::`anonymous namespace'::deg_task_run_func
blender.exe         :0x00007FF66E531C80  tbb::detail::d2::function_task<blender::Task>::execute
tbb12.dll           :0x00007FF8132A8C60  tbb::detail::r1::current_context
tbb12.dll           :0x00007FF8132A8C60  tbb::detail::r1::current_context
blender.exe         :0x00007FF66E531750  tbb::detail::d0::try_call_proxy<`tbb::detail::d2::task_group_base::wait'::`1'::<lambda_1> >::on_com
blender.exe         :0x00007FF66E531000  blender::TaskPool::tbb_task_pool_work_and_wait
blender.exe         :0x00007FF66F45E760  blender::deg::`anonymous namespace'::evaluate_graph_threaded_stage
blender.exe         :0x00007FF66F45E390  blender::deg::deg_evaluate_on_refresh
blender.exe         :0x00007FF66E592890  blender::deg_flush_updates_and_refresh
blender.exe         :0x00007FF66DE937B0  blender::scene_graph_update_tagged
blender.exe         :0x00007FF66E276FF0  blender::wm_event_do_depsgraph
blender.exe         :0x00007FF66E2772E0  blender::wm_event_do_refresh_wm_and_depsgraph
blender.exe         :0x00007FF66E277380  blender::wm_event_do_notifiers
blender.exe         :0x00007FF66E272280  blender::WM_main
blender.exe         :0x00007FF66DE31030  main
blender.exe         :0x00007FF672A2C0A4  __scrt_common_main_seh
KERNEL32.DLL        :0x00007FF82EEDCCA0  BaseThreadInitThunk
ntdll.dll           :0x00007FF82FDEAD40  RtlUserThreadStart


Threads:
Thread : 00000eb0
ntdll.dll           :0x00007FF82FEA03F0  NtWaitForSingleObject
KERNELBASE.dll      :0x00007FF82D5CC070  WaitForSingleObjectEx
IlmThread.dll       :0x00007FF817224920  IlmThread_3_4::Semaphore::wait
IlmThread.dll       :0x00007FF8172233C0  IlmThread_3_4::ThreadPool::setThreadProvider
IlmThread.dll       :0x00007FF817221280  IlmThread_3_4::supportsThreads
ucrtbase.dll        :0x00007FF82CF7CBE0  wcsrchr
KERNEL32.DLL        :0x00007FF82EEDCCA0  BaseThreadInitThunk
ntdll.dll           :0x00007FF82FDEAD40  RtlUserThreadStart
...snip

Monday, 10 August 2026

Start of Week

 Here we are, burning through the summer holidays. It feels like we're only just starting, when in fact we are more than halfway through. Time to roll up the sleeves and get to work. 

Last week's progress: I get a pass! I was on holiday in Europe. This week will come with high expectations. Fully rested and raring to go? Well, maybe.

Aims


Halo: Raptor

New instructions from the new Environmental art lead. I'm to return to the opening planet scene and redo it following a different artistic vision. Marvellous! Who doesn't like throwing away two months of work? Well, this is the job; it's how it works. If you are too precious about work product, you are probably not cut out for commercial film/content production. That said, the fact that they didn't think that I "knocked it out of the park" with the last run-through is not a great sign. The new directions give me concern; they are driven by a series of Midjourney frames that, in my humble opinion, are overcooked -- like much of Midjourney's output. They are eye-poppingly attractive, but it just looks like gloss over substance: a striking image that doesn't support looking too closely at the details.

Training

Where to start? So much to cover. I feel like I need revision on everything, but I need to start somewhere. I'll draw up a priority list. It could be that I focus on environmental design because of the project, although I would like to get back to basics for some stuff. 

I have a ton of addons that I have not yet touched. I need to install them, read up on use and give them some practice.

I need to build a good camera rig. Souternshotty does a great tutorial on his setup. I will follow that again.

Physical Addons has their Atmosphere 2. It looks like a shameless copy of TrueVFX's True Sky3. I don't make such comments lightly, but given that Atmosphere 2 includes an Earth model that supports planetary atmospheres, rather than making that functionality part of their PCO: Planets addon, seems rather twisted. All said, I will be picking up a copy after the current sale -- which seems weird but its because the sale offers a small discount, but I can get a big discount as an owner of their first version, only during Superhive sales; you can't choose the bigger discount, it's the sale discount or nothing, until the end of the sale.

Sell something!

I'm looking at putting a package of scanned objects together and selling them really cheap. Rocks, mostly. I need to process the scans:

1. Make the objects watertight -- most need a bottom.
2. Extract the texture maps from the object and store them in a consistent file structure.
3. Turn them into assets and create an asset library. I may need to read up on the best way to do this so that when shared it works as expected.

Plan B will be a series of planet maps, created from an improved workflow that comes out of next week's Halo project work.

It seems like the new lead thinks my textures were not crisp enough. That was feedback on my 32k x 16k master file!! Planets are really big; when you start getting close in, you need monster-sized files. I'm already using files that are an order of magnitude larger than most of the production team because I have a workstation-class machine to work on.

I see pixelation! More resolution!!!

I see a 21k x 10k planet map. Oh, that's pretty big. Smaller filesize!!!



Sunday, 9 August 2026

Rocks from France

 


On holiday I scanned some road-side rocks. They turned out nicely!

I scan using my Samsung Galaxy S23 Ultra running Polycam. The results are really good, considering this is just a phone, not a specialist scanner.


Saturday, 8 August 2026

Normal Service Resumes

 We just got back from our summer holiday. Wonderful, then stressful and frustrating because our car broke down on the two-day trip back to Calais. Still, it was an amazing trip. We spent most of our time in the Vosges mountains in Alsace, with a travel route that included stays in Belgium and Germany. 


Civilian Radar Station on the highest peak of the Vosges mountains (Le Grande Ballon)

Driving onto a train is weird

Ypres museum diorama. Good dioramas are ace!

So, normal Blender service should resume in a day or two.

Monday, 27 July 2026

Raptor - quick request

 Gabe asked me to help make scale adjustments to the previs version of a starship's bridge. Not a lot of creativity, but a good exercise. It was clear that the source model was exported from either a game engine or had at least been optimised into a triangle-based model. A horrible starting point if you want to make edits! It took a couple of hours to cut the model in half, then turn it back into quads for adjustment, then separate so that some parts could be turned hidden.

The director approved the changes but requested adjustments to some railings because there needed to be more space for characters to move around a command table. Then, while I went on my holiday, Gabe remodelled the command table a bit.

The NDA prevents me from showing anything off, but it should be pretty cool.

Wednesday, 22 July 2026

Wednesday project


This morning, I decided to invest a couple of hours into a mini-project before returning to the big stuff. At work, I'd been watching the crafting of a simple -- but really elegant -- deck chair. One that slots together rather than uses complex pivots and hinges. I recreated the chair from memory -- making some errors through the process.


 I originally had the seat slats sit flush on their legs, but when flush this way, the seat element doesn't get held in place when the two elements are stored or carried flat --without the overhang on the slats, it just falls through the back frame. You really understand a thing after you try to build and use it (virtually, in this case).

True-Sky render

I tried using Physical Starlight and Atmosphere, but I got crashes, so I tried True-Sky 3. It's great for landscape shots, though its rendering trickery does result in an overly soft output in many cases. PSA is better for a studio-style subject...when it works.


True Terrain 3.2


A fix for Blender 5.2, although I spotted and raised some issues. This could be a corruption of my installation. Blender 5.2 is turning out like Blender 5.1, a bit crashy, maybe as a result of changes to the API.




Monday, 20 July 2026

Film spooge 26

 The first day of the summer break started with the last work shift until September. It also included an early showing of Christopher Nolan's The Odyssey. Oh boy!!!


This film is yet another masterwork from Nolan. The familiar mythos is here, but Nolan's adaptation feels grounded and relevant. Nolan's two familiar devices- the unreliable narrator and non-chronological flow- feel natural and fully at the service of the film's thesis.

The mythological elements are framed as Odysseus processing guilt for his civilisation-ending crime, which reminds me of Life of Pi. Each encounter places Odysseus and his crew at the sharp end of the very breach of Zeus' law that he himself is guilty of at the sacking of Troy. I suspect that this film is going to bag a lot of Oscars. Rightfully so. It's already proving that audiences will travel to the cinema when they have faith the film will deliver something special.

Bridge

I started to fashion a quick scene that includes my "nauts". Just a bit of fun using a World Creator terrain. In this case, I want...