Markemp / Cryengine-Importer

Imports converted Cryengine assets into Blender
38 stars 10 forks source link

cannot import mechs #23

Closed DropDownWidget closed 8 months ago

DropDownWidget commented 11 months ago

This may have been solved before but whenever I try to import a mech this error message pops up Screenshot (705) I'm using blender 2.93.5 however I've tried using older versions (2.80 & 2.79) and they have the same issue. To my knowledge I have the most recent version of this addon
Screenshot (707) this is the command I used to convert the assets Screenshot (699) I'm very sorry for the inconvenience but I've run out of ideas for trouble shooting this myself.

jotpunktopunkt commented 11 months ago

just wanted to add that i have the same issue using Blender 4.0 (steam release) using the current cryengine-importer

is it a syntax error when using the converter? i used foreach ($file in (Get-ChildItem -Recurse *.cga,*.cgf,*.chr,*.skin)) { c:/export/scripts/cgf-converter.exe $file -allowconflict -objectdir "c:/export/files" } edit: i executed it on an elevated folder position (is that the right term?) e.g. /patch/to/folder/export/test/ to convert /test/1 and/test/2

Markemp commented 11 months ago

It shouldn't require elevated permissions (admin) to run, unless the folder itself requires admin access. Did you extract all the game files to c:/export/files? There should be an Objects and Textures directory in there if so, among others.

I also haven't tested it with 4.0 yet. It should work with 3.6 still, but will need to do some testing/updates to get it to work with 4.

jotpunktopunkt commented 11 months ago

if i understand you correctly...no, in every mechname.pak is only "body" and "cockpit_standard" folder

there is an objects.pak and textures.pak in the gamefiles folder, but are both necessary for simply "assembling" the mech in blender?

i unpacked e.g. mechnamewhatever.pak, ran the cgf-converter.exe with the above mentioned syntax and then tried to import the mech into blender - am i doing something wrong? i get the feeling that i do ;)

edit: powershell states "Unable to find material file for Objects/mechs/genereic/body/generic_body.mtl" - even though i have put the unpacked objects.pack in the data directory

jotpunktopunkt commented 11 months ago

i think i found out what my error was - though i've only come one step further, but am still unsure wether the importer might still have an issue with 4.0

i followed your totorial video number 1 again (and more closely) and found out what my error was...i should copy all game files (.pak), move the "mechs" one level up, and unpack everything with 7zip ("unpack here")

after that, the conversion seems to work fine (is the "allow conflicts setting still relevant?) and importing the mech actually "outputs" a mech, but i can't seem to find movable armature and still get a python error:

image

edit: and everything looks like this: image and i have no ideal what does "spiky things" are

Markemp commented 11 months ago

Looks like the armature didn't import properly. I tested on Blender 4.0.2 and got the same thing, so I def need to fix the importer for the new version. I tried on 3.6, and it worked properly (except the layers stuff is still broken). This is what it should look like:

image

The extra spiky things are empty nodes, which are nodes in the game files that represent things like points for add-ons or animations, like where a muzzle flash should come from. They are normal, but should be moved to a separate layer once I get that fixed up.

Try the import again on 3.6. It should look like above. Let me know if it doesn't though.

jotpunktopunkt commented 11 months ago

thank you very much! (and on that occasion: thank you for your years-long work and effort with the mech imports!!!)

i have to look how i can revert back from 4.0 to 3.6 on steam but i'm in no hurry per se and if you update the improter, i can wait :)

and @DropDownWidget "our" initial problem thus primiarily is a wrong folder structure i used to do those imports with the mech files only, but with the armatures etc it's imperative to listen to the tutorial and move all the files over

@Markemp is the "allow conflicts" parameter still needed for the converter? should i wait with converting or are converter and importer jobs so different that changes/updates to one have no effect on the other? edit: and to save space...can i delete the cga/cgf files after the conversion?

Markemp commented 11 months ago

Allow conflicts is for a special edge case for when there are multiple models with the same name (different extensions, like .cgf and .cga). This does happen, but it's pretty rare.

The importer and converter are pretty independent of each other. The converter just makes the collada files, and the importer will grab all the collada files it needs for the given import. You can delete the .cgf files after converting them. Hope this helps!

Markemp commented 8 months ago

Released a new version that supports Blender 4.0. Also removed the Asset Importer since aside from creating better materials, it really didn't have much of a use. The prefab importer is still working though.

Annoying side effect of Blender 4.0 is that in the Principled BSDF node, they set the metallic setting to 0. This needs to be changed to a higher value (1.0 for example) for the materials to show the textures.