{"id":139,"date":"2012-12-23T23:03:02","date_gmt":"2012-12-24T04:03:02","guid":{"rendered":"http:\/\/autonomycontrolsystems.wordpress.com\/?page_id=139"},"modified":"2017-01-01T15:47:20","modified_gmt":"2017-01-01T20:47:20","slug":"shapes-and-clothing","status":"publish","type":"page","link":"https:\/\/acs-hub.net\/?page_id=139","title":{"rendered":"Shapes and Clothing"},"content":{"rendered":"<p><strong>Note:<\/strong> This page is rather complicated and may have a bug or two. I intend to rewrite it, but haven&#8217;t yet. In the meantime, you may find it easier to look at the example scenarios <a title=\"#1: Just One?Shape\" href=\"http:\/\/acs-hub.net\/?page_id=497\">#1: Just One Shape<\/a> and <a title=\"#2. Multiple?Shapes\" href=\"http:\/\/acs-hub.net\/?page_id=501\">#2: Multiple Shapes<\/a>. You can then return to this page for additional information if those examples aren&#8217;t enough for you.<\/p>\n<p>Most dolls and androids can have their clothing changed when they are shut down or frozen. In addition, many units have the ability to assume entirely different shapes, using nanite, holographic, or other technology. Finally, a unit may attach or detach other types of objects such as animation overriders (AOs) and speech limiters in order to modify its behavior. Although SL and RLV cannot tell the difference between attachments defining body shape, clothing, and behaviors, with a little bit of work you will be able to give the CCU enough of a hint to allow these abilities to be properly used.<\/p>\n<p>For simplicity, this document describes ACS&#8217;s recommended Best Practices (as of CCU Version 1.6). Other approaches are possible. A few simpler approaches are given here. An updated, easier to follow document that includes some new features of Version 1.7 will be released in the near future.<\/p>\n<h2>Getting Started<\/h2>\n<ol>\n<li>If you have not already done so, create a folder called &#8220;#RLV&#8221; in your inventory.<\/li>\n<li>Inside that folder, create three subfolders: &#8220;Shapes&#8221;, &#8220;Outfits&#8221;, and &#8220;Behaviors&#8221;.<\/li>\n<li>Inside &#8220;Shapes&#8221;, create one clearly-named folder for each distinct shape you can assume. Create a link inside each such folder to each body part and attachment that is part of that shape. Include shapes, skins, makeup, hair, tails, horns, access panels, indicator lights, doll keys, and so on &#8211;<em> things that someone could not walk up to you and remove by hand<\/em>.? Do not include clothes unless that shape is never expected to wear any other clothing.<\/li>\n<li>Inside &#8220;Outfits&#8221;, create one clearly-named folder for each distinct outfit you can wear. Create a link inside each such folder to each clothing item and attachment that is part of that outfit. Include shirts, skirts, pants, underwear, shoes, jewelry, scarves &#8211; <em>anything someone might walk up to you and remove by hand<\/em>. Do not include items that cannot be removed in this way, like hair and attachments. If you have many different outfits, create a folder hierarchy inside Outfits to organize them. Do not leave more than about 30 outfit folders inside any one folder.<\/li>\n<li>Inside &#8220;Behaviors&#8221;, create one clearly-named folder for each <em>AO or other type of behavior-modifying device<\/em> that you may wear. Create a link inside each such folder to each attachment that is part of that behavior. (Usually there will be only one item per folder, but that&#8217;s not a requirement.) Do not include any items that would be visible, like indicator lights or hair.<\/li>\n<li>Edit your &#8220;p99 ShapesOutfits&#8221; notecard (&#8220;p99 Unit&#8221; if you got your CCU at Version 1.7 or earlier) to be sure it has the following lines:\n<pre>set clothingfolders=Outfits\r\nset shapefolders=Shapes\r\nset behaviorfolders=Behaviors<\/pre>\n<\/li>\n<\/ol>\n<p>Example:<\/p>\n<pre>\t#RLV\r\n\t\tOutfits\r\n\t\t\tFormal\r\n\t\t\t\tBlueBallGown\t(with clothing items inside)\r\n\t\t\t\tRed Pants Suit\t(with clothing items inside)\r\n\t\t\t\t(more options here)\r\n\t\t\tCasual\r\n\t\t\t\tJeans-and-tshirt\r\n\t\t\t\tGreen sweater outfit\r\n\t\t\t\tStripy skirt\r\n\t\t\tSexy\r\n\t\t\t\tLavender lingerie\r\n\t\t\t\tTeddy\r\n\t\tShapes\r\n\t\t\tPorcelain doll\t\t(with items inside)\r\n\t\t\tHarem Android\t\t(with items inside)\r\n\t\t\tSchoolgirl Android\r\n\t\t\tPink Drone\t\t\t(with items inside)\r\n\t\tBehaviors\r\n\t\t\tSexyAO\r\n\t\t\tDemureAO\r\n\t\t\tRobotAO\r\n\t\t\tDollAO\r\n\t\t\tRobotSpeaker\t\t(makes.unit.talk.like.this)<\/pre>\n<h2>Scenario #1: Shape-changing android<\/h2>\n<p>In this example, the android has two forms, a petite Schoolgirl shape and a tall buxom Harem shape. They can both wear the same clothing. The android also has three personality modes: a sexy one, a demure one, and a robotic one. Either shape can run any of the three personalities. Here are example Shape and Personality programs using the above #RLV structure:<\/p>\n<pre>\tmode Shape (Schoolgirl;Harem) D\r\n\taction (shape=schoolgirl)...\r\n\t\tdetachall:Shapes\r\n\t\tattachover:Shapes\/Schoolgirl Android\r\n\taction (shape=harem)...\r\n\t\tdetachall:Shapes\r\n\t\tattachover:Shapes\/Harem Android\r\n\r\n\tmode Personality (Sexy;Demure;Robotic) B\r\n\taction (personality=sexy)...\r\n\t\tdetachall:Behaviors\r\n\t\tattachover:Behaviors\/SexyAO\r\n\taction (personality=demure)...\r\n\t\tdetachall:Behaviors\r\n\t\tattachover:Behaviors\/DemureAO\r\n\taction (personality=Robotic)...\r\n\t\tdetachall:Behaviors\r\n\t\tattachover:Behaviors\/RobotAO\r\n\t\tattachover:Behaviors\/RobotSpeaker<\/pre>\n<p>Notice that the program never alters the unit&#8217;s clothing. When the unit changes shape or behaviors, its clothes are unchanged. If the Schoolgirl personality is embarrassed at the sexy harem costume she was wearing before her personality was changed, she can change her clothes &#8211; or she can be frozen so someone else can change them.<\/p>\n<h2>Scenario #2: Bigger changes<\/h2>\n<p>In this example, the android has three forms: an android, a doll, and a drone. Each form has its own associated behaviors. When it changes shape, this unit automatically appears in the default clothing for its new form, though it can be changed into any other outfit.? For this to work, you need to make a change to p99 ShapesOutfits (or p99 Unit):<\/p>\n<p>set shapefolders=Shapes,Outfits<\/p>\n<p>This tells the CCU that its programs CAN change the unit&#8217;s clothing. (In the previous example, they could not.) Here are example Shape and Personality programs using the above #RLV structure:<\/p>\n<pre>        mode Shape (Doll;Android;Drone) D\r\n\taction (shape=doll)...\r\n\t\tdetachall:Shapes\r\n\t\tdetachall:Outfits\r\n\t\tdetachall:Behaviors\r\n\t\tattachover:Shapes\/Porcelain doll\r\n\t\tattachover:Behaviors\/DollAO\r\n\t\tattachover:Outfits\/Formal\/BlueBallGown\r\n\r\n\taction (shape=android)...\r\n\t\tdetachall:Shapes\r\n\t\tdetachall:Outfits\r\n\t\tdetachall:Behaviors\r\n\t\tattachover:Shapes\/Harem Android\r\n\t\tattachover:Behaviors\/SexyAO\r\n\t\tattachover:Outfits\/Sexy\/Teddy\r\n\taction (shape=Drone)...\r\n\t\tdetachall:Shapes\r\n\t\tdetachall:Outfits\r\n\t\tdetachall:Behaviors\r\n\t\tattachover:Shapes\/Pink Drone\r\n\t\tattachover:Behaviors\/RobotAO\r\n\t\t# drone does not wear clothing by default<\/pre>\n<h2>Scenario #3: Each form has its own clothing options<\/h2>\n<p>This example is like Scenario #2 above, but each shape is restricted to its own set of clothing. The doll can&#8217;t be dressed in the sexy outfits, the android can&#8217;t wear the doll&#8217;s clothes, and the drone can&#8217;t wear any clothes. <i>For this to work, you need to NOT set &#8220;clothingfolders&#8221; or &#8220;shapefolders&#8221; in p99 ShapesOutfits or p99 Unit<\/i>. If you do, they will override anything you try to set in your mode module. Instead, set that setting in your mode. For example:<\/p>\n<pre>\tmode Shape (Doll;Android;Drone) D\r\n\taction (shape=doll)...\r\n\t\tset:shapefolders=Outfits,Shapes\t\t# must do this to detach all outfits\r\n\t\tdetachall:Shapes\r\n\t\tdetachall:Outfits\r\n\t\tattachover:Shapes\/Porcelain doll\r\n                attachover:Outfits\/Doll\/BlueBallGown\r\n\t\tset:shapefolders=Shapes\r\n                set:clothingfolders=Outfits\/Doll\r\n\taction (shape=android)...\r\n\t\tset:shapefolders=Outfits,Shapes\t\t# must do this to detach all outfits\r\n\t\tdetachall:Shapes\r\n\t\tdetachall:Outfits\r\n\t\tattachover:Shapes\/Harem Android\r\n\t\tattachover:Outfits\/Android\/Teddy\r\n\t\tset:shapefolders=Shapes\r\n                set:clothingfolders=Outfits\/Android\r\n\taction (shape=drone)...\r\n\t\tset:shapefolders=Outfits,Shapes\t\t# must do this to detach all outfits\r\n\t\tdetachall:Shapes\r\n\t\tdetachall:Outfits\r\n\t\tattachover:Shapes\/Pink Drone\r\n\t\tset:shapefolders=Shapes\r\n                set:clothingfolders=\r\n\t\t# drone can not wear clothing<\/pre>\n<p>Now, when you are in (for example) Android shape, you can ONLY be dressed in outfits in the Outfits\/Android folder. The Outfits\/Doll folder is not available. When you&#8217;re in the Drone shape, the Dress ball won&#8217;t even appear.<\/p>\n<h2>Scenario #4: But my #RLV folder is already organized a different way!<\/h2>\n<p>If you&#8217;ve been using a different wardrobe-management tool, you may have your #RLV folder set up something like this:<\/p>\n<pre>\t#RLV\r\n\t\tOutfits\r\n\t\t\tFormal\r\n\t\t\t\tBlueBallGown\t(with clothing items inside)\r\n\t\t\t\tRed Pants Suit\t(with clothing items inside)\r\n\t\t\t\t(more options here)\r\n\t\t\tCasual\r\n\t\t\t\tJeans-and-tshirt\r\n\t\t\t\tGreen sweater outfit\r\n\t\t\t\tStripy skirt\r\n\t\t\tSexy\r\n\t\t\t\tLavender lingerie\r\n\t\t\t\tTeddy\r\n\t\tShapes\r\n\t\t\tPorcelain doll\t\t(with items inside)\r\n\t\t\tHarem Android\t\t(with items inside)\r\n\t\t\tSchoolgirl Android\r\n\t\t\tPink Drone\t\t\t(with items inside)\r\n\t\tBehaviors\r\n\t\t\tSexyAO\r\n\t\t\tDemureAO\r\n\t\t\tRobotAO\r\n\t\t\tDollAO\r\n\t\t\tRobotSpeaker\t\t(makes.unit.talk.like.this)<\/pre>\n<p>This works too:<\/p>\n<pre>\tmode Shape (Porcelain;Blonde;Drone) D\r\n\taction (shape=porcelain)...\r\n\t\tset clothingfolders=Manager\r\n\t\tdetachall:Manager\t\t# detach all other shapes &amp; outfits\r\n\t\tattachover:Manager\/Porcelain doll\/Avatar\r\n\t\tset clothingfolders=Manager\/Porcelain doll\/Clothing\r\n\t\tattachover:Manager\/Porcelain doll\/Clothing\/Default\r\n\taction (shape=Blonde)...\r\n\t\tset clothingfolders=Manager\r\n\t\tdetachall:Manager\t\t# detach all other shapes &amp; outfits\r\n\t\tattachover:Manager\/Harem Android\/Avatar\r\n\t\tset clothingfolders=Manager\/Harem Android\/Clothing\r\n\t\tattachover:Manager\/Harem Android\/Clothing\/Default\r\n\taction (shape=Drone)...\r\n\t\tset clothingfolders=Manager\r\n\t\tdetachall:Manager\t\t# detach all other shapes &amp; outfits\r\n\t\tattachover:Manager\/Pink Drone\/Avatar\r\n\t\tset clothingfolders=Manager\/Pink Drone\/Clothing\r\n\t\t# drone doesn't attach clothing<\/pre>\n<h2>Other scenarios<\/h2>\n<p>You don&#8217;t have to be dressed in entire outfits at once. Each folder is worn and removed independently of the others. So if you wanted, you could have Shoes in a separate folder from the rest of the outfits, and an assortment of separate Jewelry options, and so on, allowing someone dressing you to mix and match. Of course, nothing stops someone from dressing you in three different pairs of shoes, four different skirts, and no top&#8230; but sometimes that happens to a doll, right?<\/p>\n<h2>Why so complicated?<\/h2>\n<p>Because the system is designed to allow other people to program you. You might reasonably want to allow someone else to add a new mode to you that uses a different AO, but NOT let that mode change your shape. Your concept may be that you&#8217;re a shapeshifting construct that wears real, non-shapeshifting clothes &#8211; or that you ONLY change clothes through shapeshifting &#8211; or that your personality (AO) and shape can&#8217;t be changed independently. These setting options allow you to preserve your concept, while still letting others program you within the boundaries you&#8217;ve decided on.<\/p>\n<p>If you don&#8217;t plan to let other people program you, then you can safely include your Behaviors in shapefolders and never deal with behaviorfolders separately.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Note: This page is rather complicated and may have a bug or two. I intend to rewrite it, but haven&#8217;t yet. In the meantime, you may find it easier to look at the example scenarios #1: Just One Shape and &hellip; <a href=\"https:\/\/acs-hub.net\/?page_id=139\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"parent":26,"menu_order":30,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"folder":[47],"class_list":["post-139","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/acs-hub.net\/index.php?rest_route=\/wp\/v2\/pages\/139","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/acs-hub.net\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/acs-hub.net\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/acs-hub.net\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/acs-hub.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=139"}],"version-history":[{"count":1,"href":"https:\/\/acs-hub.net\/index.php?rest_route=\/wp\/v2\/pages\/139\/revisions"}],"predecessor-version":[{"id":1323,"href":"https:\/\/acs-hub.net\/index.php?rest_route=\/wp\/v2\/pages\/139\/revisions\/1323"}],"up":[{"embeddable":true,"href":"https:\/\/acs-hub.net\/index.php?rest_route=\/wp\/v2\/pages\/26"}],"wp:attachment":[{"href":"https:\/\/acs-hub.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=139"}],"wp:term":[{"taxonomy":"folder","embeddable":true,"href":"https:\/\/acs-hub.net\/index.php?rest_route=%2Fwp%2Fv2%2Ffolder&post=139"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}