XSI ZETools

How to create models in XSI and other 3D applications and make them work in Battlefront 1 & 2. Post models, tips for application usage and share anything XSI, 3DMax, SketchUp, etc.

Moderator: Moderators

Post Reply
User avatar
ANDEWEGET
Ancient Force
Ancient Force
Posts: 1266
Joined: Tue Apr 01, 2008 8:42 am
Location: Germany
Contact:

Re: XSI ZETools

Post by ANDEWEGET »

ANDEWEGET wrote:The problem seems to be that there's duplicate and jumping model indices in the .msh (result of the hex editing). So it assigns the weights to wrong bones. The default behavior for the in-game .msh parser just accidentally gets it right.

To solve that you'd need to go through the .msh file and change the indices in the WGHT chunks to the correct model indices (indices should be in order as they appear in the msh, 1-2-3-...).
Update 1.3.6

Changelog:
Hidden/Spoiler:
Minor modifications to Material Editor layout.
Position, Rotation and Scale parameters are now used to check whether an object is animated.
Added logging for the export.
Added "Open Export Log" menu entry.
Export copy-error-to-clipboard now copies the last 15 lines of the export log, too.
Deviss
Master of the Force
Master of the Force
Posts: 3772
Joined: Tue Aug 12, 2008 7:59 pm
Projects :: Clone Wars Extended
Games I'm Playing :: BF2

Re: XSI ZETools

Post by Deviss »

i need report 2 errors importing little msh (weapons)
Hidden/Spoiler:
INFO (861, do_import): ==========================================
INFO (862, do_import): Starting import at 2015-07-23 09:12:56.296000.
INFO (863, do_import): .msh file path: C:\Softimage\E-11s\com_weap_E-11_Blaster_Rifle_C.msh
INFO (882, do_import): Starting unpack.
ERROR (886, do_import):
Traceback (most recent call last):
File "C:\users\Usuario\Autodesk\Softimage_Mod_Tool_7.5\Addons\xsizetools-master\Application\Core\andezetimport.py", line 883, in do_import
self.msh = unpacker.unpack()
File "C:\users\Usuario\Autodesk\Softimage_Mod_Tool_7.5\Addons\xsizetools-master\Application\Modules\msh2_unpack.py", line 183, in unpack
raise UnpackError('Unrecognized chunk {0} in MSHUnpack (can be a valid chunk but doesnt fit into this unpack level).'.format(hdr))
UnpackError: Unrecognized chunk NAME in MSHUnpack (can be a valid chunk but doesnt fit into this unpack level).
Hidden/Spoiler:
Last 15 log lines:


INFO (861, do_import): ==========================================
INFO (862, do_import): Starting import at 2015-07-23 09:15:18.703000.
INFO (863, do_import): .msh file path: C:\Softimage\FC-1 Flechette\com_weap_FC-1_Flechette_B.msh
INFO (882, do_import): Starting unpack.


Traceback:


Traceback (most recent call last):
File "<Script Block >", line 91, in importbutton_OnClicked
File "C:\users\Usuario\Autodesk\Softimage_Mod_Tool_7.5\Addons\xsizetools-master\Application\Core\andezetimport.py", line 852, in import_
self.do_import()
File "C:\users\Usuario\Autodesk\Softimage_Mod_Tool_7.5\Addons\xsizetools-master\Application\Core\andezetimport.py", line 883, in do_import
self.msh = unpacker.unpack()
File "C:\users\Usuario\Autodesk\Softimage_Mod_Tool_7.5\Addons\xsizetools-master\Application\Modules\msh2_unpack.py", line 116, in unpack
mdlcoll.add(mdl.unpack())
File "C:\users\Usuario\Autodesk\Softimage_Mod_Tool_7.5\Addons\xsizetools-master\Application\Modules\msh2_unpack.py", line 240, in unpack
self.mdl.segments.add(segm.unpack())
File "C:\users\Usuario\Autodesk\Softimage_Mod_Tool_7.5\Addons\xsizetools-master\Application\Modules\msh2_unpack.py", line 418, in unpack
self.seg.material = self.up.up.msh.get_mat_by_index(unpack('<L', self.fh.read(4))[0])
File "C:\users\Usuario\Autodesk\Softimage_Mod_Tool_7.5\Addons\xsizetools-master\Application\Modules\msh2.py", line 223, in get_mat_by_index
return self.materials[index]
File "C:\users\Usuario\Autodesk\Softimage_Mod_Tool_7.5\Addons\xsizetools-master\Application\Modules\msh2.py", line 591, in __getitem__
return self.materials[key]
IndexError: list index out of range
User avatar
ANDEWEGET
Ancient Force
Ancient Force
Posts: 1266
Joined: Tue Apr 01, 2008 8:42 am
Location: Germany
Contact:

Re: XSI ZETools

Post by ANDEWEGET »

First one looks like someone messed up while hex-editing and put a NAME chunk where none should be or didn't set the right size indicators. You can check the Chunk Structure here to see which chunks can contain NAME chunks. If you can't find the problem, send me the .msh.

The second one means that one of the segments (SEGM) has an invalid material index (MATI). Should be easy to go through the .msh and check every material index against the MATL list to make sure the material actually exists.
thelegend
Sith
Sith
Posts: 1433
Joined: Thu Jan 23, 2014 6:01 am
Projects :: Star Wars - Battlefront III Legacy
Games I'm Playing :: Swbf GTA CoD LoL KH
xbox live or psn: El_Fabricio#
Location: Right behind you :)

Re: XSI ZETools

Post by thelegend »

@Andeweget.

I just wanted to say thank you very much for maing this tool for xsi. I just got cloth perfectly working without any massive errors or something else. The collisions work, the animations and more. Again thank you so much for this. And good luck for future releases, fixes etc. :thumbs: :thumbs: :thumbs:
User avatar
giftheck
Droid Pilot Assassin
Droid Pilot Assassin
Posts: 2218
Joined: Mon Jan 19, 2009 5:58 pm
Projects :: Star Wars Battlefront Legacy

Re: XSI ZETools

Post by giftheck »

So, it turns out that with more recent versions of Mod Tool, GATOR functionality has been lost, meaning you can't merge meshes without losing the enveloping/weighting. I personally import units in chunks (usually an assembled body then head/shoulders, then gear, then whatever else is necessary) Is there any chance this could be a feature added into ZETools?
User avatar
ANDEWEGET
Ancient Force
Ancient Force
Posts: 1266
Joined: Tue Apr 01, 2008 8:42 am
Location: Germany
Contact:

Re: XSI ZETools

Post by ANDEWEGET »

Softimage 2015 has an option in the Merge dialog to merge Shape Animations and Envelope Weights. I'm pretty sure ModTool has that, too, and even if not, the student version of Softimage 2015 is free.
User avatar
giftheck
Droid Pilot Assassin
Droid Pilot Assassin
Posts: 2218
Joined: Mon Jan 19, 2009 5:58 pm
Projects :: Star Wars Battlefront Legacy

Re: XSI ZETools

Post by giftheck »

Any idea what's causing this error on export? I'm trying to export a weapon (I imported another and imported my mesh over the top of it):

Code: Select all

Traceback (most recent call last):
  File "<Script Block >", line 35, in exportbutton_OnClicked
  File "C:\Users\Gareth\Autodesk\Softimage_Mod_Tool_7.5\Addons\xsizetools-1.3.0011\Application\Core\andezetexport.py", line 774, in export
    self.do_export()
  File "C:\Users\Gareth\Autodesk\Softimage_Mod_Tool_7.5\Addons\xsizetools-1.3.0011\Application\Core\andezetexport.py", line 807, in do_export
    conv = ModelConverter(model, self)
  File "C:\Users\Gareth\Autodesk\Softimage_Mod_Tool_7.5\Addons\xsizetools-1.3.0011\Application\Core\andezetexport.py", line 146, in __init__
    self.geo = si_mdl.ActivePrimitive.GetGeometry2(0)
AttributeError: 'NoneType' object has no attribute 'GetGeometry2'
User avatar
ANDEWEGET
Ancient Force
Ancient Force
Posts: 1266
Joined: Tue Apr 01, 2008 8:42 am
Location: Germany
Contact:

Re: XSI ZETools

Post by ANDEWEGET »

Make sure that you don't have any unsupported object types (supported types are Poly. Meshes, Nulls and Bones). If that's not it you can send me your scene in a format that works in SI 2015 (.emdl/.xsi should work).
User avatar
giftheck
Droid Pilot Assassin
Droid Pilot Assassin
Posts: 2218
Joined: Mon Jan 19, 2009 5:58 pm
Projects :: Star Wars Battlefront Legacy

Re: XSI ZETools

Post by giftheck »

Is ther any special setup I need to get these working in Windows 10 64bit, or is the setup the same as it is in 32 bit?
asdfjkl
Private Third Class
Posts: 51
Joined: Mon Nov 16, 2015 10:30 pm
Projects :: No Mod project currently.
Games I'm Playing :: BF2
xbox live or psn: No gamertag set

Re: XSI ZETools

Post by asdfjkl »

ggctuk wrote:Is ther any special setup I need to get these working in Windows 10 64bit, or is the setup the same as it is in 32 bit?
Just got it on Win10. Make sure you have Python 2.6 installed... I had 3.5 installed and pywin32 wont work with it. Use the links from the install site and that version of python.
User avatar
giftheck
Droid Pilot Assassin
Droid Pilot Assassin
Posts: 2218
Joined: Mon Jan 19, 2009 5:58 pm
Projects :: Star Wars Battlefront Legacy

Re: XSI ZETools

Post by giftheck »

Thanks, but I already got it working.
User avatar
Anakin
Master of the Force
Master of the Force
Posts: 4817
Joined: Sat Sep 19, 2009 11:37 am
Projects :: RC Side Mod - Remastered - SWBF3 Legacy
Location: Mos Espa (germany)

Re: XSI ZETools

Post by Anakin »

I got an error when trying to export an model with cloth. I'm pretty sure i did something wrong, but i hope you can tell me what i did wrong with that log
Hidden/Spoiler:
[code]
Last 15 log lines:


INFO (586, convert): Is geodynamic.
INFO (852, do_export): Finished processing.
INFO (849, do_export): Processing model "clonecommander".
INFO (575, convert): Is geometry.
INFO (239, get_vertices): Processed 10113 vertices.
INFO (339, get_faces): Processed 3371 faces.
INFO (586, convert): Is geodynamic.
INFO (852, do_export): Finished processing.
INFO (849, do_export): Processing model "kama".
INFO (580, convert): Is cloth.
INFO (508, get_cloth_geo): Retrieved cloth deformers: [u'bone_pelvis']
INFO (516, get_cloth_geo): Processed 100 faces.
INFO (526, get_cloth_geo): Processed 67 vertices.
INFO (852, do_export): Finished processing.
INFO (857, do_export): Removed multiple vertices.


Traceback:


Traceback (most recent call last):
File "<Script Block >", line 35, in exportbutton_OnClicked
File "C:\Users\Anakin\Autodesk\Softimage_7.5\Addons\xsizetools-1.3.0019\Application\Core\andezetexport.py", line 811, in export
self.do_export()
File "C:\Users\Anakin\Autodesk\Softimage_7.5\Addons\xsizetools-1.3.0019\Application\Core\andezetexport.py", line 858, in do_export
self.msh.models.assign_cloth_collisions()
File "C:\Users\Anakin\Autodesk\Softimage_7.5\Addons\xsizetools-1.3.0019\Application\Modules\msh2.py", line 904, in assign_cloth_collisions
collision.primitive_type = cloth_collision_primitives[collision.name].primitive[0]
KeyError: 'ModelCommander.p_r_thigh'

[/code]
User avatar
AceMastermind
Gametoast Staff
Gametoast Staff
Posts: 3284
Joined: Mon Aug 21, 2006 6:23 am
Contact:

Re: XSI ZETools

Post by AceMastermind »

Anakin wrote:

Code: Select all

	    collision.primitive_type = cloth_collision_primitives[collision.name].primitive[0]
	KeyError: 'ModelCommander.p_r_thigh'
Collision: For XSI ZETools to recognize collision primitives the name needs to contain the type of primitive (cube, cylinder, sphere).
http://schlechtwetterfront.github.io/xs ... guidelines

examples:
p_cube_r_thigh
p_sphere_r_thigh
p_cylinder_r_thigh or just p_cyl_r_thigh
User avatar
Anakin
Master of the Force
Master of the Force
Posts: 4817
Joined: Sat Sep 19, 2009 11:37 am
Projects :: RC Side Mod - Remastered - SWBF3 Legacy
Location: Mos Espa (germany)

Re: XSI ZETools

Post by Anakin »

:oops: I thought it was something simple.

But it still does not work.
Hidden/Spoiler:
[code]
Last 15 log lines:


INFO (586, convert): Is geodynamic.
INFO (852, do_export): Finished processing.
INFO (849, do_export): Processing model "clonecommander".
INFO (575, convert): Is geometry.
INFO (239, get_vertices): Processed 10113 vertices.
INFO (339, get_faces): Processed 3371 faces.
INFO (586, convert): Is geodynamic.
INFO (852, do_export): Finished processing.
INFO (849, do_export): Processing model "kama".
INFO (580, convert): Is cloth.
INFO (508, get_cloth_geo): Retrieved cloth deformers: [u'bone_pelvis']
INFO (516, get_cloth_geo): Processed 100 faces.
INFO (526, get_cloth_geo): Processed 67 vertices.
INFO (852, do_export): Finished processing.
INFO (857, do_export): Removed multiple vertices.


Traceback:


Traceback (most recent call last):
File "<Script Block >", line 35, in exportbutton_OnClicked
File "C:\Users\Anakin\Autodesk\Softimage_7.5\Addons\xsizetools-1.3.0019\Application\Core\andezetexport.py", line 811, in export
self.do_export()
File "C:\Users\Anakin\Autodesk\Softimage_7.5\Addons\xsizetools-1.3.0019\Application\Core\andezetexport.py", line 858, in do_export
self.msh.models.assign_cloth_collisions()
File "C:\Users\Anakin\Autodesk\Softimage_7.5\Addons\xsizetools-1.3.0019\Application\Modules\msh2.py", line 904, in assign_cloth_collisions
collision.primitive_type = cloth_collision_primitives[collision.name].primitive[0]
KeyError: 'ModelCommander.p_cylinder_r_thigh'

[/code]
Hidden/Spoiler:
Image
I hope everything you need is on the picture.
User avatar
AceMastermind
Gametoast Staff
Gametoast Staff
Posts: 3284
Joined: Mon Aug 21, 2006 6:23 am
Contact:

Re: XSI ZETools

Post by AceMastermind »

Well it seems if you have the hierarchy under a model, Add from Selection will list the primitive names in Collision starting with ModelCommander.p_cylinder_r_thigh instead of just p_cylinder_r_thigh, in your situation. I would shorten those names back to just the object name and try again.
User avatar
Anakin
Master of the Force
Master of the Force
Posts: 4817
Joined: Sat Sep 19, 2009 11:37 am
Projects :: RC Side Mod - Remastered - SWBF3 Legacy
Location: Mos Espa (germany)

Re: XSI ZETools

Post by Anakin »

i thought so, too and i already did that. After that i got this error:
Hidden/Spoiler:
[code]Last 15 log lines:


INFO (239, get_vertices): Processed 960 vertices.
INFO (339, get_faces): Processed 320 faces.
INFO (586, convert): Is geodynamic.
INFO (852, do_export): Finished processing.
INFO (849, do_export): Processing model "clonecommander".
INFO (575, convert): Is geometry.
INFO (239, get_vertices): Processed 10113 vertices.
INFO (339, get_faces): Processed 3371 faces.
INFO (586, convert): Is geodynamic.
INFO (852, do_export): Finished processing.
INFO (849, do_export): Processing model "kama".
INFO (580, convert): Is cloth.
INFO (508, get_cloth_geo): Retrieved cloth deformers: [u'bone_pelvis']
INFO (516, get_cloth_geo): Processed 100 faces.
INFO (526, get_cloth_geo): Processed 67 vertices.


Traceback:


Traceback (most recent call last):
File "<Script Block >", line 35, in exportbutton_OnClicked
File "C:\Users\Anakin\Autodesk\Softimage_7.5\Addons\xsizetools-1.3.0019\Application\Core\andezetexport.py", line 811, in export
self.do_export()
File "C:\Users\Anakin\Autodesk\Softimage_7.5\Addons\xsizetools-1.3.0019\Application\Core\andezetexport.py", line 851, in do_export
self.msh.models.add(conv.convert())
File "C:\Users\Anakin\Autodesk\Softimage_7.5\Addons\xsizetools-1.3.0019\Application\Core\andezetexport.py", line 582, in convert
self.msh2_model.segments = self.get_cloth()
File "C:\Users\Anakin\Autodesk\Softimage_7.5\Addons\xsizetools-1.3.0019\Application\Core\andezetexport.py", line 556, in get_cloth
clothgeo.collisions = self.get_cloth_collisions(clothgeo)
File "C:\Users\Anakin\Autodesk\Softimage_7.5\Addons\xsizetools-1.3.0019\Application\Core\andezetexport.py", line 544, in get_cloth_collisions
collision.parent = self.export.xsi.Dictionary.GetObject(collision_name, False).Parent.Name.encode(STR_CODEC)
AttributeError: 'NoneType' object has no attribute 'Parent'
[/code]
User avatar
AceMastermind
Gametoast Staff
Gametoast Staff
Posts: 3284
Joined: Mon Aug 21, 2006 6:23 am
Contact:

Re: XSI ZETools

Post by AceMastermind »

Anakin wrote:
Hidden/Spoiler:
[code] Traceback (most recent call last):
File "<Script Block >", line 35, in exportbutton_OnClicked
File "C:\Users\Anakin\Autodesk\Softimage_7.5\Addons\xsizetools-1.3.0019\Application\Core\andezetexport.py", line 811, in export
self.do_export()
File "C:\Users\Anakin\Autodesk\Softimage_7.5\Addons\xsizetools-1.3.0019\Application\Core\andezetexport.py", line 851, in do_export
self.msh.models.add(conv.convert())
File "C:\Users\Anakin\Autodesk\Softimage_7.5\Addons\xsizetools-1.3.0019\Application\Core\andezetexport.py", line 582, in convert
self.msh2_model.segments = self.get_cloth()
File "C:\Users\Anakin\Autodesk\Softimage_7.5\Addons\xsizetools-1.3.0019\Application\Core\andezetexport.py", line 556, in get_cloth
clothgeo.collisions = self.get_cloth_collisions(clothgeo)
File "C:\Users\Anakin\Autodesk\Softimage_7.5\Addons\xsizetools-1.3.0019\Application\Core\andezetexport.py", line 544, in get_cloth_collisions
collision.parent = self.export.xsi.Dictionary.GetObject(collision_name, False).Parent.Name.encode(STR_CODEC)
AttributeError: 'NoneType' object has no attribute 'Parent'
[/code]
Yeah i'm getting the exact same message even with a simple 4 object hierarchy:
dummyroot
  • bone_root
    • cape
      • p_sphere
User avatar
Anakin
Master of the Force
Master of the Force
Posts: 4817
Joined: Sat Sep 19, 2009 11:37 am
Projects :: RC Side Mod - Remastered - SWBF3 Legacy
Location: Mos Espa (germany)

Re: XSI ZETools

Post by Anakin »

:? so the solution is....
User avatar
AceMastermind
Gametoast Staff
Gametoast Staff
Posts: 3284
Joined: Mon Aug 21, 2006 6:23 am
Contact:

Re: XSI ZETools

Post by AceMastermind »

It looks like a problem with the way cloth related data is being collected, it exports fine when you delete the ZECloth custom parameter set.

The next best thing is to move your characters into one of these to export cloth:
viewtopic.php?f=36&t=22345


EDIT
arrrg cloth collision has to be named starting with a c_ instead of a p_ , completely forgot about that and didn't catch it! :cpu:
You can tell its been a while since I exported cloth. :lol:
User avatar
ANDEWEGET
Ancient Force
Ancient Force
Posts: 1266
Joined: Tue Apr 01, 2008 8:42 am
Location: Germany
Contact:

Re: XSI ZETools

Post by ANDEWEGET »

While not evident from any of the ZETools docs, cloth collisions need to start with "c_" to be gathered correctly. Cloth collision primitives also don't require special naming conventions for ZETools to recognize the type.

Update 1.3.7

Changelog:
Hidden/Spoiler:
Fixed cloth always requiring weights.
Fixed cloth not being deleted if the object has no geometry.
Added test to check for cloth collision primitive names to start with "c_".
Normal collision primitives don't need to follow special naming conventions anymore.
Post Reply