blender_niftools_addon icon indicating copy to clipboard operation
blender_niftools_addon copied to clipboard

exporting havok constraints impossible after blender 2.8+

Open TackYs opened this issue 2 years ago • 4 comments

@niftools/blender-niftools-addon-reviewer -

Before creating a new issue, ensure that

  • [x] Read the user documentation.
  • [x] Check that the issue hasn't already been reported.
  • [x] Read through the list of Helpful resources links on the right-hand side.
  • [ ] Talk with the developers to ensure its a valid issue

The issue will get closed off immediately as invalid if

  • [ ] Looking for support where the forums, chat or documentation is more appropriate.
  • [ ] Goes off topic, loses focus or turns into a discussion.
  • [ ] Removing parts of the template the issue.

Fill out the template below to the best of your ability, including .blend files, nifs, logs; help us to help you.

Issue Overview

[Provide a general introduction to the issue and why it is relevant to this repository] The already written, and likely still functional, code to export havok constraints is not accessible since it relies on blender rigid body constraint options that no longer exist since 2.8+

The code im referring to is located in modules/nif_export/constraint/init.py

Trying to export bhkRagdollConstraints and bhkMalleableConstraints, relies on the blenderobj having a "RIGID_BODY_JOINT" rigid body constraint, this constraint was removed with the removal of blenders game engine after 2.8+, thus it is impossible to export such constraints. Even though setting up constraints in blender is a bit tedious it beats doing them in nifskope.

The same code block also looks for the rigid body constraints pivot_type, which afaik also doesn't exist anymore.

Under git projects the constraints milestones seems flagged as complete?

Version Information

Blender Niftools Addon Version Info

[Provide version information for the Blender Niftools Addon the issue occurs with, available in Blender in the Add-On section] niftools plugin 0.0.15dev

Blender Version Info

[Provide information on which version of Blender the issue is seen] blender 2.8+

Platform information

[Provide a brief overview of what OS your running on]

Context

[Provide more detailed information to the issue itself and why it is relevant]

Steps to Reproduce

[Ordered list of the steps required for recreating the issue, including settings] #.

Expected Result

[Describe what you expected to have resulted from this process]

Actual Result

[Describe what you currently experience from this process, and thereby explain the bug]

Possible Fix

[Optional, suggest fixes, improvement or reasons for the bug might have occurred] changing from looking for a RIGID_BODY_JOINT constraint to another type of blender constraint with similar functionality, Im not good enough with blender to know which one would be suitable

Screenshot

[If relevant, include a screenshot] Trying to set the rigid body constraint to RIGID_BODY_JOINT not possible through menu or console

1

Logs and Files

[Provide logs file generated during the error as well as the blend and nif files are related to the issue]

Info Bar Output

[Output from the Info View, available at top of Blender viewport, drag to expand]

Console Output

[Set the logging level to 'Debug' and attach the output of the console. Enable via Window -> Toggle Console]

Blend File

[Attach the blend file if the issue is reproducible]

Nif File

[Attach input or output files, samples of what the expected output should be and reproducing the issue]

Similar Known Issues

[Reference any known issues - https://github.com/niftools/blender_niftools_addon/issues]

Additional Information

[Anything else you feel is relevant] What's a reasonable alternate blender side constraint or similar to draw needed information on?

TackYs avatar Jun 19 '22 16:06 TackYs

Loose idea:

Use posebone constraints instead, but only parse/export if export is set on "skeleton only"? With custom options in the posebone niftools panel (i imagine setting different target than parent posebone)

Maybe even a checkbox after selecting skeleton only in export labeled "export havok collision and constraints"

... Or make it mandatory to set up all needed options as niftools properties in the bone property panel for exporting?

TackYs avatar Jun 20 '22 08:06 TackYs

Literally nothing has been done to the plugin's constraints system since blender 2.49 (!). Posebone constraints may be one way to go. I know too little about constraints in nif and blender to be of much help here.

HENDRIX-ZT2 avatar Jun 20 '22 14:06 HENDRIX-ZT2

It's kind of a niche use-case as far as I know. I want it for creating new .nif skeletons for new creatures/races in Skyrim.

This has become a bit more doable lately due to progress in development of tools to create and edit havok (.hkx) skeletons and behavior. In the end I'll be limited to testing output in Skyrim only...

I'll start sketching something, my question could maybe be rephrased as:

Is this even in-scope for what the plugin aims to do?

TackYs avatar Jun 20 '22 16:06 TackYs

Its just more the focus for development has not come to this module yet.

neomonkeus avatar Jun 23 '22 16:06 neomonkeus