Attachment Protocols

From OpenSimulator

Revision as of 15:54, 4 April 2013 by Justincc (Talk | contribs)

Jump to: navigation, search

Contents

Introduction

WIP: These are rough notes on some aspects of attachments - will be filled out as time goes on -- Justincc 22:50, 4 April 2013 (UTC)

On login, the simulator sends information to the viewer about the current attachments and rezzes them attached to the avatar in the region. This information is pulled from the avatar service.

On viewers without a "Current Outfit" folder (version 1 viewers and some version 2 viewers), this is the primary way in which a viewer is notified as to what is attached.

On viewers that do have a "Current Outfit" folder, they will issues RezMultipleAttachmentFromInventory UDP requests to re-rez the objects. However, OpenSimulator will ignore these and use it's record of the attached objects from the avatar service instead in order to maintain compatibility with version 1 viewers. This should make no difference as both records should be identical.

Protocol

Below is a list of the UDP messages involved in attachment manipulation that flow between the viewer and the simulator. This list may not be complete.

Direct UDP messages

ObjectAttach

Viewer -> Simulator.

Attachment an object in the scene.

ObjectDetach

Viewer -> Simulator.

Detach an attachment into the user's inventory.

ObjectDrop

Viewer -> Simulator.

Detach an attachment into the scene.

RezSingleAttachmentFromInv

Viewer -> Simulator.

Attach an object from the user's inventory.

RezMultipleAttachmentsFromInv

Viewer -> Simulator.

Rez multiple attachments at once from the user's inventory.

Associated UDP messages

KillObject

Simulator -> Viewer.

Sent by the simulator to tell the viewer that an object has been detached. For a V3 viewer, this will trigger a subsequent RemoveInventoryItem to remove the item's link in the Current Outfit folder.

ObjectUpdate

Simulator -> Viewer.

Tells the viewer about the properties of the new attachment (position, attachment point, etc.). Also conveys the attachment point, the position and which item this attachment comes from (if appropriate).

UpdateCreateInventoryItem

Simulator -> Viewer.

Tells the viewer that a new inventory item is present for a newly received attachment. For a V3 viewer, this will trigger a further LinkInventoryItem message to create a link for that item in the Current Outfit folder.

Personal tools
General
About This Wiki