# 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: []