Jump to content

[SOLVED] Runtime FBX File Import Crash.


photo

Recommended Posts

Hello. I develop a program loading fbx file in runtime. 

SDK Version : Unigine2 Engineering 2.12.0.2

- source code 

        Importer *importer = Unigine::Import::get()->createImporterByFileName(strPath);
        //Importer *importer = nullptr;
        
        importer->setParameterFloat("scale", 1.0f);//default 0.01f
        importer->init(strPath, ~0);

        importer->import("./data/1/"); assert print position and crash 

 

- The following message is displayed.

image.png.2f23204688d0f30f769b2c5c79195e2e.png

-LOG File

Cache textures loaded 260 (254ms)
Unigine::ImportProcessor::onProcessMaterial -> filepath data/1/glass.002.mat
Unigine::ImportProcessor::onProcessMaterial -> filepath data/1/steel.mat
Unigine::ImportProcessor::onProcessMaterial -> filepath data/1/fırçalanmış aliminyum.mat
Unigine::ImportProcessor::onProcessMaterial -> filepath data/1/light.000.mat
Unigine::ImportProcessor::onProcessMaterial -> filepath data/1/rubber.mat
Unigine::ImportProcessor::onProcessMaterial -> filepath data/1/glass.003.mat
Unigine::ImportProcessor::onProcessMaterial -> filepath data/1/black.001.mat
Unigine::ImportProcessor::onProcessMaterial -> filepath data/1/material.006.mat
Unigine::ImportProcessor::onProcessMaterial -> filepath data/1/paint.001.mat
Unigine::ImportProcessor::onProcessMaterial -> filepath data/1/gövde.mat
Unigine::ImportProcessor::onProcessMaterial -> filepath data/1/wire.mat
Unigine::ImportProcessor::onProcessMaterial -> filepath data/1/karbon.001.mat
Unigine::ImportProcessor::onProcessMaterial -> filepath data/1/material.008.mat
Unigine::ImportProcessor::onProcessMaterial -> filepath data/1/kauçuk.mat
Unigine::ImportProcessor::onProcessMaterial -> filepath data/1/ark ışık.mat
Unigine::ImportProcessor::onProcessMaterial -> filepath data/1/material.005.mat
Unigine::ImportProcessor::onProcessMaterial -> filepath data/1/material.012.mat
Unigine::ImportProcessor::onProcessMaterial -> filepath data/1/material.010.mat
Unigine::ImportProcessor::onProcessMaterial -> filepath data/1/car paint.mat
Unigine::ImportProcessor::onProcessMaterial -> filepath data/1/led light.001.mat
Unigine::ImportProcessor::onProcessMaterial -> filepath data/1/car paint-2.mat
Unigine::ImportProcessor::onProcessMaterial -> filepath data/1/paint.mat
Unigine::ImportProcessor::onProcessMaterial -> filepath data/1/tyyre.mat
Unigine::ImportProcessor::onProcessMesh -> filepath data/1/mesh.mesh
Unigine::ImportProcessor::onProcessMesh -> filepath data/1/mesh.002.mesh
Unigine::ImportProcessor::onProcessMesh -> filepath data/1/mesh.003.mesh
Unigine::ImportProcessor::onProcessMesh -> filepath data/1/mesh.004.mesh
Unigine::ImportProcessor::onProcessMesh -> filepath data/1/mesh.005.mesh
Unigine::ImportProcessor::onProcessMesh -> filepath data/1/mesh.006.mesh
Unigine::ImportProcessor::onProcessMesh -> filepath data/1/mesh.007.mesh
Unigine::ImportProcessor::onProcessMesh -> filepath data/1/mesh.008.mesh
Unigine::ImportProcessor::onProcessMesh -> filepath data/1/mesh.009.mesh
Unigine::ImportProcessor::onProcessMesh -> filepath data/1/mesh.010.mesh
Unigine::ImportProcessor::onProcessMesh -> filepath data/1/mesh.011.mesh
Unigine::ImportProcessor::onProcessMesh -> filepath data/1/mesh.012.mesh
Unigine::ImportProcessor::onProcessMesh -> filepath data/1/mesh.013.mesh
Unigine::ImportProcessor::onProcessMesh -> filepath data/1/mesh.014.mesh
Unigine::ImportProcessor::onProcessMesh -> filepath data/1/plane.011.mesh
Unigine::ImportProcessor::onProcessMesh -> filepath data/1/plane.013.mesh
Unigine::ImportProcessor::onProcessMesh -> filepath data/1/mesh.015.mesh
Unigine::ImportProcessor::onProcessMesh -> filepath data/1/mesh.016.mesh
Unigine::ImportProcessor::onProcessMesh -> filepath data/1/mesh.017.mesh
Unigine::ImportProcessor::onProcessMesh -> filepath data/1/mesh.018.mesh
Unigine::ImportProcessor::onProcessMesh -> filepath data/1/mesh.019.mesh
Unigine::ImportProcessor::onProcessMesh -> filepath data/1/plane.004.mesh
Unigine::ImportProcessor::onProcessMesh -> filepath data/1/mesh.020.mesh
ERROR:    Mesh::info_mesh(): can't open "data/1/mesh.mesh" file
ERROR:    Mesh::info(): unknown format of "guid://eb9f9b86fb973d2d3ee1fca824fbb7e75e0c541a" file
 

Thank you.

Audi R8.fbx

Link to comment

Thank You for reply.

First) I did what you said, but I still get an error.

-LOG FILE

Unigine::ImportProcessor::onProcessMesh -> filepath ../data/1/mesh.mesh
Unigine::ImportProcessor::onProcessMesh -> filepath ../data/1/mesh.002.mesh
Unigine::ImportProcessor::onProcessMesh -> filepath ../data/1/mesh.003.mesh
Unigine::ImportProcessor::onProcessMesh -> filepath ../data/1/mesh.004.mesh
Unigine::ImportProcessor::onProcessMesh -> filepath ../data/1/mesh.005.mesh
Unigine::ImportProcessor::onProcessMesh -> filepath ../data/1/mesh.006.mesh
Unigine::ImportProcessor::onProcessMesh -> filepath ../data/1/mesh.007.mesh
Unigine::ImportProcessor::onProcessMesh -> filepath ../data/1/mesh.008.mesh
Unigine::ImportProcessor::onProcessMesh -> filepath ../data/1/mesh.009.mesh
Unigine::ImportProcessor::onProcessMesh -> filepath ../data/1/mesh.010.mesh
Unigine::ImportProcessor::onProcessMesh -> filepath ../data/1/mesh.011.mesh
Unigine::ImportProcessor::onProcessMesh -> filepath ../data/1/mesh.012.mesh
Unigine::ImportProcessor::onProcessMesh -> filepath ../data/1/mesh.013.mesh
Unigine::ImportProcessor::onProcessMesh -> filepath ../data/1/mesh.014.mesh
Unigine::ImportProcessor::onProcessMesh -> filepath ../data/1/plane.011.mesh
Unigine::ImportProcessor::onProcessMesh -> filepath ../data/1/plane.013.mesh
Unigine::ImportProcessor::onProcessMesh -> filepath ../data/1/mesh.015.mesh
Unigine::ImportProcessor::onProcessMesh -> filepath ../data/1/mesh.016.mesh
Unigine::ImportProcessor::onProcessMesh -> filepath ../data/1/mesh.017.mesh
Unigine::ImportProcessor::onProcessMesh -> filepath ../data/1/mesh.018.mesh
Unigine::ImportProcessor::onProcessMesh -> filepath ../data/1/mesh.019.mesh
Unigine::ImportProcessor::onProcessMesh -> filepath ../data/1/plane.004.mesh
Unigine::ImportProcessor::onProcessMesh -> filepath ../data/1/mesh.020.mesh
ERROR:    FileSystem::addVirtualFile(): can't find mount point for "G:/Project/KOVIArchiS_x64/Execute/data/1/mesh.mesh" file

 

Second) I created a simple sample project for a solution, but the plugin fails in the project.

(-data_path ../  -extern_plugin FbxImport -engine_config "../data/FBX_Sample01/unigine.cfg" -console_command "world_load \"FBX_Sample01\"")

Plugin related settings are made in the vs setting and related dll files are also copied to the Bin folder.(Attached Log.txt)

 

image.thumb.png.7ee8a993325022b8315f217422ff406b.png

 

In the previously developed project, the source midpoint fails, and in the simple sample project it fails at the start point. I'm not sure what's the problem. Please, reply.

Thank you.

image.png

log.txt

source.zip

Edited by KOVIAHN
Link to comment
2 minutes ago, KOVIAHN said:

Second) I created a simple sample project for a solution, but the plugin fails in the project.

The correct plugin name is FbxImporter. You wrote FbxImport.

We'll take a closer look at your code. If you can provide a test scene please upload data and source folders to any file hosting.

How to submit a good bug report
---
FTP server for test scenes and user uploads:

Link to comment

Thank you for reply.

First of all, second issue is cleared. (Thank you!!!)

Thus The successful log and the failed log were compared.

And I find that onProcessNode is not exist in failed log. 

If the function fails,  which part to check? If it is difficult to solve that part, I will try another method.

- Success Log

World loading "FBX_Sample01.world" 56ms
Unigine::ImportProcessor::onProcessMaterial -> filepath ../data/2/glass.002.mat
Unigine::ImportProcessor::onProcessMaterial -> filepath ../data/2/steel.mat
Unigine::ImportProcessor::onProcessMaterial -> filepath ../data/2/fırçalanmış aliminyum.mat
Unigine::ImportProcessor::onProcessMaterial -> filepath ../data/2/light.000.mat
Unigine::ImportProcessor::onProcessMaterial -> filepath ../data/2/rubber.mat
Unigine::ImportProcessor::onProcessMaterial -> filepath ../data/2/glass.003.mat
Unigine::ImportProcessor::onProcessMaterial -> filepath ../data/2/black.001.mat
Unigine::ImportProcessor::onProcessMaterial -> filepath ../data/2/material.006.mat
Unigine::ImportProcessor::onProcessMaterial -> filepath ../data/2/paint.001.mat
Unigine::ImportProcessor::onProcessMaterial -> filepath ../data/2/gövde.mat
Unigine::ImportProcessor::onProcessMaterial -> filepath ../data/2/wire.mat
Unigine::ImportProcessor::onProcessMaterial -> filepath ../data/2/karbon.001.mat
Unigine::ImportProcessor::onProcessMaterial -> filepath ../data/2/material.008.mat
Unigine::ImportProcessor::onProcessMaterial -> filepath ../data/2/kauçuk.mat
Unigine::ImportProcessor::onProcessMaterial -> filepath ../data/2/ark ışık.mat
Unigine::ImportProcessor::onProcessMaterial -> filepath ../data/2/material.005.mat
Unigine::ImportProcessor::onProcessMaterial -> filepath ../data/2/material.012.mat
Unigine::ImportProcessor::onProcessMaterial -> filepath ../data/2/material.010.mat
Unigine::ImportProcessor::onProcessMaterial -> filepath ../data/2/car paint.mat
Unigine::ImportProcessor::onProcessMaterial -> filepath ../data/2/led light.001.mat
Unigine::ImportProcessor::onProcessMaterial -> filepath ../data/2/car paint-2.mat
Unigine::ImportProcessor::onProcessMaterial -> filepath ../data/2/paint.mat
Unigine::ImportProcessor::onProcessMaterial -> filepath ../data/2/tyyre.mat
Unigine::ImportProcessor::onProcessMesh -> filepath ../data/2/mesh.mesh
Unigine::ImportProcessor::onProcessMesh -> filepath ../data/2/mesh.002.mesh
Unigine::ImportProcessor::onProcessMesh -> filepath ../data/2/mesh.003.mesh
Unigine::ImportProcessor::onProcessMesh -> filepath ../data/2/mesh.004.mesh
Unigine::ImportProcessor::onProcessMesh -> filepath ../data/2/mesh.005.mesh
Unigine::ImportProcessor::onProcessMesh -> filepath ../data/2/mesh.006.mesh
Unigine::ImportProcessor::onProcessMesh -> filepath ../data/2/mesh.007.mesh
Unigine::ImportProcessor::onProcessMesh -> filepath ../data/2/mesh.008.mesh
Unigine::ImportProcessor::onProcessMesh -> filepath ../data/2/mesh.009.mesh
Unigine::ImportProcessor::onProcessMesh -> filepath ../data/2/mesh.010.mesh
Unigine::ImportProcessor::onProcessMesh -> filepath ../data/2/mesh.011.mesh
Unigine::ImportProcessor::onProcessMesh -> filepath ../data/2/mesh.012.mesh
Unigine::ImportProcessor::onProcessMesh -> filepath ../data/2/mesh.013.mesh
Unigine::ImportProcessor::onProcessMesh -> filepath ../data/2/mesh.014.mesh
Unigine::ImportProcessor::onProcessMesh -> filepath ../data/2/plane.011.mesh
Unigine::ImportProcessor::onProcessMesh -> filepath ../data/2/plane.013.mesh
Unigine::ImportProcessor::onProcessMesh -> filepath ../data/2/mesh.015.mesh
Unigine::ImportProcessor::onProcessMesh -> filepath ../data/2/mesh.016.mesh
Unigine::ImportProcessor::onProcessMesh -> filepath ../data/2/mesh.017.mesh
Unigine::ImportProcessor::onProcessMesh -> filepath ../data/2/mesh.018.mesh
Unigine::ImportProcessor::onProcessMesh -> filepath ../data/2/mesh.019.mesh
Unigine::ImportProcessor::onProcessMesh -> filepath ../data/2/plane.004.mesh
Unigine::ImportProcessor::onProcessMesh -> filepath ../data/2/mesh.020.mesh
Unigine::ImportProcessor::onProcessNode -> filepath ../data/2/audi r8.node -- Failed Log is missing this line. 

-Failed Log

----Load cache textures----
Cache textures loaded 105 (104ms)
Unigine::ImportProcessor::onProcessMaterial -> filepath data/202344/glass.002.mat
Unigine::ImportProcessor::onProcessMaterial -> filepath data/202344/steel.mat
Unigine::ImportProcessor::onProcessMaterial -> filepath data/202344/fırçalanmış aliminyum.mat
Unigine::ImportProcessor::onProcessMaterial -> filepath data/202344/light.000.mat
Unigine::ImportProcessor::onProcessMaterial -> filepath data/202344/rubber.mat
Unigine::ImportProcessor::onProcessMaterial -> filepath data/202344/glass.003.mat
Unigine::ImportProcessor::onProcessMaterial -> filepath data/202344/black.001.mat
Unigine::ImportProcessor::onProcessMaterial -> filepath data/202344/material.006.mat
Unigine::ImportProcessor::onProcessMaterial -> filepath data/202344/paint.001.mat
Unigine::ImportProcessor::onProcessMaterial -> filepath data/202344/gövde.mat
Unigine::ImportProcessor::onProcessMaterial -> filepath data/202344/wire.mat
Unigine::ImportProcessor::onProcessMaterial -> filepath data/202344/karbon.001.mat
Unigine::ImportProcessor::onProcessMaterial -> filepath data/202344/material.008.mat
Unigine::ImportProcessor::onProcessMaterial -> filepath data/202344/kauçuk.mat
Unigine::ImportProcessor::onProcessMaterial -> filepath data/202344/ark ışık.mat
Unigine::ImportProcessor::onProcessMaterial -> filepath data/202344/material.005.mat
Unigine::ImportProcessor::onProcessMaterial -> filepath data/202344/material.012.mat
Unigine::ImportProcessor::onProcessMaterial -> filepath data/202344/material.010.mat
Unigine::ImportProcessor::onProcessMaterial -> filepath data/202344/car paint.mat
Unigine::ImportProcessor::onProcessMaterial -> filepath data/202344/led light.001.mat
Unigine::ImportProcessor::onProcessMaterial -> filepath data/202344/car paint-2.mat
Unigine::ImportProcessor::onProcessMaterial -> filepath data/202344/paint.mat
Unigine::ImportProcessor::onProcessMaterial -> filepath data/202344/tyyre.mat
Unigine::ImportProcessor::onProcessMesh -> filepath data/202344/mesh.mesh
Unigine::ImportProcessor::onProcessMesh -> filepath data/202344/mesh.002.mesh
Unigine::ImportProcessor::onProcessMesh -> filepath data/202344/mesh.003.mesh
Unigine::ImportProcessor::onProcessMesh -> filepath data/202344/mesh.004.mesh
Unigine::ImportProcessor::onProcessMesh -> filepath data/202344/mesh.005.mesh
Unigine::ImportProcessor::onProcessMesh -> filepath data/202344/mesh.006.mesh
Unigine::ImportProcessor::onProcessMesh -> filepath data/202344/mesh.007.mesh
Unigine::ImportProcessor::onProcessMesh -> filepath data/202344/mesh.008.mesh
Unigine::ImportProcessor::onProcessMesh -> filepath data/202344/mesh.009.mesh
Unigine::ImportProcessor::onProcessMesh -> filepath data/202344/mesh.010.mesh
Unigine::ImportProcessor::onProcessMesh -> filepath data/202344/mesh.011.mesh
Unigine::ImportProcessor::onProcessMesh -> filepath data/202344/mesh.012.mesh
Unigine::ImportProcessor::onProcessMesh -> filepath data/202344/mesh.013.mesh
Unigine::ImportProcessor::onProcessMesh -> filepath data/202344/mesh.014.mesh
Unigine::ImportProcessor::onProcessMesh -> filepath data/202344/plane.011.mesh
Unigine::ImportProcessor::onProcessMesh -> filepath data/202344/plane.013.mesh
Unigine::ImportProcessor::onProcessMesh -> filepath data/202344/mesh.015.mesh
Unigine::ImportProcessor::onProcessMesh -> filepath data/202344/mesh.016.mesh
Unigine::ImportProcessor::onProcessMesh -> filepath data/202344/mesh.017.mesh
Unigine::ImportProcessor::onProcessMesh -> filepath data/202344/mesh.018.mesh
Unigine::ImportProcessor::onProcessMesh -> filepath data/202344/mesh.019.mesh
Unigine::ImportProcessor::onProcessMesh -> filepath data/202344/plane.004.mesh
Unigine::ImportProcessor::onProcessMesh -> filepath data/202344/mesh.020.mesh
ERROR:    Mesh::info_mesh(): can't open "data/202344/mesh.mesh" file
ERROR:    Mesh::info(): unknown format of "guid://c19ae4ab1d1bb20e23269215a7a5bc702fde250f" file
ERROR:    Mesh::info_mesh(): can't open "data/202344/mesh.mesh" file
ERROR:    Mesh::info(): unknown format of "guid://c19ae4ab1d1bb20e23269215a7a5bc702fde250f" file
Reloading "data/202344/mesh.mesh" mesh
ERROR:    Mesh::info_mesh(): can't open "data/202344/mesh.mesh" file
ERROR:    Mesh::info(): unknown format of "guid://c19ae4ab1d1bb20e23269215a7a5bc702fde250f" file
ERROR:    Mesh::info_mesh(): can't open "data/202344/mesh.mesh" file
ERROR:    Mesh::info(): unknown format of "guid://c19ae4ab1d1bb20e23269215a7a5bc702fde250f" file
Reloading "data/202344/mesh.mesh" mesh
ERROR:    Mesh::info_mesh(): can't open "data/202344/mesh.mesh" file
ERROR:    Mesh::info(): unknown format of "guid://c19ae4ab1d1bb20e23269215a7a5bc702fde250f" file
 

Thank you.

Link to comment

We tried this code and it worked. Could you please double-check everything?

const char *filepath = "Audi R8.fbx";
	Importer *importer = Import::get()->createImporterByFileName(filepath);

	// set up import parameter "scale" to 0.5
	importer->setParameterFloat("scale", 0.5f);

	// add a pre-processor to merge static meshes
	//importer->addPreProcessor("MergeStaticMeshes");

	// initialize importer with all available import flags
	importer->init(filepath, ~0);

	// import our model to the specified directory
	importer->import("../data/1/");

	// create a node reference using the .node file generated for our model
	NodeReferencePtr noderef = NodeReference::create(importer->getOutputFilepath());

 

How to submit a good bug report
---
FTP server for test scenes and user uploads:

Link to comment

First of all, thank you for your answer.


The attached file was the second source.

"Second) I created a simple sample project for a solution, but the plugin fails in the project."

This problem confirmed that the parameter should not be wrong.


The problematic part occurs in our own program.
The source code in question was difficult to attach because the volume was vast and complex.


I tested it all day yesterday but couldn't find out the cause.

I will try to find the cause again while performing the unit test.

Thank you.

Link to comment

 

I find the solution.

importer->import("./data/21722222/"); -> Error

importer->import("21722222/"); -> Work Fine. 

Thank you for your help. 

Edited by KOVIAHN
Link to comment
  • morbid changed the title to [SOLVED] Runtime FBX File Import Crash.
×
×
  • Create New...