Skip to content

Conversation

@BethOfDeath
Copy link

Building off of Daemacht's work in #35.

A picture is worth a thousand words, so have a cropped screenshot showing off most of the worn armor.

Bear Armor In-Game

a_bear2_skin:

  • Adjusted UVs so strap buckle angles make more sense.
  • Merged 3 vertices
  • Some normals orientation work to bottom of skin -- no splitting
  • Corrected texture -- was using a_bear_chest.dds instead of a_bear2_chest.dds
  • Vanilla: 38774 bytes, Daemacht's version: 36027; new: 35885 (-7%)

a_bear_skin:

  • Copied new a_bear2_skin and changed the texture names back.

a_bear_1st:

  • Shifted some vertices over because there were some very thin triangles, then adjusted UVs to eliminate noticable texture warping.
  • Vanilla: 30787 bytes, Daemacht's version: 27434; new: 27299 (-11%)

a_bear2_1st:

  • Copied a_bear_1st and changed texture names to match vanilla.

a_bear_gauntlet_gnd:

  • Reworked wrist of glove part of gauntlet because the geometry was awful and it was messing with the normals when I weighted them. It's on the underside, so it shouldn't be noticeable.
  • Vanilla: 9122 bytes, Daemacht's version: 8663; new: 8862 (-3%)

a_bear2_gauntlet_gnd:

  • Copied previous and changed texture filenames appropriately.

a_bear_greaves_g:

  • Reweighted normals
  • Vanilla: 2387 bytes; new: 2234 (-6%)

a_bear_greaves_k:

  • Uv tweaking on spike. Deleted spurious edge and hidden faces.
  • UV tweaking on rest to eliminate distortion.
  • Vanilla: 3643 bytes; new: 3200 (-12%)

a_bear2_greaves_gnd:

  • Reworked UVs on end of legs
  • Removed hidden faces from legs and merged extremely-nearby vertices; added backside faces to legs and pelvic mesh
  • Weighted normals
  • Put in NiLODNode to disappear at 8191
  • Vanilla: 7706 bytes; new: 7776 (+1%)

a_bear_greaves_gnd, a_bear2_greaves_g, a_bear2_greaves_k:

  • Assigned the other armor's texture and saved to the appropriate filename for each.

a_bear_helmet:

  • Reworked lower molar meshes to be part of jaw, instead of freely and -- at the wrong angle -- visibly floating
  • Careful normals work
  • Removed internal faces from neck-covering skin flap
  • Slid two verts immediately behind bear ears down the vertical edge to soften a ridiculous pair of points.
  • Slide bottom-center verts up on alpha-tested front teeth mesh to... probably... slightly decrease area of screen calculations would be done on
  • Lots of tedious UV tweaking
  • Added NiLODNode to discontinue display of alpha tested teeth ASAP, and stop rendering helmet at 16384. 8191 would probably be enough, I don't think I went back and checked that.

Bear Helm Front Comparison
Bear Helm Left Comparison

a_bear2_helmet: Changed texture and saved as the new file.

a_bear_shield:

  • Dissolved superflorus vertices on back of shield.
  • Reduced UV islands.
  • Normals work on straps.
  • Added LOD to reduce to 1 drawcall.
  • Vanilla: 17411 bytes; new: 20800 (+19%)

a_bear_pauldron_fa, ua

  • Re-unwrapped UVs to minimize visible distortion.
  • fa: Deleted hidden faces from horn and reunwrapped, then moved to part of texture probably intended for them and scaled/rotated the UV verts until the horn looked adequate.
  • ua: Corrected floating horn bits and removed now-hidden faces from underside of them
  • Minor normals work, amounting to nothing more than sharp edges on the spike tips and the usual modifer.
  • ua: Slid vertices a bit so I could add sharp edges to delineate the transition from fur and softer leather to hardened leather armor.
  • ua: Vanilla: 8094 bytes; new: 8777 (+8%)
  • fa: Vanilla: 3327 bytes; new: 3044 (-9%)

a_bear_pauldron_gnd:

  • Merged away so frickin' many unneeded vertices and cleaned up the underside. There are no longer gaps, long thin triangles, or extra random faces beyond the edges of the model. Reduced from 178 verts/245 tris to 128 verts/194 tris.
  • Adjusted UVs of underside so it doesn't just display repeated tiny versions of the entire texture.
  • Data Transfer projected the UVs arm fur part from the _ua mesh, so it actually looks like fur.
  • Same "horn" work as _fa.
  • Created LOD to reduce to 1 drawcall and reduce triangle count to about ~60%
  • Vanilla: 9713 bytes; new: 13286 (+37%)

a_bear_boot_a:

  • Very slight UV adjustment -- mostly on part which isn't itself visible.
  • Weighted normals
  • Vanilla: 2313 bytes; new: 2262 (-2%)

a_bear_boot_f:

  • Removed hidden faces from "claws"
  • Reunwrapped claws and shifted as with pauldrons
  • Vanilla: 6706 bytes; new: 5792 (-14%)

Bear Boots Comparison Front

a_bear_boot_gnd:

  • Copied _a and _f, combined them, deleted now-hidden faces, and placed in matching position. Duplicated and shifted copy to match other boot. Shifted and scaled verts to match original ground model.
  • Vanilla: 16576 bytes; new: 14435. (-13%)

a_bear2_boot_*:

  • Copied a_bear_ versions and changed the texture.

a_bear_cuirass_gnd:

  • Removed internal reversed face from "skirt" part
  • Transferred over UVs from worn cuirass moddel (and cleaned up the result)
  • Weighted normals. Didn't even need to use sharp edges, just a careful auto-smooth angle setting.
  • Placed trishape in NiLODNode to disappear at 16384.
  • Vanilla: 10793 bytes; new: 8045 (-25%)

a_bear_skinf:

  • Fixed UVs on gauntlets and sides of torso. (Buckled straps do not, to my knowledge and experience, go UP at the buckle like the texture depicts. Also, torso armor is now centered properly)
  • Removed a LOT of internal faces from gauntlet fingers, and a couple from "skirt" part.
  • Hours of fiddling with weight painting managed to correct lowest part of skin from clipping into greaves, and editing the mesh to avoid the groin of greaves, pants, or just the body from clipping through the cuirass.
  • Removed bogus nodes via NifSkope function
  • Vanilla: 43568 bytes; new: 45954. (+5%) (No, I have no idea how it got larger)

!! Remaining issues (not comprehensive):

  • Cuirass skirt clips into back of right leg while swinging a two-handed weapon in a horizontal slash (tested with the adamantium claymore). Attempts to fix this with weight painting failed.
  • Pauldrons clip into cuirass with some body shapes and sizes
  • Helm back fur clips into torso due to lack of skinning

Daemacht and others added 2 commits November 13, 2025 13:34
- Adjusted UVs so strap buckle angles make more sense.
- Merged 3 vertices
- Some normals orientation work to bottom of skin -- no splitting
- Corrected texture -- was using a_bear_chest.dds instead of a_bear2_chest.dds
- Vanilla: 38774 bytes, Daemacht's version: 36027; new: 35885 (-7%)

a_bear_skin:
- Copied new a_bear2_skin and changed the texture names back.

a_bear_1st:
- Shifted some vertices over because there were some very thin triangles, then adjusted UVs to eliminate noticable texture warping.
- Vanilla: 30787 bytes, Daemacht's version: 27434; new: 27299 (-11%)

a_bear2_1st:
- Copied a_bear_1st and changed texture names to match vanilla.

a_bear_gauntlet_gnd:
- Reworked wrist of glove part of gauntlet because the geometry was awful and it was messing with the normals when I weighted them. It's on the underside, so it shouldn't be noticeable.
- Vanilla: 9122 bytes, Daemacht's version: 8663; new: 8862 (-3%)

a_bear2_gauntlet_gnd:
- Copied previous and changed texture filenames appropriately.

a_bear_greaves_g:
- Reweighted normals
- Vanilla: 2387 bytes; new: 2234 (-6%)

a_bear_greaves_k:
- Uv tweaking on spike. Deleted spurious edge and hidden faces.
- UV tweaking on rest to eliminate distortion.
- Vanilla: 3643 bytes; new: 3200 (-12%)

a_bear2_greaves_gnd:
- Reworked UVs on end of legs
- Removed hidden faces from legs and merged extremely-nearby vertices; added backside faces to legs and pelvic mesh
- Weighted normals
- Put in NiLODNode to disappear at 8191
- Vanilla: 7706 bytes; new: 7776 (+1%)

a_bear_greaves_gnd, a_bear2_greaves_g, a_bear2_greaves_k:
- Assigned the _other_ armor's texture and saved to the appropriate filename for each.

a_bear_helmet:
- Reworked lower molar meshes to be part of jaw, instead of freely and -- at the wrong angle -- visibly floating
- Careful normals work
- Removed internal faces from neck-covering skin flap
- Slid two verts immediately behind bear ears down the vertical edge to soften a ridiculous pair of points.
- Slide bottom-center verts up on alpha-tested front teeth mesh to... probably... slightly decrease area of screen calculations would be done on
- _Lots_ of tedious UV tweaking
- Added NiLODNode to discontinue display of alpha tested teeth ASAP, and stop rendering helmet at 16384. 8191 would probably be enough.

a_bear2_helmet: Changed texture and saved as the new file.

a_bear_shield:
- Dissolved superflorus vertices on back of shield.
- Reduced UV islands.
- Normals work on straps.
- Added LOD to reduce to 1 drawcall.
- Vanilla: 17411 bytes; new: 20800 (+19%)

a_bear_pauldron_fa, ua
- Re-unwrapped UVs to minimize visible distortion.
- fa: Deleted hidden faces from horn and reunwrapped, then moved to part of texture probably intended for them and scaled/rotated the UV verts until the horn looked adequate.
- ua: Corrected floating horn bits and removed now-hidden faces from underside of them
- Minor normals work, amounting to nothing more than sharp edges on the spike tips and the usual modifer.
- ua: Slid vertices a bit so I could add sharp edges to delineate the transition from fur and softer leather to hardened leather armor.
- ua: Vanilla: 8094 bytes; new: 8777 (+8%)
- fa: Vanilla: 3327 bytes; new: 3044 (-9%)

a_bear_pauldron_gnd:
- Merged away _so frickin' many_ unneeded vertices and cleaned up the underside. There are no longer gaps, long thin triangles, or extra random faces beyond the edges of the model. Reduced from 178 verts/245 tris to 128 verts/194 tris.
- Adjusted UVs of underside so it doesn't just display repeated tiny versions of the entire texture.
- Data Transfer projected the UVs arm fur part from the _ua mesh, so it actually looks like fur.
- Same "horn" work as _fa.
- Created LOD to reduce to 1 drawcall and reduce triangle count to about ~60%
- Vanilla: 9713 bytes; new: 13286 (+37%)

a_bear_boot_a:
- Very slight UV adjustment -- mostly on part which isn't itself visible.
- Weighted normals
- Vanilla: 2313 bytes; new: 2262 (-2%)

a_bear_boot_f:
- Removed hidden faces from "claws"
- Reunwrapped claws and shifted as with pauldrons
- Vanilla: 6706 bytes; new: 5792 (-14%)

a_bear_boot_gnd:
- Copied _a and _f, combined them, deleted now-hidden faces, and placed in matching position. Duplicated and shifted copy to match other boot. Shifted and scaled verts to match original ground model.
- Vanilla: 16576 bytes; new: 14435. (-13%)

a_bear2_boot_*:
- Copied a_bear_ versions and changed the texture.

a_bear_cuirass_gnd:
- Removed internal reversed face from "skirt" part
- Transferred over UVs from worn cuirass moddel (and cleaned up the result)
- Weighted normals. Didn't even need to use sharp edges, just a careful auto-smooth angle setting.
- Placed trishape in NiLODNode to disappear at 16384.
- Vanilla: 10793 bytes; new: 8045 (-25%)

a_bear_skinf:
- Fixed UVs on gauntlets and sides of torso. (Buckled straps do not, to my knowledge and experience, go UP at the buckle like the texture depicts. Also, torso armor is now centered properly)
- Removed a LOT of internal faces from gauntlet fingers, and a couple from "skirt" part.
- Hours of fiddling with weight painting managed to correct lowest part of skin from clipping into greaves, and editing the mesh to avoid the groin of greaves, pants, or just the body from clipping through the cuirass.
- Removed bogus nodes via Nifskope function
- Vanilla: 43568 bytes; new: 45954. (+5%) (No, I have no idea how it got *larger*)

!! Remaining issues (not comprehensive):
- Cuirass skirt clips into back of right leg while swinging a two-handed weapon in a horizontal slash (tested with the adamantium claymore)
- Pauldrons clip into cuirass with some body shapes and sizes
- Helm back fur clips into torso due to lack of skinning
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants