Blender light brightness not matching

Godot Version

Godot 4.3

Question

Is there a way to make the brightness of lights imported to godot from a .blend file match the brightness they had in blender.

For example i had this small light here of 1000W.


But in godot it looks like this and has a value of 54000 energy lol

Actually there is an issue on importing gltf files with light from blender, it results in brighter light. So it is best if you configure the lights inside Godot, or just decrease the energy of the light.

Also, you can try to import blender files directly into blender. I think it would work.

That is what im doing and it also has that same issue

1 Like

Search for an issue or create your own in the github of Godot. But before it, make sure that if the light is not working in every format (gltf, fbx).

1 Like

i found one after looking for a bit
it seems to only have a fix for importing with gltf

1 Like

Yeah I already know that, its possible with gltf but not blend files directly. But I think its enough, that Godot can import blend files directly.

Actually I was not sure about that it should works with gltf.

1 Like

I ended up making a bootleg light energy balance tool
All it does is get all the light node descendants of the specified root node and lowers or multiplies their energy by the specified factor depending on the lower_brightness bool
Toggle just acts as a button

@tool
extends Node

@export var factor : float = 1000.0

@export var root : Node

@export var lower_brightness : bool = true

@export var toggle : bool:
	set(value):
		toggle = value
		if not root: return
		print(lower_brightness)
		
		var final_factor : float = 1.0
		
		if lower_brightness:
			final_factor = 1.0/factor
		else:
			final_factor = factor
		
		for i in get_all_children(root):
			if i is Light3D:
				i.light_energy *= final_factor

func get_all_children(target, arr : Array = []):
	arr.push_back(target)
	for child in target.get_children():
		arr = get_all_children(child, arr)
	return arr
1 Like

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.