ClothingManipulation
From OpenSimulator
(→Step 1: Upload the assets) |
|||
Line 21: | Line 21: | ||
Each clothing item needs an associated asset for its appearance and other parameters (e.g. length in the case of hair). As assets are immutable, they will be reused for every user (if a user were to change their hair length then a new asset just for them would be created). However, we are assuming that the original assets aren't yet in the asset service so we will need to upload them. | Each clothing item needs an associated asset for its appearance and other parameters (e.g. length in the case of hair). As assets are immutable, they will be reused for every user (if a user were to change their hair length then a new asset just for them would be created). However, we are assuming that the original assets aren't yet in the asset service so we will need to upload them. | ||
− | + | One way to do this is to directly POST the assets to the asset service, as described at [[AssetService#POST:.2Fassets]]. There are a number of ways to get the raw asset data (the part that actual describes the hair, pants, etc.) itself. One is to dump assets using the "dump asset" region console command. Another is to extract them from OpenSim Region Archives (OARs) or OpenSim Inventory Archives (IARs). | |
==Step 2: Create the user== | ==Step 2: Create the user== |
Revision as of 13:57, 12 September 2012
Note: This document is a work-in-progress
Contents |
Introduction
By default, when a new avatar is created in OpenSimulator they are clothed with a default clothing set consisting of hair, shape, eyes, skin, pants and shirt (this is also known as the "Ruth" avatar).
By making various ROBUST service calls and uploading the appropriate assets, one can also set clothing on an avatar without manually doing this through a viewer. It is also possible to achieve the same end through other means, such as direct database updates. However, this document will concentrate on the ROBUST service call approach. Using ROBUST service calls does not require the caller to have an extremely detailed knowledge of the OpenSimulator data structure, though a very large amount of knowledge about OpenSimulator in general is still required. The ROBUST service call approach is also less vulnerable to change as OpenSimulator evolves. One disadvantage is that it requires the appropriate ROBUST service instances to be running whereas direct database updates could be made when OpenSimulator is completely inactive.
This technique also currently applies only to the grid architecture of OpenSimulator, since the standalone mode cannot currently expose the necessary external service interfaces. In theory, there is some undocumented code in the RemoteAdmin facility that can be used to setup differently clothed avatars in standalone mode but the extent to which this is operational is not currently known.
Also, please note that this technique needs the user to be offline throughout. If the user is online then they can make updates to their clothing which conflict with updates made through the ROBUST service calls.
Steps
For now, we are going to assume
- That we are clothing a new avatar, not changing the clothing of one that already exists.
- The necessary assets are not yet in OpenSimulator's asset service.
Step 1: Upload the assets
Each clothing item needs an associated asset for its appearance and other parameters (e.g. length in the case of hair). As assets are immutable, they will be reused for every user (if a user were to change their hair length then a new asset just for them would be created). However, we are assuming that the original assets aren't yet in the asset service so we will need to upload them.
One way to do this is to directly POST the assets to the asset service, as described at AssetService#POST:.2Fassets. There are a number of ways to get the raw asset data (the part that actual describes the hair, pants, etc.) itself. One is to dump assets using the "dump asset" region console command. Another is to extract them from OpenSim Region Archives (OARs) or OpenSim Inventory Archives (IARs).
Step 2: Create the user
This can be done by any number of means, including via a manual "create user" command on the ROBUST service interface or via the ROBUST calls detailed in UserManipulation. You may want to set
[UserAccountService] CreateDefaultAvatarEntries = false
in Robust.ini if you don't want a new avatar to have the "Ruth" clothing. However, there is no harm if the avatar has these entries as well.