bugfix: Hide visible bones from damaged China Emperor Overlord model#127
bugfix: Hide visible bones from damaged China Emperor Overlord model#127Stubbjax wants to merge 2 commits into
Conversation
xezon
left a comment
There was a problem hiding this comment.
I suggest link to the Patch1 changes so that they can be easily cross referenced on review.
| WeaponLaunchBone = PRIMARY Muzzle | ||
| Animation = NVOvrlrdT_D.NVOvrlrdT_D | ||
| AnimationMode = LOOP | ||
| HideSubObject = Smoke06 Smoke07 Smoke08 |
There was a problem hiding this comment.
There needs to be a TheSuperHackers comment explaining this, because it is not intuitive at all.
There was a problem hiding this comment.
Compared to other HideSubObject or ShowSubObject cases, this does indeed seem to be an unorthodox solution and more of a workaround than a proper fix.
Upon looking at the model itself, it clearly contains superfluous bone meshes. It would be preferable to simply delete the bone meshes - they already exist as bones anyway. I've tested this and the outcome is identical.
The cannon bones are also reversed to the cannon meshes, so the left cannon recoils when the right fires and vice versa. Do we want to fix both issues in this PR?
There was a problem hiding this comment.
The HideSubObject solution is for making the fix work without changing models.
There was a problem hiding this comment.
The HideSubObject solution is for making the fix work without changing models.
Correct. The better solution is to update the model.
There was a problem hiding this comment.
I have fixed the model; I can push it here?
There was a problem hiding this comment.
Did you use the Blender Plugin? If yes, keep in mind Blender Plugin is destructive and not safe.
There was a problem hiding this comment.
I can also do it with Max. What is destructive about the Blender plugin? I've not encountered any issues so far.
There was a problem hiding this comment.
I think last time I used it was 2022 or 23. Maybe things were improved and fixed by then. There were bugs where importing and exporting some models would destroy their texture mappings.
It would be also good to get the plain text model format, so that we can review and revision model edits in text. We have not finished work for that yet. Bobtista did some LLM generated prototypes in GeneralsGameCode but it did not materialize.
I think first step is implementing a w3d to plain text tool and engine support, and then make use of that for the Blender Plugin as well.
There was a problem hiding this comment.
There were bugs where importing and exporting some models would destroy their texture mappings.
Did you document these bugs anywhere? I would like to reproduce them to understand what's going on. Were they always conspicuous? Any such bugs surely wouldn't make it past the development / testing phase.
If anything, I've found Max to be more destructive in that transform exports and texture blend modes are always lost on import, which has been a known issue for as long as I can remember.
I think first step is implementing a w3d to plain text tool and engine support, and then make use of that for the Blender Plugin as well.
I've not historically found plain-text model/prefab diffs to be very useful other than for catching very basic things like object renames or for resolving merge conflicts on those exceptionally rare occasions when an asset is worked on by more than one developer.
Besides, wouldn't this approach only be viable for subsequent model iterations and not the initial transition from binary to plain-text? Would such transitions need to be separately reviewed (somehow) to ensure the transition is lossless? I can't imagine there being many (if any) cases where a model edit is reviewed by reading the data and not via direct comparison in modelling software (or even using wdump) along with in-game testing, regardless.
Will this first step be required before we can do any model changes?
I link each change to the Patch Migration Project upon creation. |
…aker Tower texture, and fix barrel recoil of the damaged Emperor Overlord model
Summary
This change fixes several issues with the damaged China Emperor Overlord model:
This is quite a poor setup to anyone with a keen eye. It's not overly conspicuous, but once you see it, you can't unsee it.
Details
The following changes were applied:
SMOKE06,SMOKE07andSMOKE08) with corresponding smoke bonesNVOvrlrd_U→NVOvrlrd_UD)BARREL01→BARREL02andBARREL02→BARREL01)TransitionDamageFXcan find them (onlySMOKE01andSMOKE02were originally found asSMOKE03did not exist)SMOKE01was outsideCHASSIS01)SPEAKERFX01bone to support spawning the Propaganda effects from the actual Speaker TowerNote
Particle systems defined in the
TransitionDamageFXmodule do not respect animated bones. The only way to achieve this is by defining the bones in theDrawmodule and specifyingParticlesAttachedToAnimatedBones = YES. This however conflicts with the effects defined in theTransitionDamageFXmodule and thus forgoes the ability to randomly spawn a limited number of systems from a range of bones.Engine changes will also be required to spawn Propaganda effects from a bone.
Testing
Before
After