From c6508a5485ab746fa94328a302a61186313c98be Mon Sep 17 00:00:00 2001 From: Aleko Date: Sun, 2 Mar 2025 10:09:11 -0800 Subject: [PATCH] Write scene custom properties to .babylon file. --- src/babylon_js/world.py | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/src/babylon_js/world.py b/src/babylon_js/world.py index e70e201..1ddac6f 100644 --- a/src/babylon_js/world.py +++ b/src/babylon_js/world.py @@ -73,8 +73,24 @@ def __init__(self, scene, exporter): Logger.warn('Exception during copy:\n\t\t\t\t\t'+ msg, 4) Logger.log('Python World class constructor completed') + + self.customProperties = scene.items() + # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - def to_json_file(self, file_handler, exporter): + if len(self.customProperties) > 0: + file_handler.write('"metadata":{') + noComma = True + for k, v in self.customProperties: + if type(v) == str: write_string(file_handler, k, v, noComma) + elif type(v) == float: write_float(file_handler, k, v, noComma) + elif type(v) == int: write_int(file_handler, k, v, noComma) + else: + Logger.warn('Non-scalar custom prop "' + k + '" ignored.', 2) + continue + noComma = False + file_handler.write('},') + write_bool(file_handler, 'autoClear', self.autoClear, True) write_color(file_handler, 'clearColor', self.clear_color) write_vector(file_handler, 'gravity', self.gravity)