Add BAKE_ERROR_NO_ROOT to BakedLightmap
Add new error type to BakeError to signalise that there is no root node to start baking from. Document the new error type, as well as BAKE_ERROR_NO_LIGHTMAPPER.
This commit is contained in:
parent
d65f06652e
commit
98c0ffb749
3 changed files with 12 additions and 3 deletions
|
@ -16,7 +16,7 @@
|
|||
<argument index="0" name="from_node" type="Node" default="null" />
|
||||
<argument index="1" name="data_save_path" type="String" default="""" />
|
||||
<description>
|
||||
Bakes the lightmap, scanning from the given [code]from_node[/code] root and saves the resulting [BakedLightmapData] in [code]data_save_path[/code]. If no save path is provided it will try to match the path from the current [member light_data].
|
||||
Bakes the lightmap, scanning from the given [code]from_node[/code] root and saves the resulting [BakedLightmapData] in [code]data_save_path[/code]. If no root node is provided, parent of this node will be used as root instead. If no save path is provided it will try to match the path from the current [member light_data].
|
||||
</description>
|
||||
</method>
|
||||
</methods>
|
||||
|
@ -128,6 +128,10 @@
|
|||
Returns if user cancels baking.
|
||||
</constant>
|
||||
<constant name="BAKE_ERROR_NO_LIGHTMAPPER" value="7" enum="BakeError">
|
||||
Returns if lightmapper can't be created. Unless you are using a custom lightmapper, please report this as bug.
|
||||
</constant>
|
||||
<constant name="BAKE_ERROR_NO_ROOT" value="8" enum="BakeError">
|
||||
There is no root node to start baking from. Either provide [code]from_node[/code] argument or attach this node to a parent that should be used as root.
|
||||
</constant>
|
||||
<constant name="ENVIRONMENT_MODE_DISABLED" value="0" enum="EnvironmentMode">
|
||||
No environment is used during baking.
|
||||
|
|
|
@ -572,6 +572,10 @@ bool BakedLightmap::_lightmap_bake_step_function(float p_completion, const Strin
|
|||
}
|
||||
|
||||
BakedLightmap::BakeError BakedLightmap::bake(Node *p_from_node, String p_data_save_path) {
|
||||
if (!p_from_node && !get_parent()) {
|
||||
return BAKE_ERROR_NO_ROOT;
|
||||
}
|
||||
|
||||
bool no_save_path = false;
|
||||
if (p_data_save_path == "" && (get_light_data().is_null() || !get_light_data()->get_path().is_resource_file())) {
|
||||
no_save_path = true;
|
||||
|
@ -1595,6 +1599,7 @@ void BakedLightmap::_bind_methods() {
|
|||
BIND_ENUM_CONSTANT(BAKE_ERROR_INVALID_MESH);
|
||||
BIND_ENUM_CONSTANT(BAKE_ERROR_USER_ABORTED);
|
||||
BIND_ENUM_CONSTANT(BAKE_ERROR_NO_LIGHTMAPPER);
|
||||
BIND_ENUM_CONSTANT(BAKE_ERROR_NO_ROOT);
|
||||
|
||||
BIND_ENUM_CONSTANT(ENVIRONMENT_MODE_DISABLED);
|
||||
BIND_ENUM_CONSTANT(ENVIRONMENT_MODE_SCENE);
|
||||
|
|
|
@ -120,8 +120,8 @@ public:
|
|||
BAKE_ERROR_LIGHTMAP_SIZE,
|
||||
BAKE_ERROR_INVALID_MESH,
|
||||
BAKE_ERROR_USER_ABORTED,
|
||||
BAKE_ERROR_NO_LIGHTMAPPER
|
||||
|
||||
BAKE_ERROR_NO_LIGHTMAPPER,
|
||||
BAKE_ERROR_NO_ROOT,
|
||||
};
|
||||
|
||||
enum EnvironmentMode {
|
||||
|
|
Loading…
Reference in a new issue