Showing posts with label Atmosphere 2. Show all posts
Showing posts with label Atmosphere 2. Show all posts

Wednesday, 30 September 2026

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 technological constraint as a distinctive visual cue for Orbital Elements, like how Star Trek's UFP ships have a recognisable visual language of warp nacelles and saucers. The best candidate for this cue is the Mach-Fontier Inductor, a technology that massively reduces the apparent inertia of a ship, allowing vehicles to travel the solar system at miraculous speeds and fuel efficiency. 

Instead of the MF inductor being a small indistinct component at the heart of the vehicle, it is now a large ring that slightly leads the bulk of the ship, as the dampening field occurs behind the centre of the ring.
Inertial dampening using Mach-Fontier field induction rings (MFFIRs)


After sketching rigid rings, I envision the ring as a giant inflatable structure, tethered to the body of the space vehicle with cables, evoking the form of giant solar sail craft. I think the prototype MF drive was nearly 2km in diameter—vast!! Over the last century, the size of the MF inductor has been greatly reduced, at the cost of increased energy input, mostly delivered by the move to matter-annihilation (anti-matter) drives.

MF inductors have a minimum diameter, so light rigs have proportionately large rings, while rings are less dominant on larger vehicles.                                                                                                                  

Witcher 3

Last night I reinstalled Witcher 3 because it was just rereleased as an enhanced version. It encouraged me to install the latest Nvidia drivers, which I hadn't been using because they had caused Blender to stop working. I installed the drivers and restarted. Blender worked fine. I reinstalled the Atmosphere 2 addon, which caused Blender to crash on first use. Blehh!

Restarted Blender; it all seems to be working. Still not a good feeling seeing Blender crash to the desktop. I will see how it goes; it would be great to have Atmos 2 available to use.

Atmosphere 2 in the house, with its enhanced clouds

                                                                                                                                                                                                                       
                                                                                                                                                   

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

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

Orbital Elements: Medium Rig, full steam ahead!

 It's only gone and become November. Crikey! This morning I put more care into mashing the Shamrayev Engine section into the Canto. Note...