Project

General

Profile

Bug #4159

NPCs' base skeleton files should not be optimized

Added by Randy Davin about 1 month ago. Updated 7 days ago.

Status:
Closed
Priority:
Normal
Assignee:
Category:
Animation
Target version:
Start date:
10/15/2017
% Done:

100%

Reproducibility:
Always
Operating system:
Other
Severity:
Normal

Description

Using this replacer->https://www.nexusmods.com/morrowind/mods/44523/?

Look at screenshots.

Attached the nif files.

Steps to reproduce, just copy the files from the mod and use it. Pick a female character, go to first person.

Morrowind did not show any problem.

eroor.JPG View (132 KB) Randy Davin, 10/15/2017 08:42 PM

base_anim_female.1st.nif (9.97 KB) Randy Davin, 10/15/2017 08:43 PM

xbase_anim.1st.nif (10.2 KB) Randy Davin, 10/15/2017 08:43 PM

screenshot000.jpg View (339 KB) Randy Davin, 10/15/2017 08:43 PM

Associated revisions

Revision b06512a6 (diff)
Added by scrawl . 12 days ago

Fix error message that referred to the wrong file (Bug #4159)

Revision a5adc5b0 (diff)
Added by scrawl . 12 days ago

Add NPC base skeleton files to the optimizer blacklist (Fixes #4159)

History

#1 Updated by Alexei Dobrohotov 25 days ago

  • Category set to Animation

#2 Updated by Doc West 14 days ago

This is a bug in the optimizer, turning it off fixes the issue. Will investigate further.

#3 Updated by Doc West 13 days ago

In Optimizer::RemoveEmptyNodesVisitor::apply() the nodes are added to the redundant list:

        if (group.getNumChildren()==0 && isOperationPermissibleForObject(&group) &&
            (typeid(group)==typeid(osg::Group) || (group.asTransform())) &&
            (group.getNumChildrenRequiringUpdateTraversal()==0 && group.getNumChildrenRequiringEventTraversal()==0) )
        {
            _redundantNodeList.insert(&group);

Commenting out the asTransform() fixes the issue. Is the optimizer supposed to remove transforms like that?

#4 Updated by scrawl . 12 days ago

Can you attach the files that the error message actually refers to (xbase_anim.1st.nif and xbase_anim.1st.kf )?

Is the optimizer supposed to remove transforms like that?

Yes. A transform with no children is generally redundant. But the optimizer isn't supposed to run on any file named 'x*.nif' which are base skeleton files that can't be optimized on their own because there are additional animations in the .kf file and the body parts in separate files.

#5 Updated by scrawl . 12 days ago

If I had to make a guess right now, that the file is named 'base_anim_female.1st.nif' might be causing the problem. Try renaming it to 'xbase_anim_female.1st.nif'. If this is the case, I might need to add something like 'base_anim_*' to the optimizer blacklist.

#6 Updated by scrawl . 12 days ago

  • Status changed from New to Resolved

Just as I thought, renaming the file works around this. I have added files named 'base_anim*' to the optimizer blacklist to solve this issue.

Can you attach the files that the error message actually refers to (xbase_anim.1st.nif and xbase_anim.1st.kf )?

Ignore this, the error message was stating the wrong file (also fixed).

#7 Updated by scrawl . 12 days ago

  • Status changed from Resolved to Closed
  • % Done changed from 0 to 100

#8 Updated by Alexei Dobrohotov 12 days ago

  • Subject changed from Error: RigGeometry did not find bone bip01 to NPCs' base skeleton files should not be optimized
  • Target version set to openmw-0.44
  • Operating system changed from Windows to Other

#9 Updated by Alexei Dobrohotov 7 days ago

  • Assignee set to scrawl .

Also available in: Atom PDF