Are there some addons or scripts that you find useful by they doesn’t work on current blender version because they were abandoned / unmaintained / bugged or for some reason?
Sometimes they are easy to fix if you have some experience (and sometimes people have no coding experience at all). I wanted to create this topic for this type of cases so people can share those kind of problematic scripts / addons.
I would be interested in helping solve those to help community especially if it’s not just personal scripts and fixed script / addon can be useful to more people.
Found abandoned addon if someone would also be interested to help - Floorboard Generator, issue is easy reproduce - install the addon and try to create floorboard from Shift-A menu, it will lead to crash.
Crash on normal launch. Warnings with --debug-memory.:
Memoryblock CDMloopCol: end corrupt
Memoryblock RNA_property_string_get_alloc: Additional error in header
Memoryblock Additional error in header: is also corrupt
Info: Removed 0 vertice(s)
Looks like a CustomData block is reallocated in the uv shuffle loop and causing a dangling reference.
The uv data is bound at line 524:
uv_layer = mesh.uv_layers.active.data
The uv data is written to at line 560
uv_layer[loop_index].uv = coords.xy
If uv_layer is not an extra indirection but instead a reference to the raw CustomData layer array, which the crash suggests, binding the name is the problem itself, just like binding collection property objects.
So the fix is probably to use the qualified path so the rna accessors can get the updated pointers:
Still at line 560:
# uv_layer[loop_index].uv = coords.xy # Old
mesh.uv_layers.active.data[loop_index].uv = coords.xy # New
Now switched lines uv_layer = mesh.uv_layers.active.data and vertex_colors = mesh.vertex_colors.new().data so that uv_layer will be accessed only after vertex color is already created and crash is gone. I’ll submit the change to addon as a PR.
I could help if something has broke completely but I don’t want to work on adding features to already working addons, there are just too much thing to tackle then.
Yeah, it doesn’t work in 4.0. It gives an error when you try to enable it in the preferences window. You can check here: TexTools for Blender - #970 by oo_1942 There is someone maintaining it and he mentioned the addon needs a full revision to work properly in 3.6 and especially 4.0. Maybe you can take a look and see if you could help?
I understand. The dev hasn’t worked on the addon in a long time if I am not mistaken. That feature I believe was how the addon was supposed to work but it doesn’t. I think adding something to a forked version wouldn’t be a bad idea but if you don’t want to. That’s okay.
If you’re getting something like the error below it means you’re using latest version from the releases page which was 18 months ago.
Version from Github repository seems to work fine (atleast on enabling it in addon preferences).
Traceback (most recent call last):
File "\Blender_Launcher\daily\blender-4.0.0-alpha+daily.963c0ed5e7b0\4.0\scripts\modules\addon_utils.py", line 364, in enable
mod = importlib.import_module(module_name)
File "\Blender_Launcher\daily\blender-4.0.0-alpha+daily.963c0ed5e7b0\4.0\python\lib\importlib\__init__.py", line 126, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "<frozen importlib._bootstrap>", line 1050, in _gcd_import
File "<frozen importlib._bootstrap>", line 1027, in _find_and_load
File "<frozen importlib._bootstrap>", line 1006, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 688, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 883, in exec_module
File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
File "\Blender_Launcher\daily\blender-4.0.0-alpha+daily.963c0ed5e7b0\4.0\scripts\addons\TexTools-Blender\__init__.py", line 128, in <module>
from . import op_texel_density_set
File "\Blender_Launcher\daily\blender-4.0.0-alpha+daily.963c0ed5e7b0\4.0\scripts\addons\TexTools-Blender\op_texel_density_set.py", line 3, in <module>
from bpy.types import FaceMap
ImportError: cannot import name 'FaceMap' from 'bpy.types' (unknown location)
It was crashing with error AttributeError: 'BMLayerAccessEdge' object has no attribute 'crease' on line creases = bm.edges.layers.crease.active since in 4.0 crease attributes were moved to just float attribute with name “crease_edge”.
Wanted to post it here because after 4.0 there probably will be a lot of people meeting the same error. Here’s the solution that will work before and after 4.0.
My recommendation is to only work with stable Blender releases.
Anyway if you have time available, you could work with important officially included addons in 3.x to port them to Blender 4.0 and officially share them so that they are included again in 4.0. If you do this, you will have to keep an eye on new API changes until Blender 4 is in beta status. https://wiki.blender.org/wiki/Process/Addons
Delete all custom transform script!
I use this script found here on the forum since some times but it’s no longer working with 3.6. I found it really useful because with one click you could delete all custom transform!
so if someone can update it that would be supercool!:
import bpy
try:
context.scene.transform_orientation_slots[0].type = "" # This ALWAYS throws an error
except TypeError as inst:
transforms = eval(str(inst).split(" in ")[1])
for transform in transforms[6::]: # 5 first transforms are builtin. You can't delete them
context.scene.transform_orientation_slots[0].type = transform
bpy.ops.transform.delete_orientation()
Here’s the updated version. It broke because in Blender 3.6 they’ve added new PARENT transformation. I’ve changed the script so it won’t broke the next time the list of builtin transformations will change. You can post it somewhere you’ve found it too, so it’ll reach more people. I also have found similar script on stackexchange and updated it.
import bpy
context = bpy.context
transform_slots = context.scene.transform_orientation_slots
builtin_transforms = [i.identifier for i in bpy.types.TransformOrientationSlot.bl_rna.properties['type'].enum_items]
# hacky (but the only way) to get the all available transforms
# https://blender.stackexchange.com/questions/136019/blender-2-8-api-how-to-get-a-list-of-custom-transform-orientations/196080#196080
try:
context.scene.transform_orientation_slots[0].type = ""
except Exception as inst:
exec("transforms = " + str(inst).split("in")[1])
for transform in transforms:
if transform in builtin_transforms:
continue
transform_slots[0].type = transform
bpy.ops.transform.delete_orientation()
Any chance you could please look into this for Principled Baker addon? Any chance you could also please look into updating it for 4.0? There has been changes to the Principled Shader in 4.0 so the baker might have issues.
Also any chance the ability to bake to already existing textures can be added? Natively in Blender that is done with turning the Clear image tab when baking on or off.
Any chance you could please look into this for Principled Baker addon? Any chance you could also please look into updating it for 4.0? There has been changes to the Principled Shader in 4.0 so the baker might have issues.
What issues does it have on 4.0 exactly and how to reproduce them?
Also any chance the ability to bake to already existing textures can be added? Natively in Blender that is done with turning the Clear image tab when baking on or off.
There are changes that has been made to principled shader 4.0. Specular has been removed, changes made to subsurface as well. But I think this is asking for features to be added since there has been changes to the materials so no worries.
Thanks for considering it.