Render: change view layer name convention to ViewLayer_001 to avoid OpenEXR issues
Some compositing applications do not support spaces and dots in layer names, and change these to other symbols on import. This causes various compatibility issues, including with Cryptomatte metadata. While technically those could be considered bugs in the Cryptomatte implementation of other software, where they are not properly accounting for that layer renaming, it's not ideal. The OpenEXR channel naming convention is "layer.pass.channel". We get away with dots in the layer name since we parse this from right to left, but it's a weak assumption. Now we don't forbid using spaces or dots, and existing files are unchanged. But at least by default names will be compatible, and hopefully other software catches up in time to support more flexible layer names. Ref T68924
This commit is contained in:
parent
8e8932c8ff
commit
9e9d003a82
Notes:
blender-bot
2023-02-14 11:21:40 +01:00
Referenced by issue #68924, OpenEXR pipeline improvements
|
@ -170,7 +170,7 @@ ViewLayer *BKE_view_layer_context_active_PLACEHOLDER(const Scene *scene)
|
|||
static ViewLayer *view_layer_add(const char *name)
|
||||
{
|
||||
if (!name) {
|
||||
name = DATA_("View Layer");
|
||||
name = DATA_("ViewLayer");
|
||||
}
|
||||
|
||||
ViewLayer *view_layer = MEM_callocN(sizeof(ViewLayer), "View Layer");
|
||||
|
@ -248,7 +248,7 @@ ViewLayer *BKE_view_layer_add(Scene *scene,
|
|||
BLI_uniquename(&scene->view_layers,
|
||||
view_layer_new,
|
||||
DATA_("ViewLayer"),
|
||||
'.',
|
||||
'_',
|
||||
offsetof(ViewLayer, name),
|
||||
sizeof(view_layer_new->name));
|
||||
|
||||
|
|
|
@ -239,7 +239,7 @@ static void scene_init_data(ID *id)
|
|||
/* Master Collection */
|
||||
scene->master_collection = BKE_collection_master_add();
|
||||
|
||||
BKE_view_layer_add(scene, "View Layer", NULL, VIEWLAYER_ADD_NEW);
|
||||
BKE_view_layer_add(scene, "ViewLayer", NULL, VIEWLAYER_ADD_NEW);
|
||||
}
|
||||
|
||||
static void scene_copy_markers(Scene *scene_dst, const Scene *scene_src, const int flag)
|
||||
|
|
|
@ -294,7 +294,7 @@ static void blo_update_defaults_scene(Main *bmain, Scene *scene)
|
|||
}
|
||||
|
||||
/* Rename render layers. */
|
||||
BKE_view_layer_rename(bmain, scene, scene->view_layers.first, "View Layer");
|
||||
BKE_view_layer_rename(bmain, scene, scene->view_layers.first, "ViewLayer");
|
||||
|
||||
/* Disable Z pass by default. */
|
||||
LISTBASE_FOREACH (ViewLayer *, view_layer, &scene->view_layers) {
|
||||
|
|
Loading…
Reference in New Issue