0
$\begingroup$

I'm kind of new on this. I just want to do simple stuff to develop MLOs YMAPs for RDR2 and RedM community. I installed this add-on to manage the assets but 95% of the time I'm having issues with the same KeyError. Link to the add-on: https://github.com/Ktos93/Sollumz_rdr3

Error importing: C:\Users\juano\OneDrive\Desktop\Proyecto_Prueba\new_com3_837royal.ydr.xml Traceback (most recent call last):

File "C:\Users\juano\AppData\Roaming\Blender Foundation\Blender\4.0\scripts\addons\Sollumz_rdr3-main\sollumz_operators.py", line 65, in import_file import_ydr(filepath, self.import_settings)

File "C:\Users\juano\AppData\Roaming\Blender Foundation\Blender\4.0\scripts\addons\Sollumz_rdr3-main\ydr\ydrimport.py", line 624, in import_ydr drawable = drawable_to_obj(ydr_xml, filepath, os.path.basename(

File "C:\Users\juano\AppData\Roaming\Blender Foundation\Blender\4.0\scripts\addons\Sollumz_rdr3-main\ydr\ydrimport.py", line 540, in drawable_to_obj materials = shadergroup_to_materials(drawable.shader_group, filepath)

File "C:\Users\juano\AppData\Roaming\Blender Foundation\Blender\4.0\scripts\addons\Sollumz_rdr3-main\ydr\ydrimport.py", line 21, in shadergroup_to_materials material = create_shader(shader.name, shader.filename)

File "C:\Users\juano\AppData\Roaming\Blender Foundation\Blender\4.0\scripts\addons\Sollumz_rdr3-main\ydr\shader_materials.py", line 734, in create_shader create_basic_shader_nodes(mat, shader, filename)

File "C:\Users\juano\AppData\Roaming\Blender Foundation\Blender\4.0\scripts\addons\Sollumz_rdr3-main\ydr\shader_materials.py", line 592, in create_basic_shader_nodes link_specular(node_tree, spectex)

File "C:\Users\juano\AppData\Roaming\Blender Foundation\Blender\4.0\scripts\addons\Sollumz_rdr3-main\ydr\shader_materials.py", line 345, in link_specular links.new(spctex.outputs["Color"], bsdf.inputs["Specular"])

KeyError: 'bpy_prop_collection[key]: key "Specular" not found'

$\endgroup$

2 Answers 2

1
$\begingroup$

A more general answer than unwave's:

You're probably using a script that was intended for an older version of Blender (or vice versa, but I'll assume you downloaded the latest version of Blender, which is 4). You can try to find or wait for an updated script, or download the Blender version the script was written for from here.

On the Github page of the script you link to it mentions requiring "Blender 2.8 or later", but requirements like that usually don't take into account completely new versions.

I suggest you just download Blender 2.8x from the link above, and try again.

$\endgroup$
2
  • 1
    $\begingroup$ It is indeed version 4.0, as indicated in the file paths $\endgroup$
    – Gorgious
    Commented Mar 14 at 8:28
  • $\begingroup$ @Gorgious Right, that was actually obvious :) $\endgroup$
    – Joachim
    Commented Mar 14 at 22:00
0
$\begingroup$

In Blender 4 Specular is renamed internally to Specular IOR Level.

https://github.com/blender/blender/blob/09666e149871769b5b77ac8c2a404e3a4ea35f30/source/blender/blenloader/intern/versioning_400.cc#L1271

The addon should be using version dependent string enumerators similar to enum.StrEnum instead of string literals. Or version dependent constants in a simple solution.

$\endgroup$

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .