Jump to content

[SOLVED] Got a Unigine 1 project, wish to upgrade it to current SDK - how to do so?


photo

Recommended Posts

Hello. We've been given a Unigine 1 project and we wish to upgrade it to the newest Community Pro version. It lacks a ".project" file so the SDK2 Browser can't add it. It adds in the previous SDK Browser and is recognised as a Unigine1 project. But gives no option to upgrade. How to proceed?

 

Edit: after adding it to the SDK1 it created a .project file. But SDK2 and SDK1 say "You have no suitable SDKs to upgrade project" when I go in to "Configure Project"

Edited by angus
Link to comment

Hi Angus,

I don't think that it's a great idea. There were more than 30 versions (including ObjectTerrain removal and significant API changes), so it is likely that you will end up with a completely non-working project after performing that operation. If your project does not have an ObjectTerrain in the scene, then the chances are higher, but still very low :) If you have all the sources (like FBX, texture, terrain data) it may be even faster to recreate the whole scene from scratch in 2.17.

But if you still want to upgrade you can use upgrade scripts from 2.5 SDK (to upgrade from 1.x to 2.5.x). Then you need to upgrade to 2.8 (using new upgrade scripts from 2.8 SDK) and after that you should be able to add this content to the 2.17 project (simply copy the data folder without *.ung archives to a newly created project) and Editor should be able to upgrade it further.

You should also verify that you can open your worlds in 2.5 and 2.8 Editors after initial script migrations.

Thanks!

Upgrade__2.5.zipupgrade__2.8.zip

  • Like 1

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

Link to comment

Great success!

However there is a catch, one SMESH (which is slightly vital to the proceedings) came over incomplete inasmuch as 2 of the 3 characters came through OK but one is a mess. Unfortunately we don't have the original FBX files but what was converted well were hundreds of SANIM files that only work with that SMESH. 

 

Do you have any pointers?

important.smesh important.mesh

Link to comment

You can try to use DCC plugin that was shipped with the Unigine 1 SDK and import *.smesh file directly into the 3ds Max 2011. After that you can try to export it as FBX.

Other than that I can't see any possible ways to convert this old skinned mesh to a new format.

Thanks.

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

Link to comment

After a few false starts, what we ended up doing was using the Unigine SDK to dump out the bone names from the ".anim" files (snippet below) and then using this project https://github.com/L0rdCha0s/FBXJointRenamer/ from Github to re-name the bones in the FBX file we had. The only modification we made to the Github project was to force the use of binary-format FBX (comment out line 79 in Common.cxx)

References: https://developer.unigine.com/en/docs/2.17/code/formats/file_formats?rlang=cpp https://developer.unigine.com/en/docs/2.17/api/library/common/class.stream?rlang=cpp#readInt2_int

	String path = Engine::get()->getDataPath();
	path.append("testing/test.anim"); 
	FilePtr myfile = File::create();
	myfile->open(path, "rb");

	int ok;

	int header = myfile->readInt();
	vec3 bb1;
	ok = myfile->readFloatArray(bb1,3);
	Log::message("ok=%d %0.02f %0.02f %0.02f\n", ok, bb1.x, bb1.y, bb1.z);

	ok = myfile->readFloatArray(bb1, 3);
	Log::message("ok=%d %0.02f %0.02f %0.02f\n", ok, bb1.x, bb1.y, bb1.z);

	ok = myfile->readFloatArray(bb1, 3);
	Log::message("ok=%d %0.02f %0.02f %0.02f\n", ok, bb1.x, bb1.y, bb1.z);

	float val = myfile->readFloat();
	Log::message("%0.02f\n", val);

	int num_bones = myfile->readInt2();
	Log::message("NB = %d\n", num_bones);

	for (int i = 0; i < num_bones; i++) {
		String bone_name = myfile->readString2();
		Log::message("%s,", bone_name.get());
		short bone_parent = myfile->readShort();
		//Log::message("Bone parent = %d\n", bone_parent);
	}
	

 

    

  • Like 1
Link to comment
  • silent changed the title to [SOLVED] Got a Unigine 1 project, wish to upgrade it to current SDK - how to do so?
×
×
  • Create New...