From 197b8861ff6477b586104938dcfc27e1d5e652aa Mon Sep 17 00:00:00 2001 From: StyriamMZ Date: Thu, 29 Dec 2022 22:52:46 +0100 Subject: [PATCH] Ubershader fix --- sources/indigo_exporter/__init__.py | 2 +- sources/indigo_exporter/nodes/UberShader.bin | Bin 41714 -> 46473 bytes sources/indigo_exporter/nodes/UberShader.bin0 | Bin 41714 -> 0 bytes .../indigo_exporter/nodes/ubershader_utils.py | 17 +++++++++++++++-- 4 files changed, 16 insertions(+), 3 deletions(-) delete mode 100644 sources/indigo_exporter/nodes/UberShader.bin0 diff --git a/sources/indigo_exporter/__init__.py b/sources/indigo_exporter/__init__.py index 34a50da..60baadc 100644 --- a/sources/indigo_exporter/__init__.py +++ b/sources/indigo_exporter/__init__.py @@ -19,7 +19,7 @@ "name": "Blendigo - Indigo Exporter", "description": "This Addon will allow you to render your scenes with the Indigo render engine.", "author": "Glare Technologies Ltd.", - "version": (4, 4, 0), + "version": (4, 4, 1), "blender": (2, 93, 0), "location": "View3D", "wiki_url": "", diff --git a/sources/indigo_exporter/nodes/UberShader.bin b/sources/indigo_exporter/nodes/UberShader.bin index c9c087c883b7787ce6df91263950a662b9b21f5d..c2e6b950808127642cb6a30f47e2aa07642e598d 100644 GIT binary patch literal 46473 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 ay}m!Oy^zk1X?G-5op@)7@%45ox%U6dA<)qP diff --git a/sources/indigo_exporter/nodes/ubershader_utils.py b/sources/indigo_exporter/nodes/ubershader_utils.py index ad74bb5..cb43351 100644 --- a/sources/indigo_exporter/nodes/ubershader_utils.py +++ b/sources/indigo_exporter/nodes/ubershader_utils.py @@ -1,6 +1,6 @@ import re import bpy -from dataclasses import dataclass, field +from dataclasses import dataclass import pickle from pathlib import Path @@ -8,7 +8,7 @@ # TODO: # Coating, DoubleSidedThin materials use references to other materials, so it is not really suitable for the current node system. Best to leave it till full material nodes implementation. -current_uber_name = "_IndigoUberShader_v1" +current_uber_name = "_IndigoUberShader_v2" @dataclass class ParsedNode: @@ -44,6 +44,19 @@ def generate_group(self): node['parent'] = parent if parent: node['location'] = node_dict.pop('location') + + if 'default_values' in node_dict: + default_values = node_dict.pop('default_values') + for socket, value in zip(node.inputs, default_values): + if value is None: + continue + try: + socket.default_value = value + except: + # TODO: + print('default_values error', socket, socket.default_value, value) + pass + for key, val in node_dict.items(): setattr(node, key, val) if bl_idname == 'NodeGroupInput':