rojo/.cursor/rules/roblox/reference/engine/classes/WrapTextureTransfer.yaml
2026-02-02 12:08:47 -06:00

127 lines
4.5 KiB
YAML

# This file is automatically generated. Please don't edit it manually.
# To submit a bug report on the content, see
# https://devforum.roblox.com/c/bug-reports/documentation-issues/72
name: WrapTextureTransfer
type: class
memory_category: Instances
summary: |
`Class.WrapTextureTransfer` allows a parent `Class.Decal` to be wrapped around
its parent `Class.MeshPart` based on the cage of its `Class.WrapTarget`.
description: |
WrapTextureTransfer provides an alternative projection mode for `Class.Decal`
where this `Class.Decal` is fit to the parent `Class.MeshPart` based on it's
CageMesh provided in `Class.WrapTarget`.
This is useful as it allows fitting of Decals to a wide variety of differently
shaped MeshParts that share a similar WrapTarget CageMesh topology. By
authoring textures that are in the WrapTarget UV space, these textures can be
reused across many different MeshParts with different texture layouts.
- DataModel Structure
- `Class.MeshPart`
- `Class.WrapTarget`
- `Class.Decal`
- `Class.WrapTextureTransfer`
A way to visualize how this works is to imagine the Decals textures on the
WrapTarget CageMesh, which is wrapped around the MeshPart. These textures are
then projected from the CageMesh onto the MeshPart surface. Geometry that is
internal to the MeshPart, or that is not covered by the CageMesh, will not
receive any projected decal textures. Segmented regions of the target
`Class.MeshPart` are used to improve projection quality near holes or
boundaries in the CageMesh.
code_samples: []
inherits:
- Instance
descendants: []
tags:
- NotBrowsable
deprecation_message: ''
properties:
- name: WrapTextureTransfer.ReferenceCageMeshContent
summary: |
An optional reference mesh used for pruning and validating the target
cage.
description: |
The reference cage mesh is the cage mesh that the texture was authored
for. This target cage mesh defined in `Class.WrapTarget` is pruned against
this `ReferenceCageMeshContent`. If the target cage mesh contains vertices
or faces that are not present in the reference cage mesh, these vertices
and faces are removed from the target cage mesh before performing the
texture transfer. If there are no shared UVs between
`ReferenceCageMeshContent` and cage mesh defined in `Class.WrapTarget`,
the texture transfer fails.
When not defined, the cage in `Class.WrapTarget` in ancestor
`Class.MeshPart` is used for transfer without any pruning or validation.
code_samples: []
type: Content
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Appearance
serialization:
can_load: true
can_save: true
capabilities:
- Avatar
- name: WrapTextureTransfer.UVMaxBound
summary: |
Determines the maximum bound of the UV space to include in the transfer.
description: |
Determines the maximum bound of the UV space to include in the transfer.
Areas of the cage mesh with UV values greater than the maximum bound
aren't included when applying the texture.
The Decal textures apply to the parent `Class.MeshPart` with the textures
scaling linearly between UVMinBound and UVMaxBound.
When set to default -inf, the maximum UV value is used from WrapTarget's
cage.
code_samples: []
type: Vector2
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Appearance
serialization:
can_load: true
can_save: true
capabilities:
- Avatar
- name: WrapTextureTransfer.UVMinBound
summary: |
Determines the minimum bound of the UV space to include in the transfer.
description: |
Determines the minimum bound of the UV space to include in the transfer.
Areas of the cage mesh with UV values smaller than the minimum bound
aren't included when applying the texture.
The Decal textures apply to the parent `Class.MeshPart` with the textures
scaling linearly between UVMinBound and UVMaxBound.
When set to default inf, uses the minimum UV value from WrapTarget's cage.
code_samples: []
type: Vector2
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Appearance
serialization:
can_load: true
can_save: true
capabilities:
- Avatar
methods: []
events: []
callbacks: []