Jump to content

[SOLVED] Runtime FBX File Import Crash C#


photo

Recommended Posts

Добрый день.

SDK Version : Unigine2 Engineering 2.13.0.1

Загрузка FBX в рантайме.

var nodeName = Import.DoImport(fileName, dataDir);
NodeReference noderef = new NodeReference(nodeName);

Загрузка NodeReference noderef = new NodeReference(nodeName);

вызывает краш на некоторых fbx.

При этом создаются файлы ноды, и можно отдельно загрузить меш файл.

Пример FBX прилагаю

Alu_Chair.zip

Link to comment

Вадим, а в пустом проекте воспроизводится?

Такой код не вызывает никаких крашей с FBX из архива:
 

private void Update()
{
	if(App.GetKeyState(App.KEY_F1) == 1)
	{
		App.ClearKeyState(App.KEY_F1);
		string file_name = "Alu_Chair.FBX";
		string data_dir = "";
		var node_name = Import.DoImport(file_name, data_dir);
		Log.MessageLine("nodeName:" + node_name);
		if(node_name != string.Empty)
		{
			try
			{
				NodeReference noderef = new NodeReference(node_name);
				if(noderef != null)
				{
					Log.MessageLine(noderef.NodeName);
				}
				else
				{
					Log.MessageLine("null");
				}
			}
			catch (System.Exception ex)
			{
				Log.MessageLine("ex");
				Log.MessageLine(ex.Message);
				throw;
			}
		}
	}
}

 

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

Link to comment

Спасибо за помощь.

Да код работает, проблема появляется если указать

string data_dir = "RuntimеData/";

или что-то подобное, при этом создаётся директория, в неё записываются файлы ноды, но происходит крэш при загрузке ноды.

Причём если загрузить rp_sophia_animated_003_idling.fbx, то всё работает и с установленной директорией data_dir = "RuntimеData/";

Sophia.zip

Link to comment

В слове Runtime у вас e набрана на русском - это так и задумано? :)

Попробуйте импротировать так:

string abs_data_dir = System.IO.Path.Join(Engine.DataPath, "RuntimеData/");
var node_name = Import.DoImport(file_name, abs_data_dir)

Этот способ должен убрать краши.

Причину мы нашли, похоже на баг в файловой системе. Попробуем починить в будущих версиях.

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

Link to comment
On 1/29/2021 at 6:25 AM, silent said:

string abs_data_dir = System.IO.Path.Join(Engine.DataPath, "RuntimеData/");
var node_name = Import.DoImport(file_name, abs_data_dir)

Этот способ должен убрать краши.

Да, спасибо помогло.

 

 

Link to comment
  • silent changed the title to [SOLVED] Runtime FBX File Import Crash C#
×
×
  • Create New...