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.

Summer break begins

Word of the day 

Capriccio (Ca-Preech-Oh), an Italian word for fanciful/fantastical, originally used to describe a piece of music.  I'm shocked that I'd not heard this before. 


Goals

I am going to use the Summer break to do an absolute shitload of good things. Making this list, for starters. Followed by some of the list items themselves, probably. It's not all Sunshine and Blender, I need to be doing other things. Earning some money might also get added to the list.


Blender School - RGB Masking


I wanted to paint a mask straight onto a terrain, and not just two separate materials; I wanted three! But how, you might ask? 

1. Create a very large new image 4k/8k to avoid pixelation, call it "RGB Mask"
2. Create a simple "base" setup with some colour-based materials and plug them into the surface output using nested Mix Shaders. 
3. Add a Separate Colour node to your RGB mask; each colour plugs into the factor input of your Mix Shader nodes.
4. Now, when you paint using pure Red, Green, and Blue on your RGB Mask image, these will translate into three masks.

5. Use Node Wrangler to quickly add PBR texture files to each base colour.  Touch up the mask to position and blend the different materials for improved realism.                                                                                                                                                                                 
Very rough, but you get the idea


Sunday, 19 July 2026

The Great Blender Refresh -- Nearly there!

Things got busy at the end of the week. I did some messing around in Blender, but nothing useful or serious. Most addons were installed successfully, with some noted critical exceptions. Those exceptions are getting sorted quickly:

Geo-scatter has been updated for Blender 5.2, and the early testing is positive.

Flower Power - Geo-Scatter 5.6.4 for Blender 5.2

True Terrain 5.2 -- Richard has confirmed via email that an installation issue has been identified and a fix is coming soon.

In the days and weeks after a release, add-ons often see updates. I believe some addons I installed and declared working have received updates, possibly due to edge-case issues that didn't affect my quick test.

Can't say fairer than that. Honestly, I totally understand why you would wait until release day to review and fix issues, though it makes sense to be aware of when a new release will cause a break during the release candidate week.


Wednesday, 15 July 2026

The great Blender 5.2 Refresh (continued)

 Getting Blender 5.2 configured and augmented with all my many, many favourite addons is quite a big job at this point. What can I say? I use a lot of add-ons.

Addons

Fluent -- Looks to be broken. I've removed it for now, as it was one of the suspects in last week's incident, where the release candidate would instantly crash when opened. I initially thought it was Geoscatter as I know that its developer doesn't update the addon until after the official release.

Fluent has been off the boil for a while, and its developer, Rudi, has been taking time out. I've sent him a message through Superhivemarket.


Extra Curve and Extra Mesh objects (Extensions)

True Terrain 5.2 -- Boom! This error occurs when it is finally installed. It looks like another user is reporting the same errors. Removed for now. Dang it, TT5 is a lynchpin! I hope we can see a quick fix, given that True-VFX has had to reduce its development intensity since Zach moved on to a new job.

Normal Magic (pro) 2.0.1 -- little used, so probably shouldn't install yet, but seems okay

Alpha Tree 2.4.7 --- seems okay, beware Library path, as I had to create a new placeholder.

Arborea --- Seems okay. Nice. I should use this brilliant addon more.

OCD 2.5 --- Okay

Retopoflow 4.0 -- Okay

GrassWald --- Boom! Needs an update!

Zen UV - 5.3.3 --- okay, Core reinstalled

True-Vault --- okay! 

Panel Cutter --- okay!

BY-GEN --- removed from Superhivemarket along with all of the other Curtis Holt addons. He is selling through Gumroad only, now.

Rock-It V2 --- hmm might work. I see an error, but the base mesh turned into a lovely rock nonetheless.


Light Wrangler 4.2.29 --- Now an extension. Looks okay.

Extreme PBR Nexus --- urrgh, this is a tedious addon to reinstall. So many giant archive files containing their high-resolution texture maps. For some reason, you can't just point the add-on to the installed files; you need to go through installing from the archives each time. These archive files seem brittle and are prone to errors. Pah, it looks like a really good addon, too. Or just maybe this works now?

PBR Texture & Material Generator --- seems okay

ToOptimize Tools --- seems okay

I take a break for lunch, my morning consumed by this laborious effort. I also realise that I'd not installed a host of important addons on Blender 5.1.x. Maybe they were never that important. More likely, I've not been working far outside of a niche set of tasks for a while. 

Tuesday, 14 July 2026

Blender 5.2: Ding ding, round-2!

 Blender 5.2 is officially released. It's time to have another go at getting it configured and all my most-needed add-ons installed.

Trouble from the start

I've had a lot of trouble with the latest version of Blenderbase, the very handy utility that lets you install multiple concurrent versions of Blender, which is essential if you want to use the latest version for play and testing while doing mission-critical work on earlier versions. It appears to be built on Webview2, which allows developers to embed HTML/CSS into a Windows application. All well and good, but my installation is forever freezing, lagging or crashing.

I really want to use  Blenderbase, as when it works, it works really well. I'll soldier on and hope the performance improves. If not, I'll look into repairing the Webview2 components.

More addons


DecalMachine - Point the assets at the path "E:\Blender\Assets\DECALmachine-Assets\"

Engon 1.9.1  - Add path to the paq files rather than install them from scratch.

Render Raw 1.3.9 -  Add more colour transforms, maybe?

True-Sky 3 - Disable Light Tree under the Scene Parameters.

More tomorrow. I'm beat!

                                                                                                                                                 



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 fe...