Inventory Service

October 4, 2009

I’ve spent the majority of the day working on a robust PHP script that permits an in-world inventory server to connect to a web-based service. It sounds simple enough, but the validation is killer. I only have one part of a few parts that I’m still working on. Connection is done. I need to work on a cron job to verify the URL still works, and I also need to work on the API to permit a list of the inventory to be stored on the web service.

One thing that I found pleasing was the capability of asynchronous HTTP communications. I start to make a request with llHTTPRequest. While that is happening, the URL that it is contacting tries to contact the same script on the http_request event. The http_request event verifies information from the server and returns additional information to verify that it is coming from the same script that originated the request. Finally, the http_response event gets the results from the llHTTPRequest and both client/server are happy.

I’m still uncertain if I should focus on the scavenger hunt idea or not since Peter Stindberg pointed out a scavenger hunt system made by iRika. However, it appears that hers is not web-based. The power of the web permits grid-wide (and even cross-grid) scavenger hunts. In addition, it permits profiles where people can choose to show which scavenger hunts they completed, and the reward associated with it. This is sort of like a trophy system. Imagine a large treasure hunt also that allows multiple people to hide items – like the great grid-wide goldrush and the Great Grid-Wide Easter Egg Hunt, but instead, you have to log onto other grids as well to get the entire collection. Another possibility would be to exchange found treasures for others similar to how the in-world Geocaching works. In this sense, you could leave a “bug” in one cache, and see how far it moves as others find it and put it into other cache’s. Because the back-end is connected to a database, you wouldn’t be limited by memory constraints. I found one treasure hunt that boasts support for 4,000 items. This is nothing with the power of a database.

Another item that I found on XStreetSL provided people with a set of gold bars to be hidden around a region. With the system I was thinking about, I could sell collections individually like this (but with different types of ingots like copper, iron, silver), or provide the ability to drop a script into your own objects. I believe iRika does something similar to this. Another product offers different flags to add some variety.

Although I am working with the web, I was also thinking of how to simplify things. In this case, the web should be completely optional. Even a checklist could be dynamically updated. I could add a button for it to list active treasure hunts in the current region, and then display a list of items for them to find. Perhaps some treasure hunts could be marked as private to group members only, individual people, or peoples avatars who are older or younger than a specific age. Another idea would be to require someone to be standing within a short distance whose rezday is today, in order for other people to claim the treasure. Or perhaps their name has to begin with a specific letter like lucky chairs, or a minimum number of people need to be near by similar to mob vend. With the capabilities of a website on the back-end, I could even set items up so that people would have to post a snapshot to bloghud, snapzilla, or mixoom in order to retrieve their prize. There are tons of ways to expand the idea of how to hunt for things. Oh, and the most awesome one – teams!

However, if it’s not the way to go, I could look into the UFO game again. I pretty much had a working concept setup for it. There were still a few other ideas to go along with it as well.

Copy Objects Between Grids

July 30, 2009

I just created a video demonstrating a little project I have been working on to export my content from the Second Life main grid onto my OpenSIM server over on OS Grid.

This is not copy bot. There are not any software programs used. The process is done using a few LSL scripts. You need to own the objects with modify permissions in order for this to work.

Prims are rezzed on OpenSIM and linked up to form a single object. Textures, Scripts, and inventory do not transfer during the process. Some of the default client textures are already available, so they will show up as if they had transferred without a problem.

I’ll be posting more details about it later over on my OSGrid page: Import/Export Between Grids by Instant Blue.

Funky UFO via AvPainter

January 9, 2009

The creator of AvPainter had addressed a few bugs that I found with the new sculpty support and added in a few feature requests as well. I must say, the ability to paint sculpties in 3D is perfect for this tool. Rather than having to go through a few steps to convert a sculpty to an OBJ file, AvPainter now reads images directly. I spent a good deal of time just playing around to paint up a funky looking UFO. Afterwards, I brought it into Adobe Photoshop and applied a few filters to give it some detail.



Painting my Funky UFO with AvPainter

Painting my Funky UFO with AvPainter


posted by Dedric Mauriac on Edloe using a blogHUD : [blogHUD permalink]

AvPainter and Mapping Photorealistic Textures

December 25, 2008

I’m starting to look into making clothing as a possible stream of new income in Second Life. The benefits are that people do not need to own land in order to use the product. My other products (gadgets) often require land with available prim space in order to work.

I started searching for swim suite/club models to work with photorealistic textures. I wanted to find something tight-fitting that would not need additional prims to look good (such as a dress, boots, frilly shirts, etc.). I found a One Piece Rio Swim Suit at Liquid Vinyl Clothing that may do the trick. I choose it because it had additional holes that allowed me to see visual markers to help with the mapping to a model.

The original templates provided by Linden Lab for creating clothing and skins were horrible. Today, they offer better templates provided by Chip Midnight. I hadn’t realized that they updated their templates and went with the Avatar UV templates by Robin Wood. I had used the templates a few times in the past and was comfortable with how much detail and help they offered along with many other Second Life Tutorials by Robin Wood. I was familiar with Robin Woods artwork outside of Second Life. I often use one of my favorite tarot card decks, the Robin Wood Tarot.

Using Adobe Photoshop CS3 Extended, I was able to start morphing the swim suite model to cover different points of the UV maps. Once a texture is mapped, designers often had to attempt an upload in the past to see a preview to determine if the clothing appeared correct. There were rumors that you could use Poser to load up an avatar mesh and preview the textures. I purchased the program, but was a bit confused with the setup to even attempt to load my own mesh and map textures. Other folks who design software have created tools to help speed up this preview/creation process without the use of Second Life until the final texture is ready. The first that I had found in the past was the freely available SL Clothes Previewer. I wasn’t able to find the software at the original site or on my network storage device, so I started looking at more options. (Update: Found a link to the original files on TATS blog on the post, SL Clolthes Previewer).


Desktop of AvPainter and Photoshop to create swimwear for Second Life

Desktop of AvPainter and Photoshop to create swimwear for Second Life

The next item to help out designers is AvPainter. The AvPainter software lets you not only preview textures, but also allows you to paint directly onto the model. Their is a free demo version that prevents you from saving – but it’s enough to give the same functionality (if not more) as the SL Clothes Previewer. Drawing directly on the model was very helpful with being able to not only see where I went wrong, but to start making corrections.


The software also lets you use layering for each part of the clothing. I had a skin layer, a UV map layer, and then the actual swimsuite layer. I was able to draw on the swimsuite without affecting the other layers. A tablet is a must-have for this software. I personally find the pen to be much better when working in 3D. The addition of pen sensitivity in the image also gives an added benefit.

AvPainter comes with a default UV Mesh as the base. It’s great for seeing the mapped parts, but horrible for getting an idea of what body parts are where. I started hunting for skin to go under the swim suite. I found a post by Vint Falken about free full perm female skin textures by Eloh Eliot . Eloh Eliot posted many different skins as PSD files with many layers showing how the skins are built up. I found that loading up the PSD in AvPainter with all the layers started having an effect on memory. I flattened all of the skin layers so that the PSD eventually only had 3 layers. Skin, UV Map (15% opacity) and Swimwear. It worked perfectly. I could visually see how the clothing would appear on a fully skinned model with a hint of UV mapping.


Although you can smudge the image in AvPainter, it leaves much to be desired in the realm of moving the mesh to prevent smudging. I had to keep going back to photoshop to stretch/distort/warp/liquify the image a little each time and then come back to the AvPainter. I may even have to go back and work with the Morpheus Photo Warper a bit to help with the morphing as well. However, I’ve had trouble in the past with it since it is not originally meant to morph images in this way. It is often used to morph one image into another; not to morph the mesh of an existing image.

At first glance, I showed my wife and she was amazed at what I had done in a couple of hours. Then the critic in me started pointing out the problems to her. Shapes did not appear correct. Holes that appeared as ovals on the original model started to look egg shaped or too circular in my version. The back of the model was not showing enough detail for me to map. The left side didn’t map well either and I had to duplicate and flip the right side of her, giving an odd mirroring effect. Clasps sat against the skin which would eventually require prims on models with large chests.

I suppose it is a good first start, but it leaves much to be desired. The optimal model would offer a front, side, and back view strait on with hands stretched out to the side. It would be easier to map the photos to the UV templates. However, I have never seen any models like this in photographs. They are often at an angle, and only sometimes show the back. The lighting often changes for the back because the camera man is usually in the same area where the model simply turned around. Even better would be if the model was wearing a catsuit of an avatar mesh under the clothing. I can’t have everything.

Class 3 Digital Certificates are Expensive

August 31, 2008

I am getting ready to launch an application to assist me and a friend of mine with our marketing efforts in Second Life. As I was publishing the code and ran the setup program, I found that it nagged me that the publisher could not be verified.

The problem comes up when I looked into what it actually takes to get “verified” as a trusted publisher. It turns out that I need to acquire a special certificate to sign my code. Microsoft has a web page listing all of the companies that sell these certificates.

Each of the four companies have prices that range from 179 to 499 US$ per year. For the returns that I expect to get from this program, it does not appear to be worth my effort to be trusted. It would be nice if there were other plans that targeted “the little guy” with cheaper rates. Something like 50 US$ a year would be more comfortable. I would still lose a lot of money, but it wouldn’t make me cringe so bad.

I’ll see how the program does in its current state. For now I just have a test certificate that I issued to myself along with a strong key.

Texture Mapper

August 6, 2008

I’ve been working a lot with mapping a single image to multiple faces of a prim, and multiple prims of an object. The overall benefit to this is that the object’s images appears to load faster. This is because there is only one image. This makes for less bandwidth used to see the final result.

Working with these kinds of textured prims is a nightmare if you do not stick with separating your images into a fixed set of rows and columns. Sometimes, these rows and columns work against the very nature of what I am trying to do.

One example is a texture map containing 4 circles. Each circle can be mapped to the end of cylinders. Once you have those mapped, there is still a lot of empty space that wasn’t used in the original image. This would be the space surrounding the four circles. You can start to add additional images in those locations. However, it gets harder to map them accurately.

To get around this problem and make things really simple, I created a small application using Microsoft Visual Studio. I load up an image, and then select the area that I want to map. It’s really easy to use. The mapping information is updated in real-time and is easy to just copy/paste into the second life client.

It’s not done yet, but it’s close. I would like to eventually get rotation and horizontal/vertical flipping as well, but that may have to wait for the next version. It’s almost a wonder why the second life client doesn’t have this built in already.

Texture Mapper (Beta) screenshot

Texture Mapper (Beta) screenshot

%d bloggers like this: