2017-11-24 09:16:27 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								<?xml version="1.0" encoding="UTF-8" ?>  
						 
					
						
							
								
									
										
										
										
											2020-01-26 16:01:49 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								<class  name= "EditorScenePostImport"  inherits= "Reference"  version= "3.2" >  
						 
					
						
							
								
									
										
										
										
											2017-11-24 09:16:27 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									<brief_description > 
							 
						 
					
						
							
								
									
										
										
										
											2019-06-22 01:04:47 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										Post-processes scenes after import.
							 
						 
					
						
							
								
									
										
										
										
											2017-11-24 09:16:27 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									</brief_description> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									<description > 
							 
						 
					
						
							
								
									
										
										
										
											2019-06-22 01:04:47 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										Imported scenes can be automatically modified right after import by setting their [b]Custom Script[/b] Import property to a [code]tool[/code] script that inherits from this class.
							 
						 
					
						
							
								
									
										
										
										
											2018-09-21 15:34:11 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										The [method post_import] callback receives the imported scene's root node and returns the modified version of the scene. Usage example:
							 
						 
					
						
							
								
									
										
										
										
											2018-01-20 00:48:44 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										[codeblock]
							 
						 
					
						
							
								
									
										
										
										
											2019-06-22 01:04:47 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										tool # Needed so it runs in editor
							 
						 
					
						
							
								
									
										
										
										
											2018-09-21 15:34:11 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										extends EditorScenePostImport
							 
						 
					
						
							
								
									
										
										
										
											2018-01-20 00:48:44 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2018-09-21 15:34:11 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										# This sample changes all node names
							 
						 
					
						
							
								
									
										
										
										
											2018-01-20 00:48:44 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2018-09-21 15:34:11 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										# Called right after the scene is imported and gets the root node
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										func post_import(scene):
							 
						 
					
						
							
								
									
										
										
										
											2019-06-22 01:04:47 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										    # Change all node names to "modified_[oldnodename]"
							 
						 
					
						
							
								
									
										
										
										
											2018-09-21 15:34:11 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										    iterate(scene)
							 
						 
					
						
							
								
									
										
										
										
											2019-06-22 01:04:47 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										    return scene # Remember to return the imported scene
							 
						 
					
						
							
								
									
										
										
										
											2018-01-20 00:48:44 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2018-09-21 15:34:11 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										func iterate(node):
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										    if node != null:
							 
						 
					
						
							
								
									
										
										
										
											2018-12-14 09:37:19 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										        node.name = "modified_" + node.name
							 
						 
					
						
							
								
									
										
										
										
											2018-09-21 15:34:11 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										        for child in node.get_children():
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										            iterate(child)
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										[/codeblock]
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									</description> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									<tutorials > 
							 
						 
					
						
							
								
									
										
										
										
											2020-10-19 15:55:33 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										<link > https://docs.godotengine.org/en/3.2/getting_started/workflow/assets/importing_scenes.html#custom-script</link> 
							 
						 
					
						
							
								
									
										
										
										
											2018-09-21 15:34:11 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									</tutorials> 
							 
						 
					
						
							
								
									
										
										
										
											2017-11-24 09:16:27 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									<methods > 
							 
						 
					
						
							
								
									
										
										
										
											2018-01-20 00:48:44 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										<method  name= "get_source_file"  qualifiers= "const" > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											<return  type= "String" > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											</return> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											<description > 
							 
						 
					
						
							
								
									
										
										
										
											2018-09-21 15:34:11 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
												Returns the source file path which got imported (e.g. [code]res://scene.dae[/code]).
							 
						 
					
						
							
								
									
										
										
										
											2018-01-20 00:48:44 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											</description> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										</method> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										<method  name= "get_source_folder"  qualifiers= "const" > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											<return  type= "String" > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											</return> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											<description > 
							 
						 
					
						
							
								
									
										
										
										
											2018-09-21 15:34:11 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
												Returns the resource folder the imported scene file is located in.
							 
						 
					
						
							
								
									
										
										
										
											2018-01-20 00:48:44 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											</description> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										</method> 
							 
						 
					
						
							
								
									
										
										
										
											2017-11-24 09:16:27 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
										<method  name= "post_import"  qualifiers= "virtual" > 
							 
						 
					
						
							
								
									
										
										
										
											2018-01-20 00:48:44 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											<return  type= "Object" > 
							 
						 
					
						
							
								
									
										
										
										
											2017-11-24 09:16:27 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
											</return> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											<argument  index= "0"  name= "scene"  type= "Object" > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											</argument> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											<description > 
							 
						 
					
						
							
								
									
										
										
										
											2019-06-22 01:04:47 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
												Called after the scene was imported. This method must return the modified version of the scene.
							 
						 
					
						
							
								
									
										
										
										
											2017-11-24 09:16:27 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
											</description> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										</method> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									</methods> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									<constants > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									</constants> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								</class>