spearmint icon indicating copy to clipboard operation
spearmint copied to clipboard

Add Support for Single Model IQM Players

Open zturtleman opened this issue 11 years ago • 4 comments

Allow blending at waist and neck. Support legs and torso animations. I'd like to handle torso/legs in cgame completely, so it possible to add more animation-types such as head.

zturtleman avatar Mar 14 '13 02:03 zturtleman

See https://github.com/Extraordinary-Beat-X/ebx-code/commit/129bbd3d23f965d3153fbdc7221859c985d10ab7 for the code I wrote but didn't finished. Needs to be fixed and improved. Should look at how Unvanquished handles it.

I'd also like it to handle rtcw/et player models if reasonable.

zturtleman avatar Oct 09 '13 18:10 zturtleman

Made upper/lower/head skins be merged internally for single model support in bdadcea3ebd896dc980bcbbfcdb2dc49ec14d5c6.

zturtleman avatar Dec 01 '13 05:12 zturtleman

The other day my little brother was playing the new remastered Halo 2 on Xbox One. Somehow he found a glitch in the player model. It offset the waist and leg portion of his player model by about a foot so when he looked down he could see his waist as if he had been cut in half. It looked like the player model was separated at least at the waist and maybe at the head/neck area as well.

The reason I'm mentioning this is to ask why you want to support single model IQM? Wouldn't it work with just blending at the waist and neck? Or at least to make the blending and single model support separate issues.

mecwerks avatar May 27 '15 18:05 mecwerks

I hadn't really thought about it. Though I think it would cause issues for the characters I planned to use single models for, such as Raspberry.

Using MD3 all UV texture seems are visible due to vertex lighting, so I'd want to use a single mesh to avoid having a seem around the waist. Though, I don't know if IQM improves vertex normals making this a non-issue or if the reason it's an issue with MD3 is Misfit Model 3D's exporter.

The only way I can imagine bending waist using separate models is rotating the top joint of the legs and having the torso fixed in place (not programmically rotating) connected to that top joint. This prevents the torso vertexes from being able to 'twist' (using vertex joint weights) when yaw rotating, which I think is what I would want for Raspberry and also what the ET player models do.

Even if it was possible to do everything using multi-segment players, I'd probably want to use single model for the sake of easier content creation, more mesh / animation flexibility, and better interchangeability with other content/engines (except Halo 2 apparently).

It would probably be a good to support separate/changeable head model for Q3 / Team Arena though. It would be possible to disable drawing the legs or torso meshes using a skin if that's useful.

It essentially requires the same engine features to support 'waist bending' using single or multi-segment models, allowing arbitrary joints to be rotated.

zturtleman avatar Jun 06 '15 18:06 zturtleman