News:

Rings of Reznor!

Main Menu

More mesh cleaning. (FF and FF3R)

Started by Symon, June 03, 2013, 06:23:24 PM

Previous topic - Next topic

Symon

Having played with many games that use Nifs for their 3D meshes now, (FF, FF3R, Morrowind, Oblivion, Civ4, Pirates, Fallout3) I like to think I know my way round a Nif these days. Comparing Morrowind and FF meshes is fascinating. They both use the same 4.0.0.2 Nifs, so a little inspection reveals how much an SDK the engine is. The differences between the two games reveals how much better at leveraging the engine Irrational were than Bethesda. Morrowind keyframes are an abomination! Monolithic and using an offset (based on time) into the keyframe to select an animation. They culled useful nodes like the gloss effects. You can create a Morrwind mesh with gloss effects just like an FF one but it will throw it away un-rendered. (At least until a genius came along and patched the executable to stop throwing away perfectly useful nodes. A major advance, wish he'd get into FF!!!)

Comparing the games skeletons was fascinating too. It quickly revealed that the NiTriShape attached to each skeleton node was redundant. I've always presumed that it was placed there by Irrational to allow the animations to be created before the actual mesh was finalised. i.e. Make the skeleton and then you can animate it while the actual finished mesh is still under development. This theory is supported by the fact that the FF3R versions of, say Minute Man, does NOT have these TriShapes. The mesh and animations were 'mature'. To date, only the new meshes seem to have any redundant geometry which so far I've been able to strip away with no issues.

The upshot is that every FF mesh and many FF3R meshes, by Irrational or not, has several Kb of un-needed NiTriShapes. These can be stripped away with no effect on the game and better yet, give a cleaner import into Blender with the NifTools Plugin. It's a simple procedure so long as you are confident with NifSkope and have a backup of the mesh.

Open the mesh in NifSkope. As always, you want to look at the block list.

Expand the skeleton, usually called Bip01.

Select the NiTriShape (often called Biped Object) with two children, one of which is an NiMaterial Property.

Select mesh-> blockdelete. Only delete nodes with two children and especially without an NiTexturing property node. Such nodes will be visible geometry bound to the bone, such as a weapon or helmet wings, so you DON'T usually want to delete those.

Repeat with the entire skeleton and then save the mesh.

Note that on Irrational meshes in FF, the skeleton is a linkage of NiNodes, but the extra geometry is an NiClod node (often called Biped Object) with an NiMaterialProperty and an NiClodData that can be deleted with no effect on the games animations but will save you 20-30 K or more per mesh.
"You fertility deities are worse than Marxists," he said. "You think that's all that goes on between people."

Roger Zelazny, Lord of Light. 1971.