Skip to content

UiTextureProviderMeshData

Removed in 14.17

Inheritance 1 ancestor · 4 siblings

Class Documentation

Edit documentation

A texture provider that drew an animated skinned mesh on an icon element. Removed from current builds; what follows is how it worked while it existed.

The mesh was not drawn into the UI directly. The provider rendered it into an offscreen target of its own and gave that target to the icon as its texture, so to the icon it was one more plain picture.

Target. The target was as large as the icon's rectangle in screen pixels, with each side rounded up to a power of two, and was created again when the icon's pixel size changed. The icon drew the centred part of it that matched its own size. The icon's FlipX and FlipY mirrored the picture.

Camera. The view was orthographic, looking down the negative Z axis with Y up, with a depth range of 1000 units on each side of the origin. One model unit covered one pixel of the target, and the model's origin sat at the centre of the icon. Nothing fitted the mesh to the icon and there was no perspective: ModelTransformation was the only control over where the mesh sat and how large it appeared.

The provider was always plain. It had no sliced form.

Properties

ModelTransformation

Mtx44
Default value
[[1, 0, 0, 0],
 [0, 1, 0, 0],
 [0, 0, 1, 0],
 [0, 0, 0, 1]]
Edit documentation

The model matrix, applied to the mesh before the camera. Because one model unit is one pixel and the origin is the icon's centre, this matrix carries the scale, rotation and offset that place the mesh inside the icon.

animationGraphData

Link<AnimationGraphData> = "0x0"
Edit documentation

The AnimationGraphData that posed the mesh. The provider named no clip of its own; it started the graph's entry states.

The link had to be set. The provider used it without checking for an empty one.

skinMeshProperties

Embed<SkinMeshDataProperties>
Default value
{
  "reflectionOpacityDirect": 0,
  "reflectionFresnel": 1,
  "reflectionOpacityGlancing": 1,
  "RoughnessMetallicAoTexture": "",
  "materialOverride": [],
  "selfIllumination": 0,
  "ForceDrawLast": false,
  "submeshRenderOrder": "",
  "EmitterSubmeshAvatarToHide": "",
  "initialSubmeshMouseOversToHide": "",
  "fresnelColor": [0, 0, 0, 255],
  "texture": "",
  "boundingCylinderRadius": 50,
  "reflectionFresnelColor": [255, 255, 255, 255],
  "overrideBoundingBox": null,
  "boundingCylinderHeight": 150,
  "materialController": null,
  "initialSubmeshToHide": "",
  "fresnel": 0,
  "boundingSphereRadius": null,
  "emissiveTexture": "",
  "skinScale": 1,
  "castShadows": true,
  "skeleton": "",
  "EnablePicking": true,
  "InitialSubmeshAvatarToHide": "",
  "brushAlphaOverride": 0.25,
  "Material": "0x0",
  "ReducedBoneSkinning": false,
  "simpleSkin": "",
  "reflectionMap": "",
  "glossTexture": "",
  "usesSkinVO": false,
  "normalMapTexture": "",
  "rigPoseModifierData": [],
  "initialSubmeshShadowsToHide": ""
}
Edit documentation

The mesh to draw, in the form a character skin describes its own mesh: SkinMeshDataProperties, with skeleton, skin, textures and material. The mesh came from the client's shared skinned mesh cache.