• v0.2.1 0fc3dd3aa3

    FBX Viewer 0.2.1
    All checks were successful
    release / release (push) Successful in 1m0s
    Stable

    FiLL released this 2026-08-08 10:48:03 +00:00 | 1 commits to main since this release

    Assigning a texture to a palette-atlas model produced a black or unchanged model.
    Three separate causes, all found with test/fixtures/hum_stand_a.fbx.

    Fixed

    • Textures were applied upside down. Images were decoded with
      createImageBitmap, for which Texture.flipY is not honoured — three's own loader
      documents it as ignored. On an atlas that is not a subtle difference: every UV read
      a different cell, and for this kit all of them landed in the unused, black half of
      the palette. Decoding now goes through an image element, the same path as every
      other texture in the pipeline. test/paletteAtlas.test.ts asserts both directions.
    • Emissive, roughness and metalness maps did nothing. three multiplies each by its
      scalar, and this kit exports EmissiveFactor 0 while the Phong conversion picks
      metalness 0 — so the assigned image was multiplied away to nothing. The scalar is
      now set alongside the map, the previous value is remembered, and clearing restores it.
    • Palette atlases are point sampled. Meshes whose UVs collapse onto a handful of
      texels are reading a grid of flat colours; filtering or mipmapping such an image
      blends the neighbouring swatches in. Detected from the geometry, never the image.
    • Ambient occlusion maps are pointed at the first UV set when a model has no second
      one, instead of sampling nothing.
    • A base colour map neutralises a non-white tint so the image shows its own colours,
      and restores the authored tint when cleared.
    • Loose .fbx and image files in the repository root are no longer packaged into the
      .vsix.

    The Materials tab now says what was adjusted and why, rather than changing things
    quietly.

    Downloads