This page has been translated automatically.
Video Tutorials
Interface
Essentials
Advanced
How To
Professional (SIM)
UnigineEditor
Interface Overview
Assets Workflow
Settings and Preferences
Working With Projects
Adjusting Node Parameters
Setting Up Materials
Setting Up Properties
Lighting
Sandworm
Using Editor Tools for Specific Tasks
Extending Editor Functionality
Built-in Node Types
Nodes
Objects
Effects
Decals
Light Sources
Geodetics
World Nodes
Sound Objects
Pathfinding Objects
Players
Programming
Fundamentals
Setting Up Development Environment
Usage Examples
C++
C#
UnigineScript
UUSL (Unified UNIGINE Shader Language)
Plugins
File Formats
Materials and Shaders
Rebuilding the Engine Tools
GUI
Double Precision Coordinates
API
Containers
Common Functionality
Controls-Related Classes
Engine-Related Classes
Filesystem Functionality
GUI-Related Classes
Math Functionality
Node-Related Classes
Objects-Related Classes
Networking Functionality
Pathfinding-Related Classes
Physics-Related Classes
Plugins-Related Classes
IG Plugin
CIGIConnector Plugin
Rendering-Related Classes
Content Creation
Content Optimization
Materials
Material Nodes Library
Miscellaneous
Input
Math
Matrix
Textures
Art Samples
Tutorials
Warning! This version of documentation is OUTDATED, as it describes an older SDK version! Please switch to the documentation for the latest SDK version.
Warning! This version of documentation describes an old SDK version which is no longer supported! Please upgrade to the latest SDK version.

Unigine.ImportProcessor Class

Warning
The functionality described in this article is not available in the Community SDK edition.
You should upgrade to Engineering / Sim SDK edition to use it.

This class is used to manage import processors. An import processor is a module that saves objects generated by an importer on the basis of metadata on the whole scene or some of its components to files in UNIGINE native format and performs auxiliary operations during the import process (data preparation, file management, etc.). You can use a set of different processors for each scene component or a single processor for all of them. There are also two specific types of processors:

  • Pre-processors - perform additional operations with scene metadata prior to generation of UNIGINE's objects.
  • Post-processors - perform additional operations with files generated in the process of import (e.g. copying files to other folders, adding files to packages, etc.).

Notice
This is a base class for all import processors. Your custom import processor class must be inherited from it.

You can override one (or all) onProcess*() methods to define the types of components to be processed by it, these overridden methods will be called by the importer when corresponding import operations are performed.

Notice
For pre- and post-processors only the onProcessScene() method is to be overridden.

ImportProcessor Class

Properties

Importer Importer#

The importer to be used for the import processor.

string OutputPath#

The output path to be used to put files with imported scene elements to.

Members


ImportProcessor GetImportProcessor ( ) #

Returns the import processor itself.

Return value

Import processor itself.

bool ProcessScene ( ImportScene scene ) #

Performs scene processing: modifies the metadata of scene elements or files generated in the process of importing the scene.
Notice
This method is used by pre-processors and post-processors. To customize actions to be performed on scene processing, when implementing a custom pre- or post-processor, you can override the OnProcessScene() method.

Arguments

Return value

true if the specified scene is successfully processed; otherwise, false.

bool ProcessTexture ( ImportTexture import_texture ) #

Performs texture processing: saves the specified generated texture to a corresponding file in the output directory.
Notice
To customize actions to be performed on texture processing, when implementing a custom import processor, you can override the OnProcessTexture() method.

Arguments

Return value

true if the specified texture is successfully imported to a file; otherwise, false.

bool ProcessMesh ( Mesh mesh, ImportMesh import_mesh ) #

Performs mesh processing: saves the specified generated mesh to a corresponding *.mesh file in the output directory.
Notice
To customize actions to be performed on mesh processing, when implementing a custom import processor, you can override the OnProcessMesh() method.

Arguments

Return value

true if the specified mesh is successfully imported to a file; otherwise, false.

bool ProcessLight ( Light light, ImportLight import_light ) #

Performs light processing: saves the specified generated light source to a corresponding file in the output directory.
Notice
To customize actions to be performed on light processing, when implementing a custom import processor, you can override the OnProcessLight() method.

Arguments

Return value

true if the specified light is successfully processed; otherwise, false.

bool ProcessCamera ( Player camera, ImportCamera import_camera ) #

Performs camera processing: saves the specified generated player to a corresponding file in the output directory.
Notice
To customize actions to be performed on camera processing, when implementing a custom import processor, you can override the OnProcessCamera() method.

Arguments

Return value

true if the specified camera is successfully processed; otherwise, false.

bool ProcessAnimation ( Mesh animation, ImportAnimation import_animation ) #

Performs mesh animation processing: saves the specified generated mesh animation to a corresponding file in the output directory.
Notice
To customize actions to be performed on mesh animation processing, when implementing a custom import processor, you can override the OnProcessAnimation() method.

Arguments

Return value

true if the specified animation is successfully processed; otherwise, false.

bool ProcessAnimation ( Mesh animation, ImportMesh import_mesh, ImportAnimation import_animation ) #

Performs mesh animation processing: saves the specified generated mesh animation to a corresponding file in the output directory.
Notice
To customize actions to be performed on mesh animation processing, when implementing a custom import processor, you can override the OnProcessAnimation() method.

Arguments

Return value

true if the specified animation is successfully processed; otherwise, false.

bool ProcessNode ( Node node, ImportNode import_node ) #

Performs node processing: saves the specified generated node to a corresponding *.node file in the output directory.
Notice
To customize actions to be performed on node processing, when implementing a custom import processor, you can override the OnProcessNode() method.

Arguments

Return value

true if the specified node is successfully processed; otherwise, false.

bool ProcessNodeChild ( Node node_parent, ImportNode import_node_parent, Node node_child, ImportNode import_node_child ) #

Performs node processing: saves the specified generated node along with the specified child to a corresponding *.node file in the output directory.
Notice
To customize actions to be performed on node processing, when implementing a custom import processor, you can override the OnProcessNodeChild() method.

Arguments

Return value

true if the specified parent node with its specified child node is successfully processed; otherwise, false.

bool ProcessMaterial ( Material material, ImportMaterial import_material ) #

Performs material processing: saves the specified generated material to a corresponding file in the output directory.
Notice
To customize actions to be performed on material processing, when implementing a custom import processor, you can override the OnProcessMaterial() method.

Arguments

Return value

true if the specified material is successfully processed; otherwise, false.

bool OnProcessScene ( ImportScene scene ) #

Scene processing event handler function. This function is called each time when the ProcessScene() function is called. You can specify your custom actions to be performed: modify the metadata of scene elements (pre-process) or files generated in the process of importing the scene (post-process).
Notice
This method is used by pre-processors and post-processors.
Source code (C++)
class MyCustomProcessor : public Unigine::ImportProcessor
{
public:
	MyCustomProcessor();
	virtual ~MyCustomProcessor();

/*...*/

// overrides of event functions
protected:
	virtual bool onProcessScene(ImportScene *scene) override;

/*...*/

};

/*...*/

bool MyCustomProcessor::onProcessScene(ImportScene *scene)
{
	bool result = false;
	
	// your custom actions
	
	return result;
}

Arguments

Return value

true if the specified scene is successfully processed; otherwise, false.

bool OnProcessTexture ( ImportTexture import_texture ) #

Texture processing event handler function. This function is called each time when the ProcessTexture() function is called. You can specify your custom actions to be performed on texture processing.
Source code (C++)
class MyCustomProcessor : public Unigine::ImportProcessor
{
public:
	MyCustomProcessor();
	virtual ~MyCustomProcessor();

/*...*/

// overrides of event functions
protected:
	virtual bool onProcessTexture(ImportTexture *import_texture) override;

/*...*/

};

/*...*/

bool MyCustomProcessor::onProcessTexture(ImportTexture *import_texture)
{
	bool result = false;
	
	// your custom actions
	
	return result;
}

Arguments

Return value

true if the specified texture is successfully processed; otherwise, false.

bool OnProcessMesh ( Mesh mesh, ImportMesh import_mesh ) #

Mesh processing event handler function. This function is called each time when the ProcessMesh() function is called. You can specify your custom actions to be performed on mesh processing.
Source code (C++)
class MyCustomProcessor : public Unigine::ImportProcessor
{
public:
	MyCustomProcessor();
	virtual ~MyCustomProcessor();

/*...*/

// overrides of event functions
protected:
	virtual bool onProcessMesh(MeshPtr &mesh, ImportMesh *import_mesh) override;

/*...*/

};

/*...*/

bool MyCustomProcessor::onProcessMesh(MeshPtr &mesh, ImportMesh *import_mesh)
{
	bool result = false;
	
	// your custom actions
	
	return result;
}

Arguments

Return value

true if the specified mesh is successfully processed; otherwise, false.

bool OnProcessLight ( Light light, ImportLight import_light ) #

Light processing event handler function. This function is called each time when the ProcessLight() function is called. You can specify your custom actions to be performed on light processing.
Source code (C++)
class MyCustomProcessor : public Unigine::ImportProcessor
{
public:
	MyCustomProcessor();
	virtual ~MyCustomProcessor();

/*...*/

// overrides of event functions
protected:
	virtual bool onProcessLight(LightPtr &light, ImportLight *import_light) override;

/*...*/

};

/*...*/

bool MyCustomProcessor::onProcessLight(LightPtr &light, ImportLight *import_light)
{
	bool result = false;
	
	// your custom actions
	
	return result;
}

Arguments

Return value

true if the specified light is successfully processed; otherwise, false.

bool OnProcessCamera ( Player camera, ImportCamera import_camera ) #

Camera processing event handler function. This function is called each time when the ProcessCamera() function is called. You can specify your custom actions to be performed on camera processing.
Source code (C++)
class MyCustomProcessor : public Unigine::ImportProcessor
{
public:
	MyCustomProcessor();
	virtual ~MyCustomProcessor();

/*...*/

// overrides of event functions
protected:
	virtual bool onProcessCamera(PlayerPtr &camera, ImportCamera *import_camera) override;

/*...*/

};

/*...*/

bool MyCustomProcessor::onProcessCamera(PlayerPtr &camera, ImportCamera *import_camera)
{
	bool result = false;
	
	// your custom actions
	
	return result;
}

Arguments

Return value

true if the specified camera is successfully processed; otherwise, false.

bool OnProcessAnimation ( Mesh animation, ImportAnimation import_animation ) #

Animation processing event handler function. This function is called each time when the ProcessAnimation() function is called. You can specify your custom actions to be performed on animation processing.
Source code (C++)
class MyCustomProcessor : public Unigine::ImportProcessor
{
public:
	MyCustomProcessor();
	virtual ~MyCustomProcessor();

/*...*/

// overrides of event functions
protected:
	virtual bool onProcessAnimation(MeshPtr &animation, ImportMesh *import_mesh, ImportAnimation *import_animation) override;

/*...*/

};

/*...*/

bool MyCustomProcessor::onProcessAnimation(MeshPtr &animation, ImportMesh *import_mesh, ImportAnimation *import_animation)
{
	bool result = false;
	
	// your custom actions
	
	return result;
}

Arguments

Return value

true if the specified animation is successfully processed; otherwise, false.

bool OnProcessAnimation ( Mesh animation, ImportMesh import_mesh, ImportAnimation import_animation ) #

Animation processing event handler function. This function is called each time when the ProcessAnimation() function is called. You can specify your custom actions to be performed on animation processing.
Source code (C++)
class MyCustomProcessor : public Unigine::ImportProcessor
{
public:
	MyCustomProcessor();
	virtual ~MyCustomProcessor();

/*...*/

// overrides of event functions
protected:
	virtual bool onProcessAnimation(MeshPtr &animation, ImportMesh *import_mesh, ImportAnimation *import_animation) override;

/*...*/

};

/*...*/

bool MyCustomProcessor::onProcessAnimation(MeshPtr &animation, ImportMesh *import_mesh, ImportAnimation *import_animation)
{
	bool result = false;
	
	// your custom actions
	
	return result;
}

Arguments

Return value

true if the specified animation is successfully processed; otherwise, false.

bool OnProcessNode ( Node node, ImportNode import_node ) #

Node processing event handler function. This function is called each time when the ProcessNode() function is called. You can specify your custom actions to be performed on node processing.
Source code (C++)
class MyCustomProcessor : public Unigine::ImportProcessor
{
public:
	MyCustomProcessor();
	virtual ~MyCustomProcessor();

/*...*/

// overrides of event functions
protected:
	virtual bool onProcessNode(NodePtr &node, ImportNode *import_node) override;

/*...*/

};

/*...*/

bool MyCustomProcessor::onProcessNode(NodePtr &node, ImportNode *import_node)
{
	bool result = false;
	
	// your custom actions
	
	return result;
}

Arguments

Return value

true if the specified node is successfully processed; otherwise, false.

bool OnProcessNodeChild ( Node node_parent, ImportNode import_node_parent, Node node_child, ImportNode import_node_child ) #

Node processing event handler function for node hierarchies. This function is called each time when the ProcessNodeChild() function is called. You can specify your custom actions to be performed on node processing (e.g. assigning properties to node's children).
Source code (C++)
class MyCustomProcessor : public Unigine::ImportProcessor
{
public:
	MyCustomProcessor();
	virtual ~MyCustomProcessor();

/*...*/

// overrides of event functions
protected:
	virtual bool onProcessNodeChild(const NodePtr &node_parent, const ImportNodePtr &import_node_parent, const NodePtr &node_child, const ImportNodePtr &import_node_child) override;

/*...*/

};

/*...*/

bool MyCustomProcessor::onProcessNode(NodePtr &node, ImportNode *import_node)
{
	bool result = false;
	
	// your custom actions
	
	return result;
}

Arguments

Return value

true if the specified parent node is successfully processed with its specified child node; otherwise, false.

bool OnProcessMaterial ( Material material, ImportMaterial import_material ) #

Material processing event handler function. This function is called each time when the ProcessMaterial() function is called. You can specify your custom actions to be performed on material processing.
Source code (C++)
class MyCustomProcessor : public Unigine::ImportProcessor
{
public:
	MyCustomProcessor();
	virtual ~MyCustomProcessor();

/*...*/

// overrides of event functions
protected:
	virtual bool onProcessMaterial(MaterialPtr &material, ImportMaterial *import_material) override;

/*...*/

};

/*...*/

bool MyCustomProcessor::onProcessMaterial(MaterialPtr &material, ImportMaterial *import_material)
{
	bool result = false;
	
	// your custom actions
	
	return result;
}

Arguments

Return value

true if the specified material is successfully processed; otherwise, false.
Last update: 2022-12-14
Build: ()