Ver Fonte

add name for resource

Jason0214 há 7 anos atrás
pai
commit
6aedf39014
46 ficheiros alterados com 184 adições e 16 exclusões
  1. 5 4
      io_scene_godot/converters/animation.py
  2. 2 2
      io_scene_godot/converters/material.py
  3. 1 1
      io_scene_godot/converters/material_node_tree/exporters.py
  4. 3 3
      io_scene_godot/converters/mesh.py
  5. 5 5
      io_scene_godot/converters/physics.py
  6. 4 1
      io_scene_godot/structures.py
  7. 2 0
      tests/reference_exports/action_animation/animation_bone_transform.escn
  8. 3 0
      tests/reference_exports/action_animation/animation_object_transform.escn
  9. 3 0
      tests/reference_exports/action_animation/animation_rotation_euler.escn
  10. 5 0
      tests/reference_exports/action_animation/animation_shared_action.escn
  11. 2 0
      tests/reference_exports/action_animation/animation_with_nla_tracks.escn
  12. 3 0
      tests/reference_exports/action_animation/constraint_external_IK.escn
  13. 2 0
      tests/reference_exports/action_animation/constraint_internal_IK.escn
  14. 1 0
      tests/reference_exports/armature/armature_bone_attachment.escn
  15. 1 0
      tests/reference_exports/armature/armature_with_mesh.escn
  16. 4 0
      tests/reference_exports/armature/armature_with_non_deform_bone.escn
  17. 1 0
      tests/reference_exports/armature/armature_with_other_vertex_groups.escn
  18. 2 0
      tests/reference_exports/armature/armature_with_physics.escn
  19. 1 0
      tests/reference_exports/armature/armature_with_pose.escn
  20. 3 0
      tests/reference_exports/camera/animation_camera.escn
  21. 4 0
      tests/reference_exports/duplicate_name.escn
  22. 3 0
      tests/reference_exports/light/animation_light_type_change.escn
  23. 4 0
      tests/reference_exports/light/animation_point_light_shadow.escn
  24. 3 0
      tests/reference_exports/light/animation_spot_light.escn
  25. 3 0
      tests/reference_exports/light/animation_spot_light_transform.escn
  26. 2 0
      tests/reference_exports/light/animation_sun.escn
  27. 3 0
      tests/reference_exports/light/just_point_lights.escn
  28. 3 0
      tests/reference_exports/light/just_spot_lights.escn
  29. 1 0
      tests/reference_exports/material/material_search.escn
  30. 5 0
      tests/reference_exports/material/object_link_material.escn
  31. 3 0
      tests/reference_exports/material/simple_materials.escn
  32. 6 0
      tests/reference_exports/material_cycle/material_anistropy.escn
  33. 43 0
      tests/reference_exports/material_cycle/material_cycle.escn
  34. 22 0
      tests/reference_exports/material_cycle/material_normal.escn
  35. 3 0
      tests/reference_exports/material_cycle/material_unpack_texture.escn
  36. 3 0
      tests/reference_exports/mesh/just_mesh.escn
  37. 1 0
      tests/reference_exports/mesh/parented_meshes.escn
  38. 1 0
      tests/reference_exports/mesh/physics.escn
  39. 2 0
      tests/reference_exports/mesh/single_edge_and_vertex.escn
  40. 1 0
      tests/reference_exports/mesh/tangent_test.escn
  41. 4 0
      tests/reference_exports/mesh/uv_testing.escn
  42. 1 0
      tests/reference_exports/mesh/vertex_color.escn
  43. 4 0
      tests/reference_exports/scene_animation/animation_parented_objects.escn
  44. 2 0
      tests/reference_exports/shape_key/animation_shapekey.escn
  45. 1 0
      tests/reference_exports/shape_key/just_shapekey.escn
  46. 3 0
      tests/reference_exports/shape_key/shapekey_with_multi_surface.escn

+ 5 - 4
io_scene_godot/converters/animation.py

@@ -74,8 +74,8 @@ class Track:
 
 
 class AnimationResource(InternalResource):
 class AnimationResource(InternalResource):
     """Internal resource with type Animation"""
     """Internal resource with type Animation"""
-    def __init__(self):
-        super().__init__('Animation')
+    def __init__(self, name):
+        super().__init__('Animation', name)
         self['step'] = 0.1
         self['step'] = 0.1
         self['length'] = 0
         self['length'] = 0
         self.track_count = 0
         self.track_count = 0
@@ -159,7 +159,8 @@ class AnimationPlayer(NodeTemplate):
 
 
     def create_animation_resource(self, escn_file, action):
     def create_animation_resource(self, escn_file, action):
         """Create a new animation resource and add it into escn file"""
         """Create a new animation resource and add it into escn file"""
-        new_anim_resource = AnimationResource()
+        resource_name = action.name
+        new_anim_resource = AnimationResource(resource_name)
 
 
         # add animation resource without checking hash,
         # add animation resource without checking hash,
         # blender action is in world space, while godot animation
         # blender action is in world space, while godot animation
@@ -167,7 +168,7 @@ class AnimationPlayer(NodeTemplate):
         # are not necessarily generates identical godot animations
         # are not necessarily generates identical godot animations
         resource_id = escn_file.force_add_internal_resource(new_anim_resource)
         resource_id = escn_file.force_add_internal_resource(new_anim_resource)
 
 
-        self['anims/{}'.format(action.name)] = (
+        self['anims/{}'.format(resource_name)] = (
             "SubResource({})".format(resource_id))
             "SubResource({})".format(resource_id))
 
 
         return new_anim_resource
         return new_anim_resource

+ 2 - 2
io_scene_godot/converters/material.py

@@ -64,7 +64,7 @@ def generate_material_resource(escn_file, export_settings, material):
 
 
     mat = None
     mat = None
     if engine == 'CYCLES' and material.node_tree is not None:
     if engine == 'CYCLES' and material.node_tree is not None:
-        mat = InternalResource("ShaderMaterial")
+        mat = InternalResource("ShaderMaterial", material.name)
         try:
         try:
             export_node_tree(
             export_node_tree(
                 escn_file, export_settings, material, mat
                 escn_file, export_settings, material, mat
@@ -76,7 +76,7 @@ def generate_material_resource(escn_file, export_settings, material):
             )
             )
 
 
     if mat is None:
     if mat is None:
-        mat = InternalResource("SpatialMaterial")
+        mat = InternalResource("SpatialMaterial", material.name)
 
 
         mat['flags_unshaded'] = material.use_shadeless
         mat['flags_unshaded'] = material.use_shadeless
         mat['flags_vertex_lighting'] = material.use_vertex_color_light
         mat['flags_vertex_lighting'] = material.use_vertex_color_light

+ 1 - 1
io_scene_godot/converters/material_node_tree/exporters.py

@@ -109,7 +109,7 @@ def export_node_tree(escn_file, export_settings, cycle_mat, shader_mat):
                 )
                 )
             )
             )
 
 
-    shader_resource = InternalResource('Shader')
+    shader_resource = InternalResource('Shader', cycle_mat.node_tree.name)
     shader_resource['code'] = '"{}"'.format(shader_globals.to_string())
     shader_resource['code'] = '"{}"'.format(shader_globals.to_string())
     resource_id = escn_file.add_internal_resource(
     resource_id = escn_file.add_internal_resource(
         shader_resource, cycle_mat.node_tree
         shader_resource, cycle_mat.node_tree

+ 3 - 3
io_scene_godot/converters/mesh.py

@@ -113,8 +113,8 @@ def export_object_link_material(escn_file, export_settings, mesh_object,
 
 
 class ArrayMeshResource(InternalResource):
 class ArrayMeshResource(InternalResource):
     """Godot ArrayMesh resource, containing surfaces"""
     """Godot ArrayMesh resource, containing surfaces"""
-    def __init__(self):
-        super().__init__('ArrayMesh')
+    def __init__(self, name):
+        super().__init__('ArrayMesh', name)
         self._mat_to_surf_mapping = dict()
         self._mat_to_surf_mapping = dict()
 
 
     def get_surface_id(self, material_index):
     def get_surface_id(self, material_index):
@@ -154,7 +154,7 @@ class MeshResourceExporter:
         if mesh_id is not None:
         if mesh_id is not None:
             return mesh_id
             return mesh_id
 
 
-        self.mesh_resource = ArrayMeshResource()
+        self.mesh_resource = ArrayMeshResource(mesh.name)
 
 
         self.make_arrays(
         self.make_arrays(
             escn_file,
             escn_file,

+ 5 - 5
io_scene_godot/converters/physics.py

@@ -77,17 +77,17 @@ def export_collision_shape(escn_file, export_settings, node, parent_gd_node,
     bounds = get_extents(node)
     bounds = get_extents(node)
 
 
     if rbd.collision_shape == "BOX":
     if rbd.collision_shape == "BOX":
-        col_shape = InternalResource("BoxShape")
+        col_shape = InternalResource("BoxShape", col_name)
         col_shape['extents'] = mathutils.Vector(bounds/2)
         col_shape['extents'] = mathutils.Vector(bounds/2)
         shape_id = escn_file.add_internal_resource(col_shape, rbd)
         shape_id = escn_file.add_internal_resource(col_shape, rbd)
 
 
     elif rbd.collision_shape == "SPHERE":
     elif rbd.collision_shape == "SPHERE":
-        col_shape = InternalResource("SphereShape")
+        col_shape = InternalResource("SphereShape", col_name)
         col_shape['radius'] = max(list(bounds))/2
         col_shape['radius'] = max(list(bounds))/2
         shape_id = escn_file.add_internal_resource(col_shape, rbd)
         shape_id = escn_file.add_internal_resource(col_shape, rbd)
 
 
     elif rbd.collision_shape == "CAPSULE":
     elif rbd.collision_shape == "CAPSULE":
-        col_shape = InternalResource("CapsuleShape")
+        col_shape = InternalResource("CapsuleShape", col_name)
         col_shape['radius'] = max(bounds.x, bounds.y) / 2
         col_shape['radius'] = max(bounds.x, bounds.y) / 2
         col_shape['height'] = bounds.z - col_shape['radius'] * 2
         col_shape['height'] = bounds.z - col_shape['radius'] * 2
         shape_id = escn_file.add_internal_resource(col_shape, rbd)
         shape_id = escn_file.add_internal_resource(col_shape, rbd)
@@ -122,7 +122,7 @@ def generate_convex_mesh_array(escn_file, export_settings, node):
     if resource_id is not None:
     if resource_id is not None:
         return resource_id
         return resource_id
 
 
-    col_shape = InternalResource("ConvexPolygonShape")
+    col_shape = InternalResource("ConvexPolygonShape", mesh.name)
 
 
     mesh = node.to_mesh(bpy.context.scene,
     mesh = node.to_mesh(bpy.context.scene,
                         export_settings['use_mesh_modifiers'],
                         export_settings['use_mesh_modifiers'],
@@ -157,7 +157,7 @@ def generate_triangle_mesh_array(escn_file, export_settings, node):
     if resource_id is not None:
     if resource_id is not None:
         return resource_id
         return resource_id
 
 
-    col_shape = InternalResource("ConcavePolygonShape")
+    col_shape = InternalResource("ConcavePolygonShape", mesh.name)
 
 
     mesh = node.to_mesh(bpy.context.scene,
     mesh = node.to_mesh(bpy.context.scene,
                         export_settings['use_mesh_modifiers'],
                         export_settings['use_mesh_modifiers'],

+ 4 - 1
io_scene_godot/structures.py

@@ -240,7 +240,7 @@ class ExternalResource(FileEntry):
 class InternalResource(FileEntry):
 class InternalResource(FileEntry):
     """ A resource stored internally to the escn file, such as the
     """ A resource stored internally to the escn file, such as the
     description of a material """
     description of a material """
-    def __init__(self, resource_type):
+    def __init__(self, resource_type, name):
         super().__init__(
         super().__init__(
             'sub_resource',
             'sub_resource',
             collections.OrderedDict((
             collections.OrderedDict((
@@ -249,6 +249,9 @@ class InternalResource(FileEntry):
                 ('type', resource_type)
                 ('type', resource_type)
             ))
             ))
         )
         )
+        self['resource_name'] = '"{}"'.format(
+            name.replace('.', '').replace('/', '')
+        )
 
 
 
 
 class Array(list):
 class Array(list):

+ 2 - 0
tests/reference_exports/action_animation/animation_bone_transform.escn

@@ -2,6 +2,7 @@
 
 
 [sub_resource id=1 type="Animation"]
 [sub_resource id=1 type="Animation"]
 
 
+resource_name = "ArmatureAction001"
 step = 0.1
 step = 0.1
 length = 3.33333
 length = 3.33333
 tracks/0/type = "transform"
 tracks/0/type = "transform"
@@ -15,6 +16,7 @@ tracks/1/keys = [0.0416667, 1.0, 0.0, 0.0, 0.0, 0.000141695, 0.000482664, -0.000
 
 
 [sub_resource id=2 type="ArrayMesh"]
 [sub_resource id=2 type="ArrayMesh"]
 
 
+resource_name = "Cylinder001"
 surfaces/0 = {
 surfaces/0 = {
 	"primitive":4,
 	"primitive":4,
 	"arrays":[
 	"arrays":[

+ 3 - 0
tests/reference_exports/action_animation/animation_object_transform.escn

@@ -2,6 +2,7 @@
 
 
 [sub_resource id=1 type="SpatialMaterial"]
 [sub_resource id=1 type="SpatialMaterial"]
 
 
+resource_name = "Material"
 flags_unshaded = false
 flags_unshaded = false
 flags_vertex_lighting = false
 flags_vertex_lighting = false
 flags_transparent = false
 flags_transparent = false
@@ -11,6 +12,7 @@ subsurf_scatter_enabled = false
 
 
 [sub_resource id=2 type="ArrayMesh"]
 [sub_resource id=2 type="ArrayMesh"]
 
 
+resource_name = "Cube"
 surfaces/0 = {
 surfaces/0 = {
 	"material":SubResource(1),
 	"material":SubResource(1),
 	"primitive":4,
 	"primitive":4,
@@ -30,6 +32,7 @@ surfaces/0 = {
 
 
 [sub_resource id=3 type="Animation"]
 [sub_resource id=3 type="Animation"]
 
 
+resource_name = "CubeAction"
 step = 0.1
 step = 0.1
 length = 6.0
 length = 6.0
 tracks/0/type = "transform"
 tracks/0/type = "transform"

+ 3 - 0
tests/reference_exports/action_animation/animation_rotation_euler.escn

@@ -2,6 +2,7 @@
 
 
 [sub_resource id=1 type="SpatialMaterial"]
 [sub_resource id=1 type="SpatialMaterial"]
 
 
+resource_name = "Material"
 flags_unshaded = false
 flags_unshaded = false
 flags_vertex_lighting = false
 flags_vertex_lighting = false
 flags_transparent = false
 flags_transparent = false
@@ -11,6 +12,7 @@ subsurf_scatter_enabled = false
 
 
 [sub_resource id=2 type="ArrayMesh"]
 [sub_resource id=2 type="ArrayMesh"]
 
 
+resource_name = "Cube"
 surfaces/0 = {
 surfaces/0 = {
 	"material":SubResource(1),
 	"material":SubResource(1),
 	"primitive":4,
 	"primitive":4,
@@ -30,6 +32,7 @@ surfaces/0 = {
 
 
 [sub_resource id=3 type="Animation"]
 [sub_resource id=3 type="Animation"]
 
 
+resource_name = "CubeAction"
 step = 0.1
 step = 0.1
 length = 7.08333
 length = 7.08333
 tracks/0/type = "transform"
 tracks/0/type = "transform"

+ 5 - 0
tests/reference_exports/action_animation/animation_shared_action.escn

@@ -2,6 +2,7 @@
 
 
 [sub_resource id=1 type="SpatialMaterial"]
 [sub_resource id=1 type="SpatialMaterial"]
 
 
+resource_name = "Material"
 flags_unshaded = false
 flags_unshaded = false
 flags_vertex_lighting = false
 flags_vertex_lighting = false
 flags_transparent = false
 flags_transparent = false
@@ -11,6 +12,7 @@ subsurf_scatter_enabled = false
 
 
 [sub_resource id=2 type="ArrayMesh"]
 [sub_resource id=2 type="ArrayMesh"]
 
 
+resource_name = "Cube"
 surfaces/0 = {
 surfaces/0 = {
 	"material":SubResource(1),
 	"material":SubResource(1),
 	"primitive":4,
 	"primitive":4,
@@ -30,6 +32,7 @@ surfaces/0 = {
 
 
 [sub_resource id=3 type="Animation"]
 [sub_resource id=3 type="Animation"]
 
 
+resource_name = "Cube001Action"
 step = 0.1
 step = 0.1
 length = 0.833333
 length = 0.833333
 tracks/0/type = "transform"
 tracks/0/type = "transform"
@@ -39,6 +42,7 @@ tracks/0/keys = [0.0416667, 1.0, 0.340304, -3.08205, -1.31526, -0.327801, -0.159
 
 
 [sub_resource id=4 type="ArrayMesh"]
 [sub_resource id=4 type="ArrayMesh"]
 
 
+resource_name = "Cube001"
 surfaces/0 = {
 surfaces/0 = {
 	"primitive":4,
 	"primitive":4,
 	"arrays":[
 	"arrays":[
@@ -57,6 +61,7 @@ surfaces/0 = {
 
 
 [sub_resource id=5 type="Animation"]
 [sub_resource id=5 type="Animation"]
 
 
+resource_name = "Cube001Action"
 step = 0.1
 step = 0.1
 length = 0.833333
 length = 0.833333
 tracks/0/type = "transform"
 tracks/0/type = "transform"

+ 2 - 0
tests/reference_exports/action_animation/animation_with_nla_tracks.escn

@@ -2,6 +2,7 @@
 
 
 [sub_resource id=1 type="Animation"]
 [sub_resource id=1 type="Animation"]
 
 
+resource_name = "ArmatureAction"
 step = 0.1
 step = 0.1
 length = 2.54167
 length = 2.54167
 tracks/0/type = "transform"
 tracks/0/type = "transform"
@@ -19,6 +20,7 @@ tracks/2/keys = [0.0416667, 1.0, -1.11759e-08, -2.61934e-10, -1.19209e-07, 2.328
 
 
 [sub_resource id=2 type="ArrayMesh"]
 [sub_resource id=2 type="ArrayMesh"]
 
 
+resource_name = "Cylinder"
 surfaces/0 = {
 surfaces/0 = {
 	"primitive":4,
 	"primitive":4,
 	"arrays":[
 	"arrays":[

+ 3 - 0
tests/reference_exports/action_animation/constraint_external_IK.escn

@@ -2,6 +2,7 @@
 
 
 [sub_resource id=1 type="Animation"]
 [sub_resource id=1 type="Animation"]
 
 
+resource_name = "EmptyAction001"
 step = 0.1
 step = 0.1
 length = 3.79167
 length = 3.79167
 tracks/0/type = "transform"
 tracks/0/type = "transform"
@@ -11,6 +12,7 @@ tracks/0/keys = [0.333333, 1.0, 0.0191494, 2.43195, 0.42693, 0.0, 0.0, 0.0, 1.0,
 
 
 [sub_resource id=2 type="Animation"]
 [sub_resource id=2 type="Animation"]
 
 
+resource_name = "ArmatureAction"
 step = 0.1
 step = 0.1
 length = 10.4167
 length = 10.4167
 tracks/0/type = "transform"
 tracks/0/type = "transform"
@@ -28,6 +30,7 @@ tracks/2/keys = [0.0416667, 1.0, 4.65661e-10, 1.19209e-07, 0.0, -1.86265e-09, -1
 
 
 [sub_resource id=3 type="ArrayMesh"]
 [sub_resource id=3 type="ArrayMesh"]
 
 
+resource_name = "Cylinder"
 surfaces/0 = {
 surfaces/0 = {
 	"primitive":4,
 	"primitive":4,
 	"arrays":[
 	"arrays":[

+ 2 - 0
tests/reference_exports/action_animation/constraint_internal_IK.escn

@@ -2,6 +2,7 @@
 
 
 [sub_resource id=1 type="Animation"]
 [sub_resource id=1 type="Animation"]
 
 
+resource_name = "ArmatureAction"
 step = 0.1
 step = 0.1
 length = 2.54167
 length = 2.54167
 tracks/0/type = "transform"
 tracks/0/type = "transform"
@@ -19,6 +20,7 @@ tracks/2/keys = [0.0416667, 1.0, -1.11759e-08, -2.61934e-10, -1.19209e-07, 2.328
 
 
 [sub_resource id=2 type="ArrayMesh"]
 [sub_resource id=2 type="ArrayMesh"]
 
 
+resource_name = "Cylinder"
 surfaces/0 = {
 surfaces/0 = {
 	"primitive":4,
 	"primitive":4,
 	"arrays":[
 	"arrays":[

+ 1 - 0
tests/reference_exports/armature/armature_bone_attachment.escn

@@ -2,6 +2,7 @@
 
 
 [sub_resource id=1 type="ArrayMesh"]
 [sub_resource id=1 type="ArrayMesh"]
 
 
+resource_name = "Cylinder"
 surfaces/0 = {
 surfaces/0 = {
 	"primitive":4,
 	"primitive":4,
 	"arrays":[
 	"arrays":[

+ 1 - 0
tests/reference_exports/armature/armature_with_mesh.escn

@@ -2,6 +2,7 @@
 
 
 [sub_resource id=1 type="ArrayMesh"]
 [sub_resource id=1 type="ArrayMesh"]
 
 
+resource_name = "Suzanne"
 surfaces/0 = {
 surfaces/0 = {
 	"primitive":4,
 	"primitive":4,
 	"arrays":[
 	"arrays":[

+ 4 - 0
tests/reference_exports/armature/armature_with_non_deform_bone.escn

@@ -2,6 +2,7 @@
 
 
 [sub_resource id=1 type="Animation"]
 [sub_resource id=1 type="Animation"]
 
 
+resource_name = "Armature001Action"
 step = 0.1
 step = 0.1
 length = 4.16667
 length = 4.16667
 tracks/0/type = "transform"
 tracks/0/type = "transform"
@@ -19,6 +20,7 @@ tracks/2/keys = [0.0416667, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 1.
 
 
 [sub_resource id=2 type="ArrayMesh"]
 [sub_resource id=2 type="ArrayMesh"]
 
 
+resource_name = "Cube"
 surfaces/0 = {
 surfaces/0 = {
 	"primitive":4,
 	"primitive":4,
 	"arrays":[
 	"arrays":[
@@ -37,6 +39,7 @@ surfaces/0 = {
 
 
 [sub_resource id=3 type="Animation"]
 [sub_resource id=3 type="Animation"]
 
 
+resource_name = "ArmatureAction"
 step = 0.1
 step = 0.1
 length = 4.20833
 length = 4.20833
 tracks/0/type = "transform"
 tracks/0/type = "transform"
@@ -50,6 +53,7 @@ tracks/1/keys = [0.0416667, 1.0, 0.0, 0.0, 0.0, 0.154309, -0.0356616, 0.0570919,
 
 
 [sub_resource id=4 type="ArrayMesh"]
 [sub_resource id=4 type="ArrayMesh"]
 
 
+resource_name = "Cylinder"
 surfaces/0 = {
 surfaces/0 = {
 	"primitive":4,
 	"primitive":4,
 	"arrays":[
 	"arrays":[

+ 1 - 0
tests/reference_exports/armature/armature_with_other_vertex_groups.escn

@@ -2,6 +2,7 @@
 
 
 [sub_resource id=1 type="ArrayMesh"]
 [sub_resource id=1 type="ArrayMesh"]
 
 
+resource_name = "Cylinder"
 surfaces/0 = {
 surfaces/0 = {
 	"primitive":4,
 	"primitive":4,
 	"arrays":[
 	"arrays":[

+ 2 - 0
tests/reference_exports/armature/armature_with_physics.escn

@@ -2,10 +2,12 @@
 
 
 [sub_resource id=1 type="ConvexPolygonShape"]
 [sub_resource id=1 type="ConvexPolygonShape"]
 
 
+resource_name = "Cube002"
 points = PoolVector3Array(-0.8, -0.8, 1.2, -0.8, 0.8, -1.2, -0.8, -0.8, -1.2, -0.8, 0.8, 1.2, 0.8, 0.8, -1.2, -0.8, 0.8, -1.2, 0.8, 0.8, 1.2, 0.8, -0.8, -1.2, 0.8, 0.8, -1.2, 0.8, -0.8, 1.2, -0.8, -0.8, -1.2, 0.8, -0.8, -1.2, 0.8, 0.8, -1.2, -0.8, -0.8, -1.2, -0.8, 0.8, -1.2, -0.8, 0.8, 1.2, 0.8, -0.8, 1.2, 0.8, 0.8, 1.2, -0.8, -0.8, 1.2, -0.8, 0.8, 1.2, -0.8, 0.8, -1.2, -0.8, 0.8, 1.2, 0.8, 0.8, 1.2, 0.8, 0.8, -1.2, 0.8, 0.8, 1.2, 0.8, -0.8, 1.2, 0.8, -0.8, -1.2, 0.8, -0.8, 1.2, -0.8, -0.8, 1.2, -0.8, -0.8, -1.2, 0.8, 0.8, -1.2, 0.8, -0.8, -1.2, -0.8, -0.8, -1.2, -0.8, 0.8, 1.2, -0.8, -0.8, 1.2, 0.8, -0.8, 1.2)
 points = PoolVector3Array(-0.8, -0.8, 1.2, -0.8, 0.8, -1.2, -0.8, -0.8, -1.2, -0.8, 0.8, 1.2, 0.8, 0.8, -1.2, -0.8, 0.8, -1.2, 0.8, 0.8, 1.2, 0.8, -0.8, -1.2, 0.8, 0.8, -1.2, 0.8, -0.8, 1.2, -0.8, -0.8, -1.2, 0.8, -0.8, -1.2, 0.8, 0.8, -1.2, -0.8, -0.8, -1.2, -0.8, 0.8, -1.2, -0.8, 0.8, 1.2, 0.8, -0.8, 1.2, 0.8, 0.8, 1.2, -0.8, -0.8, 1.2, -0.8, 0.8, 1.2, -0.8, 0.8, -1.2, -0.8, 0.8, 1.2, 0.8, 0.8, 1.2, 0.8, 0.8, -1.2, 0.8, 0.8, 1.2, 0.8, -0.8, 1.2, 0.8, -0.8, -1.2, 0.8, -0.8, 1.2, -0.8, -0.8, 1.2, -0.8, -0.8, -1.2, 0.8, 0.8, -1.2, 0.8, -0.8, -1.2, -0.8, -0.8, -1.2, -0.8, 0.8, 1.2, -0.8, -0.8, 1.2, 0.8, -0.8, 1.2)
 
 
 [sub_resource id=2 type="ArrayMesh"]
 [sub_resource id=2 type="ArrayMesh"]
 
 
+resource_name = "Cube001"
 surfaces/0 = {
 surfaces/0 = {
 	"primitive":4,
 	"primitive":4,
 	"arrays":[
 	"arrays":[

+ 1 - 0
tests/reference_exports/armature/armature_with_pose.escn

@@ -2,6 +2,7 @@
 
 
 [sub_resource id=1 type="ArrayMesh"]
 [sub_resource id=1 type="ArrayMesh"]
 
 
+resource_name = "Suzanne"
 surfaces/0 = {
 surfaces/0 = {
 	"primitive":4,
 	"primitive":4,
 	"arrays":[
 	"arrays":[

+ 3 - 0
tests/reference_exports/camera/animation_camera.escn

@@ -2,6 +2,7 @@
 
 
 [sub_resource id=1 type="SpatialMaterial"]
 [sub_resource id=1 type="SpatialMaterial"]
 
 
+resource_name = "Material"
 flags_unshaded = false
 flags_unshaded = false
 flags_vertex_lighting = false
 flags_vertex_lighting = false
 flags_transparent = false
 flags_transparent = false
@@ -11,6 +12,7 @@ subsurf_scatter_enabled = false
 
 
 [sub_resource id=2 type="ArrayMesh"]
 [sub_resource id=2 type="ArrayMesh"]
 
 
+resource_name = "Cube"
 surfaces/0 = {
 surfaces/0 = {
 	"material":SubResource(1),
 	"material":SubResource(1),
 	"primitive":4,
 	"primitive":4,
@@ -30,6 +32,7 @@ surfaces/0 = {
 
 
 [sub_resource id=3 type="Animation"]
 [sub_resource id=3 type="Animation"]
 
 
+resource_name = "CameraAction"
 step = 0.1
 step = 0.1
 length = 2.91667
 length = 2.91667
 tracks/0/type = "value"
 tracks/0/type = "value"

+ 4 - 0
tests/reference_exports/duplicate_name.escn

@@ -2,6 +2,7 @@
 
 
 [sub_resource id=1 type="ArrayMesh"]
 [sub_resource id=1 type="ArrayMesh"]
 
 
+resource_name = "Cube002"
 surfaces/0 = {
 surfaces/0 = {
 	"primitive":4,
 	"primitive":4,
 	"arrays":[
 	"arrays":[
@@ -20,6 +21,7 @@ surfaces/0 = {
 
 
 [sub_resource id=2 type="ArrayMesh"]
 [sub_resource id=2 type="ArrayMesh"]
 
 
+resource_name = "Cube001"
 surfaces/0 = {
 surfaces/0 = {
 	"primitive":4,
 	"primitive":4,
 	"arrays":[
 	"arrays":[
@@ -38,6 +40,7 @@ surfaces/0 = {
 
 
 [sub_resource id=3 type="SpatialMaterial"]
 [sub_resource id=3 type="SpatialMaterial"]
 
 
+resource_name = "Material"
 flags_unshaded = false
 flags_unshaded = false
 flags_vertex_lighting = false
 flags_vertex_lighting = false
 flags_transparent = false
 flags_transparent = false
@@ -47,6 +50,7 @@ subsurf_scatter_enabled = false
 
 
 [sub_resource id=4 type="ArrayMesh"]
 [sub_resource id=4 type="ArrayMesh"]
 
 
+resource_name = "Cube"
 surfaces/0 = {
 surfaces/0 = {
 	"material":SubResource(3),
 	"material":SubResource(3),
 	"primitive":4,
 	"primitive":4,

+ 3 - 0
tests/reference_exports/light/animation_light_type_change.escn

@@ -2,6 +2,7 @@
 
 
 [sub_resource id=1 type="SpatialMaterial"]
 [sub_resource id=1 type="SpatialMaterial"]
 
 
+resource_name = "Material"
 flags_unshaded = false
 flags_unshaded = false
 flags_vertex_lighting = false
 flags_vertex_lighting = false
 flags_transparent = false
 flags_transparent = false
@@ -11,6 +12,7 @@ subsurf_scatter_enabled = false
 
 
 [sub_resource id=2 type="ArrayMesh"]
 [sub_resource id=2 type="ArrayMesh"]
 
 
+resource_name = "Cube"
 surfaces/0 = {
 surfaces/0 = {
 	"material":SubResource(1),
 	"material":SubResource(1),
 	"primitive":4,
 	"primitive":4,
@@ -30,6 +32,7 @@ surfaces/0 = {
 
 
 [sub_resource id=3 type="Animation"]
 [sub_resource id=3 type="Animation"]
 
 
+resource_name = "LampAction"
 step = 0.1
 step = 0.1
 length = 2.91667
 length = 2.91667
 tracks/0/type = "value"
 tracks/0/type = "value"

+ 4 - 0
tests/reference_exports/light/animation_point_light_shadow.escn

@@ -2,6 +2,7 @@
 
 
 [sub_resource id=1 type="ArrayMesh"]
 [sub_resource id=1 type="ArrayMesh"]
 
 
+resource_name = "Cube001"
 surfaces/0 = {
 surfaces/0 = {
 	"primitive":4,
 	"primitive":4,
 	"arrays":[
 	"arrays":[
@@ -20,6 +21,7 @@ surfaces/0 = {
 
 
 [sub_resource id=2 type="SpatialMaterial"]
 [sub_resource id=2 type="SpatialMaterial"]
 
 
+resource_name = "Material"
 flags_unshaded = false
 flags_unshaded = false
 flags_vertex_lighting = false
 flags_vertex_lighting = false
 flags_transparent = false
 flags_transparent = false
@@ -29,6 +31,7 @@ subsurf_scatter_enabled = false
 
 
 [sub_resource id=3 type="ArrayMesh"]
 [sub_resource id=3 type="ArrayMesh"]
 
 
+resource_name = "Cube"
 surfaces/0 = {
 surfaces/0 = {
 	"material":SubResource(2),
 	"material":SubResource(2),
 	"primitive":4,
 	"primitive":4,
@@ -48,6 +51,7 @@ surfaces/0 = {
 
 
 [sub_resource id=4 type="Animation"]
 [sub_resource id=4 type="Animation"]
 
 
+resource_name = "LampAction"
 step = 0.1
 step = 0.1
 length = 1.25
 length = 1.25
 tracks/0/type = "value"
 tracks/0/type = "value"

+ 3 - 0
tests/reference_exports/light/animation_spot_light.escn

@@ -2,6 +2,7 @@
 
 
 [sub_resource id=1 type="SpatialMaterial"]
 [sub_resource id=1 type="SpatialMaterial"]
 
 
+resource_name = "Material"
 flags_unshaded = false
 flags_unshaded = false
 flags_vertex_lighting = false
 flags_vertex_lighting = false
 flags_transparent = false
 flags_transparent = false
@@ -11,6 +12,7 @@ subsurf_scatter_enabled = false
 
 
 [sub_resource id=2 type="ArrayMesh"]
 [sub_resource id=2 type="ArrayMesh"]
 
 
+resource_name = "Cube"
 surfaces/0 = {
 surfaces/0 = {
 	"material":SubResource(1),
 	"material":SubResource(1),
 	"primitive":4,
 	"primitive":4,
@@ -30,6 +32,7 @@ surfaces/0 = {
 
 
 [sub_resource id=3 type="Animation"]
 [sub_resource id=3 type="Animation"]
 
 
+resource_name = "LampAction"
 step = 0.1
 step = 0.1
 length = 2.5
 length = 2.5
 tracks/0/type = "value"
 tracks/0/type = "value"

+ 3 - 0
tests/reference_exports/light/animation_spot_light_transform.escn

@@ -2,6 +2,7 @@
 
 
 [sub_resource id=1 type="Animation"]
 [sub_resource id=1 type="Animation"]
 
 
+resource_name = "SpotAction"
 step = 0.1
 step = 0.1
 length = 1.66667
 length = 1.66667
 tracks/0/type = "transform"
 tracks/0/type = "transform"
@@ -11,6 +12,7 @@ tracks/0/keys = [0.0416667, 1.0, 4.20022, 5.71699, 1.06498, -0.601878, 0.391827,
 
 
 [sub_resource id=2 type="SpatialMaterial"]
 [sub_resource id=2 type="SpatialMaterial"]
 
 
+resource_name = "Material"
 flags_unshaded = false
 flags_unshaded = false
 flags_vertex_lighting = false
 flags_vertex_lighting = false
 flags_transparent = false
 flags_transparent = false
@@ -20,6 +22,7 @@ subsurf_scatter_enabled = false
 
 
 [sub_resource id=3 type="ArrayMesh"]
 [sub_resource id=3 type="ArrayMesh"]
 
 
+resource_name = "Cube"
 surfaces/0 = {
 surfaces/0 = {
 	"material":SubResource(2),
 	"material":SubResource(2),
 	"primitive":4,
 	"primitive":4,

+ 2 - 0
tests/reference_exports/light/animation_sun.escn

@@ -2,6 +2,7 @@
 
 
 [sub_resource id=1 type="ArrayMesh"]
 [sub_resource id=1 type="ArrayMesh"]
 
 
+resource_name = "Cube"
 surfaces/0 = {
 surfaces/0 = {
 	"primitive":4,
 	"primitive":4,
 	"arrays":[
 	"arrays":[
@@ -20,6 +21,7 @@ surfaces/0 = {
 
 
 [sub_resource id=2 type="Animation"]
 [sub_resource id=2 type="Animation"]
 
 
+resource_name = "SunAction"
 step = 0.1
 step = 0.1
 length = 3.33333
 length = 3.33333
 tracks/0/type = "value"
 tracks/0/type = "value"

+ 3 - 0
tests/reference_exports/light/just_point_lights.escn

@@ -2,6 +2,7 @@
 
 
 [sub_resource id=1 type="ArrayMesh"]
 [sub_resource id=1 type="ArrayMesh"]
 
 
+resource_name = "Cube000"
 surfaces/0 = {
 surfaces/0 = {
 	"primitive":4,
 	"primitive":4,
 	"arrays":[
 	"arrays":[
@@ -20,6 +21,7 @@ surfaces/0 = {
 
 
 [sub_resource id=2 type="ArrayMesh"]
 [sub_resource id=2 type="ArrayMesh"]
 
 
+resource_name = "Cube001"
 surfaces/0 = {
 surfaces/0 = {
 	"primitive":4,
 	"primitive":4,
 	"arrays":[
 	"arrays":[
@@ -38,6 +40,7 @@ surfaces/0 = {
 
 
 [sub_resource id=3 type="ArrayMesh"]
 [sub_resource id=3 type="ArrayMesh"]
 
 
+resource_name = "Plane"
 surfaces/0 = {
 surfaces/0 = {
 	"primitive":4,
 	"primitive":4,
 	"arrays":[
 	"arrays":[

+ 3 - 0
tests/reference_exports/light/just_spot_lights.escn

@@ -2,6 +2,7 @@
 
 
 [sub_resource id=1 type="ArrayMesh"]
 [sub_resource id=1 type="ArrayMesh"]
 
 
+resource_name = "Cube002"
 surfaces/0 = {
 surfaces/0 = {
 	"primitive":4,
 	"primitive":4,
 	"arrays":[
 	"arrays":[
@@ -20,6 +21,7 @@ surfaces/0 = {
 
 
 [sub_resource id=2 type="ArrayMesh"]
 [sub_resource id=2 type="ArrayMesh"]
 
 
+resource_name = "Cube001"
 surfaces/0 = {
 surfaces/0 = {
 	"primitive":4,
 	"primitive":4,
 	"arrays":[
 	"arrays":[
@@ -38,6 +40,7 @@ surfaces/0 = {
 
 
 [sub_resource id=3 type="ArrayMesh"]
 [sub_resource id=3 type="ArrayMesh"]
 
 
+resource_name = "Plane"
 surfaces/0 = {
 surfaces/0 = {
 	"primitive":4,
 	"primitive":4,
 	"arrays":[
 	"arrays":[

+ 1 - 0
tests/reference_exports/material/material_search.escn

@@ -3,6 +3,7 @@
 
 
 [sub_resource id=1 type="ArrayMesh"]
 [sub_resource id=1 type="ArrayMesh"]
 
 
+resource_name = "Cube"
 surfaces/0 = {
 surfaces/0 = {
 	"material":ExtResource(1),
 	"material":ExtResource(1),
 	"primitive":4,
 	"primitive":4,

+ 5 - 0
tests/reference_exports/material/object_link_material.escn

@@ -2,6 +2,7 @@
 
 
 [sub_resource id=1 type="SpatialMaterial"]
 [sub_resource id=1 type="SpatialMaterial"]
 
 
+resource_name = "Material001"
 flags_unshaded = false
 flags_unshaded = false
 flags_vertex_lighting = false
 flags_vertex_lighting = false
 flags_transparent = false
 flags_transparent = false
@@ -11,6 +12,7 @@ subsurf_scatter_enabled = false
 
 
 [sub_resource id=2 type="SpatialMaterial"]
 [sub_resource id=2 type="SpatialMaterial"]
 
 
+resource_name = "Material"
 flags_unshaded = false
 flags_unshaded = false
 flags_vertex_lighting = false
 flags_vertex_lighting = false
 flags_transparent = false
 flags_transparent = false
@@ -20,6 +22,7 @@ subsurf_scatter_enabled = false
 
 
 [sub_resource id=3 type="ArrayMesh"]
 [sub_resource id=3 type="ArrayMesh"]
 
 
+resource_name = "Cube"
 surfaces/0 = {
 surfaces/0 = {
 	"material":SubResource(1),
 	"material":SubResource(1),
 	"primitive":4,
 	"primitive":4,
@@ -55,6 +58,7 @@ surfaces/1 = {
 
 
 [sub_resource id=4 type="SpatialMaterial"]
 [sub_resource id=4 type="SpatialMaterial"]
 
 
+resource_name = "Material002"
 flags_unshaded = false
 flags_unshaded = false
 flags_vertex_lighting = false
 flags_vertex_lighting = false
 flags_transparent = false
 flags_transparent = false
@@ -64,6 +68,7 @@ subsurf_scatter_enabled = false
 
 
 [sub_resource id=5 type="SpatialMaterial"]
 [sub_resource id=5 type="SpatialMaterial"]
 
 
+resource_name = "Material003"
 flags_unshaded = false
 flags_unshaded = false
 flags_vertex_lighting = false
 flags_vertex_lighting = false
 flags_transparent = false
 flags_transparent = false

+ 3 - 0
tests/reference_exports/material/simple_materials.escn

@@ -2,6 +2,7 @@
 
 
 [sub_resource id=1 type="SpatialMaterial"]
 [sub_resource id=1 type="SpatialMaterial"]
 
 
+resource_name = "Material"
 flags_unshaded = false
 flags_unshaded = false
 flags_vertex_lighting = false
 flags_vertex_lighting = false
 flags_transparent = false
 flags_transparent = false
@@ -11,6 +12,7 @@ subsurf_scatter_enabled = false
 
 
 [sub_resource id=2 type="SpatialMaterial"]
 [sub_resource id=2 type="SpatialMaterial"]
 
 
+resource_name = "Other"
 flags_unshaded = false
 flags_unshaded = false
 flags_vertex_lighting = false
 flags_vertex_lighting = false
 flags_transparent = false
 flags_transparent = false
@@ -20,6 +22,7 @@ subsurf_scatter_enabled = false
 
 
 [sub_resource id=3 type="ArrayMesh"]
 [sub_resource id=3 type="ArrayMesh"]
 
 
+resource_name = "Cube"
 surfaces/0 = {
 surfaces/0 = {
 	"material":SubResource(1),
 	"material":SubResource(1),
 	"primitive":4,
 	"primitive":4,

+ 6 - 0
tests/reference_exports/material_cycle/material_anistropy.escn

@@ -2,6 +2,7 @@
 
 
 [sub_resource id=1 type="Shader"]
 [sub_resource id=1 type="Shader"]
 
 
+resource_name = "Shader Nodetree"
 code = "shader_type spatial;
 code = "shader_type spatial;
 render_mode blend_mix,depth_draw_always,cull_back,diffuse_burley,specular_schlick_ggx;
 render_mode blend_mix,depth_draw_always,cull_back,diffuse_burley,specular_schlick_ggx;
 
 
@@ -91,10 +92,12 @@ void fragment() {
 
 
 [sub_resource id=2 type="ShaderMaterial"]
 [sub_resource id=2 type="ShaderMaterial"]
 
 
+resource_name = "Material001"
 shader = SubResource(1)
 shader = SubResource(1)
 
 
 [sub_resource id=3 type="ArrayMesh"]
 [sub_resource id=3 type="ArrayMesh"]
 
 
+resource_name = "Cylinder"
 surfaces/0 = {
 surfaces/0 = {
 	"material":SubResource(2),
 	"material":SubResource(2),
 	"primitive":4,
 	"primitive":4,
@@ -114,6 +117,7 @@ surfaces/0 = {
 
 
 [sub_resource id=4 type="Shader"]
 [sub_resource id=4 type="Shader"]
 
 
+resource_name = "Shader Nodetree"
 code = "shader_type spatial;
 code = "shader_type spatial;
 render_mode blend_mix,depth_draw_always,cull_back,diffuse_burley,specular_schlick_ggx;
 render_mode blend_mix,depth_draw_always,cull_back,diffuse_burley,specular_schlick_ggx;
 
 
@@ -211,10 +215,12 @@ void fragment() {
 
 
 [sub_resource id=5 type="ShaderMaterial"]
 [sub_resource id=5 type="ShaderMaterial"]
 
 
+resource_name = "Material002"
 shader = SubResource(4)
 shader = SubResource(4)
 
 
 [sub_resource id=6 type="ArrayMesh"]
 [sub_resource id=6 type="ArrayMesh"]
 
 
+resource_name = "Cylinder001"
 surfaces/0 = {
 surfaces/0 = {
 	"material":SubResource(5),
 	"material":SubResource(5),
 	"primitive":4,
 	"primitive":4,

+ 43 - 0
tests/reference_exports/material_cycle/material_cycle.escn

@@ -2,6 +2,7 @@
 
 
 [sub_resource id=1 type="Shader"]
 [sub_resource id=1 type="Shader"]
 
 
+resource_name = "Shader Nodetree"
 code = "shader_type spatial;
 code = "shader_type spatial;
 render_mode blend_mix,depth_draw_always,cull_back,diffuse_burley,specular_schlick_ggx;
 render_mode blend_mix,depth_draw_always,cull_back,diffuse_burley,specular_schlick_ggx;
 
 
@@ -38,10 +39,12 @@ void fragment() {
 
 
 [sub_resource id=2 type="ShaderMaterial"]
 [sub_resource id=2 type="ShaderMaterial"]
 
 
+resource_name = "Test Material"
 shader = SubResource(1)
 shader = SubResource(1)
 
 
 [sub_resource id=3 type="ArrayMesh"]
 [sub_resource id=3 type="ArrayMesh"]
 
 
+resource_name = "SolidModel001"
 surfaces/0 = {
 surfaces/0 = {
 	"material":SubResource(2),
 	"material":SubResource(2),
 	"primitive":4,
 	"primitive":4,
@@ -61,6 +64,7 @@ surfaces/0 = {
 
 
 [sub_resource id=4 type="Shader"]
 [sub_resource id=4 type="Shader"]
 
 
+resource_name = "Shader Nodetree"
 code = "shader_type spatial;
 code = "shader_type spatial;
 render_mode blend_mix,depth_draw_always,cull_back,diffuse_burley,specular_schlick_ggx;
 render_mode blend_mix,depth_draw_always,cull_back,diffuse_burley,specular_schlick_ggx;
 uniform float uni1_refraction_offset;
 uniform float uni1_refraction_offset;
@@ -138,10 +142,12 @@ void fragment() {
 
 
 [sub_resource id=5 type="ShaderMaterial"]
 [sub_resource id=5 type="ShaderMaterial"]
 
 
+resource_name = "VariableMaterial"
 shader = SubResource(4)
 shader = SubResource(4)
 
 
 [sub_resource id=6 type="Shader"]
 [sub_resource id=6 type="Shader"]
 
 
+resource_name = "Shader Nodetree"
 code = "shader_type spatial;
 code = "shader_type spatial;
 render_mode blend_mix,depth_draw_always,cull_back,diffuse_burley,specular_schlick_ggx;
 render_mode blend_mix,depth_draw_always,cull_back,diffuse_burley,specular_schlick_ggx;
 
 
@@ -178,10 +184,12 @@ void fragment() {
 
 
 [sub_resource id=7 type="ShaderMaterial"]
 [sub_resource id=7 type="ShaderMaterial"]
 
 
+resource_name = "X-Gray160"
 shader = SubResource(6)
 shader = SubResource(6)
 
 
 [sub_resource id=8 type="ArrayMesh"]
 [sub_resource id=8 type="ArrayMesh"]
 
 
+resource_name = "LogoOutside"
 surfaces/0 = {
 surfaces/0 = {
 	"material":SubResource(7),
 	"material":SubResource(7),
 	"primitive":4,
 	"primitive":4,
@@ -201,6 +209,7 @@ surfaces/0 = {
 
 
 [sub_resource id=9 type="Shader"]
 [sub_resource id=9 type="Shader"]
 
 
+resource_name = "Shader Nodetree"
 code = "shader_type spatial;
 code = "shader_type spatial;
 render_mode blend_mix,depth_draw_always,cull_back,diffuse_burley,specular_schlick_ggx;
 render_mode blend_mix,depth_draw_always,cull_back,diffuse_burley,specular_schlick_ggx;
 
 
@@ -258,10 +267,12 @@ void fragment() {
 
 
 [sub_resource id=10 type="ShaderMaterial"]
 [sub_resource id=10 type="ShaderMaterial"]
 
 
+resource_name = "Socket"
 shader = SubResource(9)
 shader = SubResource(9)
 
 
 [sub_resource id=11 type="ArrayMesh"]
 [sub_resource id=11 type="ArrayMesh"]
 
 
+resource_name = "LogoInside001"
 surfaces/0 = {
 surfaces/0 = {
 	"material":SubResource(10),
 	"material":SubResource(10),
 	"primitive":4,
 	"primitive":4,
@@ -281,6 +292,7 @@ surfaces/0 = {
 
 
 [sub_resource id=12 type="Shader"]
 [sub_resource id=12 type="Shader"]
 
 
+resource_name = "Shader Nodetree"
 code = "shader_type spatial;
 code = "shader_type spatial;
 render_mode blend_mix,depth_draw_always,cull_back,diffuse_burley,specular_schlick_ggx;
 render_mode blend_mix,depth_draw_always,cull_back,diffuse_burley,specular_schlick_ggx;
 
 
@@ -317,10 +329,12 @@ void fragment() {
 
 
 [sub_resource id=13 type="ShaderMaterial"]
 [sub_resource id=13 type="ShaderMaterial"]
 
 
+resource_name = "Blender"
 shader = SubResource(12)
 shader = SubResource(12)
 
 
 [sub_resource id=14 type="ArrayMesh"]
 [sub_resource id=14 type="ArrayMesh"]
 
 
+resource_name = "LogoFluidMaterial001"
 surfaces/0 = {
 surfaces/0 = {
 	"material":SubResource(13),
 	"material":SubResource(13),
 	"primitive":4,
 	"primitive":4,
@@ -340,6 +354,7 @@ surfaces/0 = {
 
 
 [sub_resource id=15 type="ArrayMesh"]
 [sub_resource id=15 type="ArrayMesh"]
 
 
+resource_name = "Base001"
 surfaces/0 = {
 surfaces/0 = {
 	"material":SubResource(10),
 	"material":SubResource(10),
 	"primitive":4,
 	"primitive":4,
@@ -359,6 +374,7 @@ surfaces/0 = {
 
 
 [sub_resource id=16 type="Shader"]
 [sub_resource id=16 type="Shader"]
 
 
+resource_name = "Shader Nodetree"
 code = "shader_type spatial;
 code = "shader_type spatial;
 render_mode blend_mix,depth_draw_always,cull_back,diffuse_burley,specular_schlick_ggx;
 render_mode blend_mix,depth_draw_always,cull_back,diffuse_burley,specular_schlick_ggx;
 
 
@@ -395,10 +411,12 @@ void fragment() {
 
 
 [sub_resource id=17 type="ShaderMaterial"]
 [sub_resource id=17 type="ShaderMaterial"]
 
 
+resource_name = "Material004"
 shader = SubResource(16)
 shader = SubResource(16)
 
 
 [sub_resource id=18 type="Shader"]
 [sub_resource id=18 type="Shader"]
 
 
+resource_name = "Shader Nodetree"
 code = "shader_type spatial;
 code = "shader_type spatial;
 render_mode blend_mix,depth_draw_always,cull_back,diffuse_burley,specular_schlick_ggx;
 render_mode blend_mix,depth_draw_always,cull_back,diffuse_burley,specular_schlick_ggx;
 
 
@@ -496,10 +514,12 @@ void fragment() {
 
 
 [sub_resource id=19 type="ShaderMaterial"]
 [sub_resource id=19 type="ShaderMaterial"]
 
 
+resource_name = "Material003"
 shader = SubResource(18)
 shader = SubResource(18)
 
 
 [sub_resource id=20 type="Shader"]
 [sub_resource id=20 type="Shader"]
 
 
+resource_name = "Shader Nodetree"
 code = "shader_type spatial;
 code = "shader_type spatial;
 render_mode blend_mix,depth_draw_always,cull_back,diffuse_burley,specular_schlick_ggx;
 render_mode blend_mix,depth_draw_always,cull_back,diffuse_burley,specular_schlick_ggx;
 
 
@@ -536,10 +556,12 @@ void fragment() {
 
 
 [sub_resource id=21 type="ShaderMaterial"]
 [sub_resource id=21 type="ShaderMaterial"]
 
 
+resource_name = "Material002"
 shader = SubResource(20)
 shader = SubResource(20)
 
 
 [sub_resource id=22 type="Shader"]
 [sub_resource id=22 type="Shader"]
 
 
+resource_name = "Shader Nodetree"
 code = "shader_type spatial;
 code = "shader_type spatial;
 render_mode blend_mix,depth_draw_always,cull_back,diffuse_burley,specular_schlick_ggx;
 render_mode blend_mix,depth_draw_always,cull_back,diffuse_burley,specular_schlick_ggx;
 
 
@@ -576,10 +598,12 @@ void fragment() {
 
 
 [sub_resource id=23 type="ShaderMaterial"]
 [sub_resource id=23 type="ShaderMaterial"]
 
 
+resource_name = "Material005"
 shader = SubResource(22)
 shader = SubResource(22)
 
 
 [sub_resource id=24 type="Shader"]
 [sub_resource id=24 type="Shader"]
 
 
+resource_name = "Shader Nodetree"
 code = "shader_type spatial;
 code = "shader_type spatial;
 render_mode blend_mix,depth_draw_always,cull_back,diffuse_burley,specular_schlick_ggx;
 render_mode blend_mix,depth_draw_always,cull_back,diffuse_burley,specular_schlick_ggx;
 
 
@@ -619,10 +643,12 @@ void fragment() {
 
 
 [sub_resource id=25 type="ShaderMaterial"]
 [sub_resource id=25 type="ShaderMaterial"]
 
 
+resource_name = "Material006"
 shader = SubResource(24)
 shader = SubResource(24)
 
 
 [sub_resource id=26 type="Shader"]
 [sub_resource id=26 type="Shader"]
 
 
+resource_name = "Shader Nodetree"
 code = "shader_type spatial;
 code = "shader_type spatial;
 render_mode blend_mix,depth_draw_always,cull_back,diffuse_burley,specular_schlick_ggx;
 render_mode blend_mix,depth_draw_always,cull_back,diffuse_burley,specular_schlick_ggx;
 
 
@@ -667,10 +693,12 @@ void fragment() {
 
 
 [sub_resource id=27 type="ShaderMaterial"]
 [sub_resource id=27 type="ShaderMaterial"]
 
 
+resource_name = "Material007"
 shader = SubResource(26)
 shader = SubResource(26)
 
 
 [sub_resource id=28 type="Shader"]
 [sub_resource id=28 type="Shader"]
 
 
+resource_name = "Shader Nodetree"
 code = "shader_type spatial;
 code = "shader_type spatial;
 render_mode blend_mix,depth_draw_always,cull_back,diffuse_burley,specular_schlick_ggx;
 render_mode blend_mix,depth_draw_always,cull_back,diffuse_burley,specular_schlick_ggx;
 
 
@@ -749,10 +777,12 @@ void fragment() {
 
 
 [sub_resource id=29 type="ShaderMaterial"]
 [sub_resource id=29 type="ShaderMaterial"]
 
 
+resource_name = "Material008"
 shader = SubResource(28)
 shader = SubResource(28)
 
 
 [sub_resource id=30 type="Shader"]
 [sub_resource id=30 type="Shader"]
 
 
+resource_name = "Shader Nodetree"
 code = "shader_type spatial;
 code = "shader_type spatial;
 render_mode blend_mix,depth_draw_always,cull_back,diffuse_burley,specular_schlick_ggx;
 render_mode blend_mix,depth_draw_always,cull_back,diffuse_burley,specular_schlick_ggx;
 
 
@@ -810,10 +840,12 @@ void fragment() {
 
 
 [sub_resource id=31 type="ShaderMaterial"]
 [sub_resource id=31 type="ShaderMaterial"]
 
 
+resource_name = "Material012"
 shader = SubResource(30)
 shader = SubResource(30)
 
 
 [sub_resource id=32 type="Shader"]
 [sub_resource id=32 type="Shader"]
 
 
+resource_name = "Shader Nodetree"
 code = "shader_type spatial;
 code = "shader_type spatial;
 render_mode blend_mix,depth_draw_always,cull_back,diffuse_burley,specular_schlick_ggx;
 render_mode blend_mix,depth_draw_always,cull_back,diffuse_burley,specular_schlick_ggx;
 
 
@@ -852,10 +884,12 @@ void fragment() {
 
 
 [sub_resource id=33 type="ShaderMaterial"]
 [sub_resource id=33 type="ShaderMaterial"]
 
 
+resource_name = "Material011"
 shader = SubResource(32)
 shader = SubResource(32)
 
 
 [sub_resource id=34 type="Shader"]
 [sub_resource id=34 type="Shader"]
 
 
+resource_name = "Shader Nodetree"
 code = "shader_type spatial;
 code = "shader_type spatial;
 render_mode blend_mix,depth_draw_always,cull_back,diffuse_burley,specular_schlick_ggx;
 render_mode blend_mix,depth_draw_always,cull_back,diffuse_burley,specular_schlick_ggx;
 uniform float uni1_refraction_offset;
 uniform float uni1_refraction_offset;
@@ -906,10 +940,12 @@ void fragment() {
 
 
 [sub_resource id=35 type="ShaderMaterial"]
 [sub_resource id=35 type="ShaderMaterial"]
 
 
+resource_name = "Material010"
 shader = SubResource(34)
 shader = SubResource(34)
 
 
 [sub_resource id=36 type="Shader"]
 [sub_resource id=36 type="Shader"]
 
 
+resource_name = "Shader Nodetree"
 code = "shader_type spatial;
 code = "shader_type spatial;
 render_mode blend_mix,depth_draw_always,cull_back,diffuse_burley,specular_schlick_ggx;
 render_mode blend_mix,depth_draw_always,cull_back,diffuse_burley,specular_schlick_ggx;
 
 
@@ -946,10 +982,12 @@ void fragment() {
 
 
 [sub_resource id=37 type="ShaderMaterial"]
 [sub_resource id=37 type="ShaderMaterial"]
 
 
+resource_name = "Material001"
 shader = SubResource(36)
 shader = SubResource(36)
 
 
 [sub_resource id=38 type="ArrayMesh"]
 [sub_resource id=38 type="ArrayMesh"]
 
 
+resource_name = "Plane"
 surfaces/0 = {
 surfaces/0 = {
 	"material":SubResource(37),
 	"material":SubResource(37),
 	"primitive":4,
 	"primitive":4,
@@ -969,6 +1007,7 @@ surfaces/0 = {
 
 
 [sub_resource id=39 type="SpatialMaterial"]
 [sub_resource id=39 type="SpatialMaterial"]
 
 
+resource_name = "X-Gray191001"
 flags_unshaded = false
 flags_unshaded = false
 flags_vertex_lighting = false
 flags_vertex_lighting = false
 flags_transparent = false
 flags_transparent = false
@@ -978,6 +1017,7 @@ subsurf_scatter_enabled = false
 
 
 [sub_resource id=40 type="ArrayMesh"]
 [sub_resource id=40 type="ArrayMesh"]
 
 
+resource_name = "TextBase001"
 surfaces/0 = {
 surfaces/0 = {
 	"material":SubResource(39),
 	"material":SubResource(39),
 	"primitive":4,
 	"primitive":4,
@@ -997,6 +1037,7 @@ surfaces/0 = {
 
 
 [sub_resource id=41 type="ArrayMesh"]
 [sub_resource id=41 type="ArrayMesh"]
 
 
+resource_name = "Grid"
 surfaces/0 = {
 surfaces/0 = {
 	"material":SubResource(10),
 	"material":SubResource(10),
 	"primitive":4,
 	"primitive":4,
@@ -1016,6 +1057,7 @@ surfaces/0 = {
 
 
 [sub_resource id=42 type="Shader"]
 [sub_resource id=42 type="Shader"]
 
 
+resource_name = "Shader Nodetree"
 code = "shader_type spatial;
 code = "shader_type spatial;
 render_mode blend_mix,depth_draw_always,cull_back,diffuse_burley,specular_schlick_ggx;
 render_mode blend_mix,depth_draw_always,cull_back,diffuse_burley,specular_schlick_ggx;
 
 
@@ -1122,6 +1164,7 @@ void fragment() {
 
 
 [sub_resource id=43 type="ShaderMaterial"]
 [sub_resource id=43 type="ShaderMaterial"]
 
 
+resource_name = "Material009"
 shader = SubResource(42)
 shader = SubResource(42)
 [node type="Spatial" name="Scene"]
 [node type="Spatial" name="Scene"]
 
 

+ 22 - 0
tests/reference_exports/material_cycle/material_normal.escn

@@ -6,6 +6,7 @@
 
 
 [sub_resource id=1 type="Shader"]
 [sub_resource id=1 type="Shader"]
 
 
+resource_name = "Shader Nodetree"
 code = "shader_type spatial;
 code = "shader_type spatial;
 render_mode blend_mix,depth_draw_always,cull_back,diffuse_burley,specular_schlick_ggx;
 render_mode blend_mix,depth_draw_always,cull_back,diffuse_burley,specular_schlick_ggx;
 
 
@@ -64,10 +65,12 @@ void fragment() {
 
 
 [sub_resource id=2 type="ShaderMaterial"]
 [sub_resource id=2 type="ShaderMaterial"]
 
 
+resource_name = "Material003"
 shader = SubResource(1)
 shader = SubResource(1)
 
 
 [sub_resource id=3 type="ArrayMesh"]
 [sub_resource id=3 type="ArrayMesh"]
 
 
+resource_name = "Suzanne"
 surfaces/0 = {
 surfaces/0 = {
 	"material":SubResource(2),
 	"material":SubResource(2),
 	"primitive":4,
 	"primitive":4,
@@ -87,6 +90,7 @@ surfaces/0 = {
 
 
 [sub_resource id=4 type="Shader"]
 [sub_resource id=4 type="Shader"]
 
 
+resource_name = "Shader Nodetree"
 code = "shader_type spatial;
 code = "shader_type spatial;
 render_mode blend_mix,depth_draw_always,cull_back,diffuse_burley,specular_schlick_ggx;
 render_mode blend_mix,depth_draw_always,cull_back,diffuse_burley,specular_schlick_ggx;
 
 
@@ -145,10 +149,12 @@ void fragment() {
 
 
 [sub_resource id=5 type="ShaderMaterial"]
 [sub_resource id=5 type="ShaderMaterial"]
 
 
+resource_name = "Material006"
 shader = SubResource(4)
 shader = SubResource(4)
 
 
 [sub_resource id=6 type="Shader"]
 [sub_resource id=6 type="Shader"]
 
 
+resource_name = "Shader Nodetree"
 code = "shader_type spatial;
 code = "shader_type spatial;
 render_mode blend_mix,depth_draw_always,cull_back,diffuse_burley,specular_schlick_ggx;
 render_mode blend_mix,depth_draw_always,cull_back,diffuse_burley,specular_schlick_ggx;
 
 
@@ -208,10 +214,12 @@ void fragment() {
 
 
 [sub_resource id=7 type="ShaderMaterial"]
 [sub_resource id=7 type="ShaderMaterial"]
 
 
+resource_name = "Material004"
 shader = SubResource(6)
 shader = SubResource(6)
 
 
 [sub_resource id=8 type="Shader"]
 [sub_resource id=8 type="Shader"]
 
 
+resource_name = "Shader Nodetree"
 code = "shader_type spatial;
 code = "shader_type spatial;
 render_mode blend_mix,depth_draw_always,cull_back,diffuse_burley,specular_schlick_ggx;
 render_mode blend_mix,depth_draw_always,cull_back,diffuse_burley,specular_schlick_ggx;
 
 
@@ -270,10 +278,12 @@ void fragment() {
 
 
 [sub_resource id=9 type="ShaderMaterial"]
 [sub_resource id=9 type="ShaderMaterial"]
 
 
+resource_name = "Material005"
 shader = SubResource(8)
 shader = SubResource(8)
 
 
 [sub_resource id=10 type="Shader"]
 [sub_resource id=10 type="Shader"]
 
 
+resource_name = "Shader Nodetree"
 code = "shader_type spatial;
 code = "shader_type spatial;
 render_mode blend_mix,depth_draw_always,cull_back,diffuse_burley,specular_schlick_ggx;
 render_mode blend_mix,depth_draw_always,cull_back,diffuse_burley,specular_schlick_ggx;
 uniform sampler2D uni1_ImageTexturetexture_image;
 uniform sampler2D uni1_ImageTexturetexture_image;
@@ -336,11 +346,13 @@ void fragment() {
 
 
 [sub_resource id=11 type="ShaderMaterial"]
 [sub_resource id=11 type="ShaderMaterial"]
 
 
+resource_name = "Material"
 shader = SubResource(10)
 shader = SubResource(10)
 shader_param/uni1_ImageTexturetexture_image = ExtResource(1)
 shader_param/uni1_ImageTexturetexture_image = ExtResource(1)
 
 
 [sub_resource id=12 type="ArrayMesh"]
 [sub_resource id=12 type="ArrayMesh"]
 
 
+resource_name = "Cube"
 surfaces/0 = {
 surfaces/0 = {
 	"material":SubResource(11),
 	"material":SubResource(11),
 	"primitive":4,
 	"primitive":4,
@@ -360,6 +372,7 @@ surfaces/0 = {
 
 
 [sub_resource id=13 type="Shader"]
 [sub_resource id=13 type="Shader"]
 
 
+resource_name = "Shader Nodetree"
 code = "shader_type spatial;
 code = "shader_type spatial;
 render_mode blend_mix,depth_draw_always,cull_back,diffuse_burley,specular_schlick_ggx;
 render_mode blend_mix,depth_draw_always,cull_back,diffuse_burley,specular_schlick_ggx;
 uniform sampler2D uni1_ImageTexturetexture_image;
 uniform sampler2D uni1_ImageTexturetexture_image;
@@ -425,11 +438,13 @@ void fragment() {
 
 
 [sub_resource id=14 type="ShaderMaterial"]
 [sub_resource id=14 type="ShaderMaterial"]
 
 
+resource_name = "Material001"
 shader = SubResource(13)
 shader = SubResource(13)
 shader_param/uni1_ImageTexturetexture_image = ExtResource(1)
 shader_param/uni1_ImageTexturetexture_image = ExtResource(1)
 
 
 [sub_resource id=15 type="Shader"]
 [sub_resource id=15 type="Shader"]
 
 
+resource_name = "Shader Nodetree"
 code = "shader_type spatial;
 code = "shader_type spatial;
 render_mode blend_mix,depth_draw_always,cull_back,diffuse_burley,specular_schlick_ggx;
 render_mode blend_mix,depth_draw_always,cull_back,diffuse_burley,specular_schlick_ggx;
 uniform sampler2D uni1_ImageTexturetexture_image;
 uniform sampler2D uni1_ImageTexturetexture_image;
@@ -510,11 +525,13 @@ void fragment() {
 
 
 [sub_resource id=16 type="ShaderMaterial"]
 [sub_resource id=16 type="ShaderMaterial"]
 
 
+resource_name = "Material002"
 shader = SubResource(15)
 shader = SubResource(15)
 shader_param/uni1_ImageTexturetexture_image = ExtResource(2)
 shader_param/uni1_ImageTexturetexture_image = ExtResource(2)
 
 
 [sub_resource id=17 type="Shader"]
 [sub_resource id=17 type="Shader"]
 
 
+resource_name = "Shader Nodetree"
 code = "shader_type spatial;
 code = "shader_type spatial;
 render_mode blend_mix,depth_draw_always,cull_back,diffuse_burley,specular_schlick_ggx;
 render_mode blend_mix,depth_draw_always,cull_back,diffuse_burley,specular_schlick_ggx;
 uniform sampler2D uni1_ImageTexture001texture_image;
 uniform sampler2D uni1_ImageTexture001texture_image;
@@ -603,11 +620,13 @@ void fragment() {
 
 
 [sub_resource id=18 type="ShaderMaterial"]
 [sub_resource id=18 type="ShaderMaterial"]
 
 
+resource_name = "Material007"
 shader = SubResource(17)
 shader = SubResource(17)
 shader_param/uni1_ImageTexture001texture_image = ExtResource(2)
 shader_param/uni1_ImageTexture001texture_image = ExtResource(2)
 
 
 [sub_resource id=19 type="ArrayMesh"]
 [sub_resource id=19 type="ArrayMesh"]
 
 
+resource_name = "Cube001"
 surfaces/0 = {
 surfaces/0 = {
 	"material":SubResource(18),
 	"material":SubResource(18),
 	"primitive":4,
 	"primitive":4,
@@ -627,6 +646,7 @@ surfaces/0 = {
 
 
 [sub_resource id=20 type="Shader"]
 [sub_resource id=20 type="Shader"]
 
 
+resource_name = "Shader Nodetree"
 code = "shader_type spatial;
 code = "shader_type spatial;
 render_mode blend_mix,depth_draw_always,cull_back,diffuse_burley,specular_schlick_ggx;
 render_mode blend_mix,depth_draw_always,cull_back,diffuse_burley,specular_schlick_ggx;
 uniform sampler2D uni1_ImageTexturetexture_image;
 uniform sampler2D uni1_ImageTexturetexture_image;
@@ -688,11 +708,13 @@ void fragment() {
 
 
 [sub_resource id=21 type="ShaderMaterial"]
 [sub_resource id=21 type="ShaderMaterial"]
 
 
+resource_name = "Material008"
 shader = SubResource(20)
 shader = SubResource(20)
 shader_param/uni1_ImageTexturetexture_image = ExtResource(1)
 shader_param/uni1_ImageTexturetexture_image = ExtResource(1)
 
 
 [sub_resource id=22 type="ArrayMesh"]
 [sub_resource id=22 type="ArrayMesh"]
 
 
+resource_name = "Cube002"
 surfaces/0 = {
 surfaces/0 = {
 	"material":SubResource(21),
 	"material":SubResource(21),
 	"primitive":4,
 	"primitive":4,

+ 3 - 0
tests/reference_exports/material_cycle/material_unpack_texture.escn

@@ -3,6 +3,7 @@
 
 
 [sub_resource id=1 type="Shader"]
 [sub_resource id=1 type="Shader"]
 
 
+resource_name = "Shader Nodetree"
 code = "shader_type spatial;
 code = "shader_type spatial;
 render_mode blend_mix,depth_draw_always,cull_back,diffuse_burley,specular_schlick_ggx;
 render_mode blend_mix,depth_draw_always,cull_back,diffuse_burley,specular_schlick_ggx;
 uniform sampler2D uni1_ImageTexturetexture_image;
 uniform sampler2D uni1_ImageTexturetexture_image;
@@ -46,11 +47,13 @@ void fragment() {
 
 
 [sub_resource id=2 type="ShaderMaterial"]
 [sub_resource id=2 type="ShaderMaterial"]
 
 
+resource_name = "Material"
 shader = SubResource(1)
 shader = SubResource(1)
 shader_param/uni1_ImageTexturetexture_image = ExtResource(1)
 shader_param/uni1_ImageTexturetexture_image = ExtResource(1)
 
 
 [sub_resource id=3 type="ArrayMesh"]
 [sub_resource id=3 type="ArrayMesh"]
 
 
+resource_name = "Cube"
 surfaces/0 = {
 surfaces/0 = {
 	"material":SubResource(2),
 	"material":SubResource(2),
 	"primitive":4,
 	"primitive":4,

+ 3 - 0
tests/reference_exports/mesh/just_mesh.escn

@@ -2,6 +2,7 @@
 
 
 [sub_resource id=1 type="ArrayMesh"]
 [sub_resource id=1 type="ArrayMesh"]
 
 
+resource_name = "Cylinder003"
 surfaces/0 = {
 surfaces/0 = {
 	"primitive":4,
 	"primitive":4,
 	"arrays":[
 	"arrays":[
@@ -20,6 +21,7 @@ surfaces/0 = {
 
 
 [sub_resource id=2 type="ArrayMesh"]
 [sub_resource id=2 type="ArrayMesh"]
 
 
+resource_name = "Cylinder002"
 surfaces/0 = {
 surfaces/0 = {
 	"primitive":4,
 	"primitive":4,
 	"arrays":[
 	"arrays":[
@@ -38,6 +40,7 @@ surfaces/0 = {
 
 
 [sub_resource id=3 type="ArrayMesh"]
 [sub_resource id=3 type="ArrayMesh"]
 
 
+resource_name = "Cylinder001"
 surfaces/0 = {
 surfaces/0 = {
 	"primitive":4,
 	"primitive":4,
 	"arrays":[
 	"arrays":[

+ 1 - 0
tests/reference_exports/mesh/parented_meshes.escn

@@ -2,6 +2,7 @@
 
 
 [sub_resource id=1 type="ArrayMesh"]
 [sub_resource id=1 type="ArrayMesh"]
 
 
+resource_name = "Suzanne"
 surfaces/0 = {
 surfaces/0 = {
 	"primitive":4,
 	"primitive":4,
 	"arrays":[
 	"arrays":[

Diff do ficheiro suprimidas por serem muito extensas
+ 1 - 0
tests/reference_exports/mesh/physics.escn


+ 2 - 0
tests/reference_exports/mesh/single_edge_and_vertex.escn

@@ -2,9 +2,11 @@
 
 
 [sub_resource id=1 type="ArrayMesh"]
 [sub_resource id=1 type="ArrayMesh"]
 
 
+resource_name = "Cube001"
 
 
 [sub_resource id=2 type="ArrayMesh"]
 [sub_resource id=2 type="ArrayMesh"]
 
 
+resource_name = "Cube"
 [node type="Spatial" name="Scene"]
 [node type="Spatial" name="Scene"]
 
 
 
 

+ 1 - 0
tests/reference_exports/mesh/tangent_test.escn

@@ -2,6 +2,7 @@
 
 
 [sub_resource id=1 type="ArrayMesh"]
 [sub_resource id=1 type="ArrayMesh"]
 
 
+resource_name = "Plane"
 surfaces/0 = {
 surfaces/0 = {
 	"primitive":4,
 	"primitive":4,
 	"arrays":[
 	"arrays":[

+ 4 - 0
tests/reference_exports/mesh/uv_testing.escn

@@ -2,6 +2,7 @@
 
 
 [sub_resource id=1 type="ArrayMesh"]
 [sub_resource id=1 type="ArrayMesh"]
 
 
+resource_name = "Cube000"
 surfaces/0 = {
 surfaces/0 = {
 	"primitive":4,
 	"primitive":4,
 	"arrays":[
 	"arrays":[
@@ -20,6 +21,7 @@ surfaces/0 = {
 
 
 [sub_resource id=2 type="ArrayMesh"]
 [sub_resource id=2 type="ArrayMesh"]
 
 
+resource_name = "Plane001"
 surfaces/0 = {
 surfaces/0 = {
 	"primitive":4,
 	"primitive":4,
 	"arrays":[
 	"arrays":[
@@ -38,6 +40,7 @@ surfaces/0 = {
 
 
 [sub_resource id=3 type="ArrayMesh"]
 [sub_resource id=3 type="ArrayMesh"]
 
 
+resource_name = "Cube001"
 surfaces/0 = {
 surfaces/0 = {
 	"primitive":4,
 	"primitive":4,
 	"arrays":[
 	"arrays":[
@@ -56,6 +59,7 @@ surfaces/0 = {
 
 
 [sub_resource id=4 type="ArrayMesh"]
 [sub_resource id=4 type="ArrayMesh"]
 
 
+resource_name = "Plane"
 surfaces/0 = {
 surfaces/0 = {
 	"primitive":4,
 	"primitive":4,
 	"arrays":[
 	"arrays":[

+ 1 - 0
tests/reference_exports/mesh/vertex_color.escn

@@ -2,6 +2,7 @@
 
 
 [sub_resource id=1 type="ArrayMesh"]
 [sub_resource id=1 type="ArrayMesh"]
 
 
+resource_name = "Plane"
 surfaces/0 = {
 surfaces/0 = {
 	"primitive":4,
 	"primitive":4,
 	"arrays":[
 	"arrays":[

+ 4 - 0
tests/reference_exports/scene_animation/animation_parented_objects.escn

@@ -2,6 +2,7 @@
 
 
 [sub_resource id=1 type="SpatialMaterial"]
 [sub_resource id=1 type="SpatialMaterial"]
 
 
+resource_name = "Material"
 flags_unshaded = false
 flags_unshaded = false
 flags_vertex_lighting = false
 flags_vertex_lighting = false
 flags_transparent = false
 flags_transparent = false
@@ -11,6 +12,7 @@ subsurf_scatter_enabled = false
 
 
 [sub_resource id=2 type="ArrayMesh"]
 [sub_resource id=2 type="ArrayMesh"]
 
 
+resource_name = "Cube"
 surfaces/0 = {
 surfaces/0 = {
 	"material":SubResource(1),
 	"material":SubResource(1),
 	"primitive":4,
 	"primitive":4,
@@ -30,6 +32,7 @@ surfaces/0 = {
 
 
 [sub_resource id=3 type="Animation"]
 [sub_resource id=3 type="Animation"]
 
 
+resource_name = "CubeAction"
 step = 0.1
 step = 0.1
 length = 3.33333
 length = 3.33333
 tracks/0/type = "transform"
 tracks/0/type = "transform"
@@ -43,6 +46,7 @@ tracks/1/keys = [0.0416667, 1.0, 3.5422, -3.40839, -3.35921, 0.0, 0.0, 0.0, 1.0,
 
 
 [sub_resource id=4 type="ArrayMesh"]
 [sub_resource id=4 type="ArrayMesh"]
 
 
+resource_name = "Cube001"
 surfaces/0 = {
 surfaces/0 = {
 	"primitive":4,
 	"primitive":4,
 	"arrays":[
 	"arrays":[

+ 2 - 0
tests/reference_exports/shape_key/animation_shapekey.escn

@@ -2,6 +2,7 @@
 
 
 [sub_resource id=1 type="ArrayMesh"]
 [sub_resource id=1 type="ArrayMesh"]
 
 
+resource_name = "Suzanne002"
 blend_shape/names = PoolStringArray("Key 1")
 blend_shape/names = PoolStringArray("Key 1")
 blend_shape/mode = 0
 blend_shape/mode = 0
 surfaces/0 = {
 surfaces/0 = {
@@ -32,6 +33,7 @@ surfaces/0 = {
 
 
 [sub_resource id=2 type="Animation"]
 [sub_resource id=2 type="Animation"]
 
 
+resource_name = "Key002Action"
 step = 0.1
 step = 0.1
 length = 2.5
 length = 2.5
 tracks/0/type = "value"
 tracks/0/type = "value"

+ 1 - 0
tests/reference_exports/shape_key/just_shapekey.escn

@@ -2,6 +2,7 @@
 
 
 [sub_resource id=1 type="ArrayMesh"]
 [sub_resource id=1 type="ArrayMesh"]
 
 
+resource_name = "Suzanne002"
 blend_shape/names = PoolStringArray("Key 1")
 blend_shape/names = PoolStringArray("Key 1")
 blend_shape/mode = 0
 blend_shape/mode = 0
 surfaces/0 = {
 surfaces/0 = {

+ 3 - 0
tests/reference_exports/shape_key/shapekey_with_multi_surface.escn

@@ -2,6 +2,7 @@
 
 
 [sub_resource id=1 type="SpatialMaterial"]
 [sub_resource id=1 type="SpatialMaterial"]
 
 
+resource_name = "Material001"
 flags_unshaded = false
 flags_unshaded = false
 flags_vertex_lighting = false
 flags_vertex_lighting = false
 flags_transparent = false
 flags_transparent = false
@@ -11,6 +12,7 @@ subsurf_scatter_enabled = false
 
 
 [sub_resource id=2 type="SpatialMaterial"]
 [sub_resource id=2 type="SpatialMaterial"]
 
 
+resource_name = "Material002"
 flags_unshaded = false
 flags_unshaded = false
 flags_vertex_lighting = false
 flags_vertex_lighting = false
 flags_transparent = false
 flags_transparent = false
@@ -20,6 +22,7 @@ subsurf_scatter_enabled = false
 
 
 [sub_resource id=3 type="ArrayMesh"]
 [sub_resource id=3 type="ArrayMesh"]
 
 
+resource_name = "Suzanne"
 blend_shape/names = PoolStringArray("Key 1")
 blend_shape/names = PoolStringArray("Key 1")
 blend_shape/mode = 0
 blend_shape/mode = 0
 surfaces/0 = {
 surfaces/0 = {

Alguns ficheiros não foram mostrados porque muitos ficheiros mudaram neste diff