Reference API Roblox

Engine API

Website

Related

Reference API Roblox

WrapLayer

The WrapLayer object defines a 3D accessory's inner and outer surfaces and other properties related to layering accessories. These surfaces, or the Inner Cage and Outer Cage, are similar to collision boxes, and describe the surfaces of which other 3D accessories can be placed without clipping or breaking.

Member index 13

HistoryMember
553AutoSkin: WrapLayerAutoSkin
553BindOffset: CFrame
553Color: Color3
553DebugMode: WrapLayerDebugMode
553Enabled: bool
553Order: int
553Puffiness: float
645ReferenceMeshId: ContentId
553ReferenceOrigin: CFrame
553ReferenceOriginWorld: CFrame
553ShrinkFactor: float
inherited from BaseWrap
645CageMeshId: ContentId
553CageOrigin: CFrame
553CageOriginWorld: CFrame
645HSRAssetId: ContentId
553ImportOrigin: CFrame
553ImportOriginWorld: CFrame
603GetCageOffset(): Vector3
475GetFaces(cageType: CageType): Array
629GetUVs(cageType: CageType): Array
475GetVertices(cageType: CageType): Array
499IsHSRReady(): bool
573ModifyVertices(cageType: CageType, vertices: Array): null
639VerticesModified(vertices: Array)
inherited from Instance
553Archivable: bool
635Capabilities: SecurityCapabilities
553Name: string
553Parent: Instance
635Sandboxed: bool
616UniqueId: UniqueId
576AddTag(tag: string): null
573ClearAllChildren(): null
462Clone(): Instance
573Destroy(): null
486FindFirstAncestor(name: string): Instance
486FindFirstAncestorOfClass(className: string): Instance
486FindFirstAncestorWhichIsA(className: string): Instance
486FindFirstChild(name: string, recursive: bool = false): Instance
486FindFirstChildOfClass(className: string): Instance
486FindFirstChildWhichIsA(className: string, recursive: bool = false): Instance
486FindFirstDescendant(name: string): Instance
563GetActor(): Actor
486GetAttribute(attribute: string): Variant
462GetAttributeChangedSignal(attribute: string): RBXScriptSignal
631GetAttributes(): Dictionary
648GetChildren(): Instances
462GetDebugId(scopeLength: int = 4): string
486GetDescendants(): Array
486GetFullName(): string
641GetStyled(name: string): Variant
576GetTags(): Array
576HasTag(tag: string): bool
486IsAncestorOf(descendant: Instance): bool
486IsDescendantOf(ancestor: Instance): bool
580IsPropertyModified(name: string): bool
573Remove(): null
576RemoveTag(tag: string): null
580ResetPropertyToDefault(name: string): null
573SetAttribute(attribute: string, value: Variant): null
462WaitForChild(childName: string, timeOut: double): Instance
648children(): Instances
553clone(): Instance
573destroy(): null
553findFirstChild(name: string, recursive: bool = false): Instance
648getChildren(): Instances
553isDescendantOf(ancestor: Instance): bool
573remove(): null
462AncestryChanged(child: Instance, parent: Instance)
462AttributeChanged(attribute: string)
462ChildAdded(child: Instance)
462ChildRemoved(child: Instance)
462DescendantAdded(descendant: Instance)
462DescendantRemoving(descendant: Instance)
500Destroying()
553childAdded(child: Instance)
inherited from Object
647ClassName: string
647className: string
647GetPropertyChangedSignal(property: string): RBXScriptSignal
647IsA(className: string): bool
650isA(className: string): bool
647Changed(property: string)

Description

The WrapLayer object defines a 3D accessory's inner and outer surfaces and other properties related to layering accessories. These surfaces, or the Inner Cage and Outer Cage, are similar to collision boxes, and describe the surfaces of which other 3D accessories can be placed without clipping or breaking.

Internally, WrapLayer also uses the UV layout of the Inner and Outer cages to match coordinates to another 3D object's cage. This powers the deformation of objects around differently shaped avatars and underlying accessories.

History 50

Members 13

AutoSkin

TypeDefault
WrapLayerAutoSkinDisabled

History 2

BindOffset

TypeDefault
CFrame

This property is intended for fine-tuning purposes and is highly optional.

CFrame to adjust a binding point for a clothing item mesh. Allows for fine-tuning of clothing items (slight adjustment of position/rotation to get a unique look) in contexts such as community-made avatar editors.

History 4

Color

TypeDefault
Color31, 1, 1

Sets color used for the debug rendering. See WrapTarget.DebugMode

This property is not scriptable. It cannot be accessed by script code.
This property is not replicated. Its interface does not cross the network boundary.

History 4

Tags: [NotReplicated, NotScriptable]

DebugMode

TypeDefault
WrapLayerDebugModeNone

Allows switching between different debugging visualization modes for cage meshes.

This property is not scriptable. It cannot be accessed by script code.
This property is not replicated. Its interface does not cross the network boundary.

History 4

Tags: [NotReplicated, NotScriptable]

Enabled

TypeDefault
booltrue

Allows for disabling of the WrapLayer object as if it does not exist.

History 4

Order

TypeDefault
int1

Controls the composition order for layered clothing. Clothing items with higher order will appear on top of clothing items with lower order. If two items have the same order, the deformer composition order is ambiguous and depends on serialization order. Default value is 1.

History 5

  • 553 Change Default of Order from to 1
  • 529 Change WriteSecurity of Order from PluginSecurity to None
  • 486 Change ThreadSafety of Order from ReadOnly to ReadSafe
  • 462 Change ThreadSafety of Order from to ReadOnly
  • 458 Add Order

Puffiness

TypeDefault
float1

Controls how much underlying clothing items inflate the current clothing item.

Valid range is -1 to 1. A value of -1 compresses the clothing, body, and all underlying layers such that the clothing itself takes the shape of the body. A value of 0 makes the clothing item fit as if it was the only piece of clothing being worn, compressing all underlying layers. A value of 1 (default) never compresses anything and infinitely inflates over underlying clothing items.

History 5

ReferenceMeshId

TypeDefault
ContentId

AssetID for reference mesh used to define Inner Cage of a 3D object

Reference mesh is used to define standard topology and UV coordinates for index matching. It is expected that for all catalog avatars, this will point to one of 15 standard reference meshes provided by Roblox. But for some NPCs or a custom avatar system, this might point to other meshes.

Note: this property is set up automatically by the FBX importer

History 4

ReferenceOrigin

TypeDefault
CFrame

Reference mesh offset relative to parent MeshPart (in the parent MeshPart space)

Note: this property is set up automatically by the FBX importer

History 4

ReferenceOriginWorld

TypeDefault
CFrame

Reference mesh offset relative to parent MeshPart (in the world space)

Note: this property is set up automatically by the FBX importer

This property is not replicated. Its interface does not cross the network boundary.
This property is read-only. Its value can be read, but it cannot be modified.

History 4

Tags: [ReadOnly, NotReplicated]

ShrinkFactor

TypeDefault
float0

This property is intended for fine-tuning purposes and is highly optional.

Allows slight shrinking/expanding of the resulting render mesh, without affecting any other layers. This is useful in rare cases when the clothing mesh does not precisely fit the underlying clothing layers (the cage is usually slightly overestimated atop the real shape to avoid layer interpenetration). Even slight overestimation has the tendency to accumulate, especially when there are a lot of layers. While this is usually not critical, some items like backpacks may be problematic.

Valid range is -1 to 1. A value of -1 will maximally expand while a value of 1 will maximally shrink. A value of 0 (default) has no effect.

History 4

Settings