-
Notifications
You must be signed in to change notification settings - Fork 532
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Custom Skeleton Fixes for various bosses and enemies #3436
Custom Skeleton Fixes for various bosses and enemies #3436
Conversation
@PurpleHato / @NEstelami Do we have any plans to continue this, or should we close and re-open at a later date? |
To be honest I completely forgot about this. There was one minor graphical issue (unrelated to the changes in this PR) but I think it's fine to move forward with this PR. |
OK so! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@NEstelami says it's good let's
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Left a question about an early return that I think can be removed, otherwise there is some white spacing that could be cleaned up but ultimately not a blocker.
Also this PR seems to be bringing in some unrelated commits from develop
. Could you please rebase those changes out?
After investigation around the "body break" system that some enemies use when dying, I've come to the conclusion that it will not be possible to support flexible meshes for limbs that use this system. As such I have reverted the existing changes around it in this PR. For background: The main skeleton types are Standard and Flex. This PR's goal is to allow enemies that are originally Standard to be able to draw using the Flex system instead. A Flex skeleton allows meshes on limbs to stretch/attach to other limbs by reusing matrix information from previous limbs. This works fine when rendering the whole skeleton together. The problem around the "body break" system is that some/all limb DLs are assigned to individual "part" actors. These actors render the DL in isolation while being able to move on their own and despawn at different rates than others. This means that a DL that was trying to "flex" to another is no longer guaranteed to render in the expected order or have the matrix information from the other actor. And if one of the dependent actors despawns first, then there is nothing for the other DL to "connect" to. The reality is that the "body break" system is just simply not meant for flexible meshes. What this means for modders: The enemies that use the "body break" system are the following: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Approving now that body break parts are no longer in scope.
Maybe it'd be a good idea to detect if one of these skeletons are flex and disable the body break parts? |
Thé only ennemies i had IS stalchild when hé due
Envoyé à partir de Outlook pour Android<https://aka.ms/AAb9ysg>
…________________________________
From: Pepe20129 ***@***.***>
Sent: Friday, July 26, 2024 4:29:30 PM
To: HarbourMasters/Shipwright ***@***.***>
Cc: Djipi71 ***@***.***>; Comment ***@***.***>
Subject: Re: [HarbourMasters/Shipwright] Custom Skeleton Fixes for various bosses and enemies (PR #3436)
Maybe it'd be a good idea to detect if one of these skeletons are flex and disable the body break parts?
Or give a warning of some kind (although that would go into the whole provide warnings for malformed/erroneous/etc otr contents rabbit hole).
—
Reply to this email directly, view it on GitHub<#3436 (comment)>, or unsubscribe<https://github.com/notifications/unsubscribe-auth/AIN4QG3UWYBKU7QDJNXFNJTZOJMMVAVCNFSM6AAAAAA7YHTZJCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDENJSHA4TENJVHE>.
You are receiving this because you commented.Message ID: ***@***.***>
|
Flex alone is not what makes it incompatible, its when meshes are allowed to stretch to other limbs. It's not possible to detect that as is. If made correctly, a Flex skeleton can use the break system. I think it would be better to just have this kind of information capture in modding documentation. Similar to how modders have to be aware of DLs that use color values set in code if they want that work correctly. |
Fixes "vertex explosions" that occur with custom models for various enemies and bosses.
Build Artifacts