3D ADA Toolkit for Local Government in Unity 3D

Welcome area of the 3D ADA Toolkit for Local Government

A couple years ago I put together an unofficial 3D version of the ADA Toolkit for Local Government. It was based in an immersive environment anyone could visit and experience as an avatar or digital representation of themselves. Normally the ADA Toolkit is only available as an online, primarily text-based document. So I figured the ability to learn it through an engaging and interactive format might offer a much more interesting and possibly memorable experience. Eventually I moved this build over to Kitely – a service which hosts 3D immersive environments created using OpenSimulator software. People who want to visit and stroll through the 3D ADA Toolkit can still do so by visiting Kitely.com, signing up for an account or using an existing Twitter or Facebook account, and then accessing the 3D ADA Toolkit through the use of a viewer that Kitely will install on their computer. But while Kitely makes it very easy for someone to visit the places it hosts, some people are still hesitant to try out this type of experience – particularly those who are new to using an avatar to interact with digital content. So for some time, I have been wanting to create the same build in Unity 3D because it still offers the ability to visit and interact with the information in a 3D format, but does not rely on a login or the installation of a software program in order to view the content. Instead Unity 3D allows everything to work directly in someone's browser with only the installation of a plug-in to the browser. The end result can be closer to the browsing experience people already are familiar with.

It took some time for me to actually accomplish a build in Unity 3D for several reasons. One was the need to learn the software and interface. Fortunately there are plenty of tutorials out there for this so I was able to at least become comfortable with it over time by following these examples. But I still faced the need to create new content and doing so in the Unity 3D environment is not very easy. It definitely is not as easy as creating it in something like OpenSimulator. Then just within the last month or so, the folks who develop the Singularity viewer for OpenSimulator came up with a way to export 3D objects from the OpenSimulator environment. So I was able to export the objects from the 3D ADA Tooklit in OpenSimulator and import them into a Unity 3D build.

While that certainly helped move the project along, I quickly figured out there was still a lot more to learn to create an interactive environment. By again researching tutorials, I managed to script some popup messages to simulate what someone would see in the original OpenSimulator build. So at this point I have a very simple example of a portion of the 3D ADA Toolkit for Local Government in a Unity 3D environment. I caution anyone who decides to try it out that it is far from perfect. I need to learn how to do a better job with the messages, perhaps add some NPCs, create more interactive elements, and figure out how to launch a website so that it doesn't take the person out of the Toolkit forcing them to restart it to get back in. It would also be nice to figure out how to keep the flowers from floating just above the ground. Anyway, so far I've only made the welcome area and the historical background of the ADA laws related to right of way interactive – the rest of it has not yet been done. And, again, I don't have the entire toolkit in Unity 3D – only a small portion. If you want to check it out, just click the image below – if you've never run Unity 3D in your browser it will prompt you to install the Unity 3D plugin. And remember if you click anywhere in the Toolkit to access a website, you'll have to relaunch the Toolkit to get back in. Thanks for trying it out! I'd also love to get any type of feedback on it.

3D ADA Toolkit for Local Government in Unity 3D

Click the image above to enter the 3D ADA Toolkit for Local Government in Unity 3D in your browser!


“We are engineers; we are not gamers”

Photo from the Cheesecake Sim in Second Life

Over the past several years, most people I knew in the industry chose to ignore what was going on with 3D immersive technology. At one point they might have taken a quick look, realized gaming engines like Second Life were not easily compatible with the CAD products we used, and moved on. Until more recently this compatibility issue might have been true. But thanks to some innovative developments over the last year, it's probably a good idea for the industry to start paying more attention.

There are a few examples out there that were created over the past few years by some of us in the AEC industry demonstrating what can be done with software like Second Life and related tools like OpenSimulator (OpenSim). While most of us set up small concept builds, some people like Jon Brouchoud developed larger models to assist cities in urban planning using products like Unity3D. And companies like Daden have taken a project from concepts created in Second Life through to the final construction and ribbon cutting of the actual building (Birmingham Library). But the challenge was always integrating our work in CAD with these 3D software packages – there just was no capability to move our work between the two environments. Initially it seemed it could not be done because software like Second Life or OpenSimulator would not allow imports of 3D objects created in CAD or other 3D software. But eventually Second Life and OpenSim developed the ability to allow mesh objects to be brought into the environment. Then the problem became trying to apply the textures or images to those imported 3D objects. We were used to easily and quickly applying textures to 3D objects created in Second Life/OpenSim. However, we did not have this same functionality with imported 3D models. Below is a building I created entirely in OpenSim. The textures you see on the building were also applied directly to the building in that software. If I wanted to change one of them all I would have to do is choose the element I want to change then select a new color or texture.

Building created in OpenSim

But if this object had been imported, I could not as easily change the images or colors applied to it since the textures would have been created and mapped to specific elements of the object in another program. You can only change the individual colors or textures by going back into a 3D editing program or another graphic program and changing the texture or the mapping there. You could not swap them out in Second Life/OpenSim or Unity3D.

Another problem was that you could not easily export a 3D build created in a place like Second Life or OpenSim for use in CAD or other 3D programs. This functionality would be highly useful for engineers and architects who could develop a concept build in Second Life/OpenSim and then export to a CAD program for development of final plans. It would also be useful to export objects for use in Unity3D because builds created in that software can be set up to be viewed by anyone through a web browser – no special software viewer is needed. This lack of ability to export work turned away a lot of engineers because they would not want to spend a lot of time building something in Second Life or OpenSim then have to recreate it in CAD.

The good news is that all these issues with importing, exporting, and texturing seem to have been solved. The solution came about through a third party provider of the viewer software used to access the 3D environment of places like Second Life and OpenSim. In the photo below I am using the most recent Singularity viewer to export the 3D object I created in OpenSim. As part of the the export process, the textures are automatically mapped to the right locations. It took no time at all to export the building to my computer as a Collada file.

Building export from OpenSim

After exporting the building and textures, I opened up Unity3D to see how easy it would be to bring the building into that environment. I imported the 3D object I had exported from OpenSim. Then I imported each texture I had used in OpenSim. They mapped into the correct place for each component as I brought them into the folder. All I had to do was change the color for the floor since the original texture is white rather than dark gray. As you can see from the image below, the only texture issue I still need to address is the transparency of the windows. (If you want to try visiting this very simple build, just click this link and wait for it to load. You can move around using your mouse and arrow keys once it is loaded. Public Works Group Building Test Site)

Test import of OpenSim object into Unity3D

So the bottom line on this is that because of the developments in the Second Life and OpenSim software and in the Singularity viewer, 3D objects and their textures can now be easily and quickly exported from these environments and brought into any other software that accepts a Collada file. And any Collada file can easily be imported into the Second Life/OpenSim environment. Because of this we can now make a 3D object that is textured and to scale using software like Second Life or OpenSim (which by the way is free to download and use although Second Life does charge a very small fee for texture uploads) then export this object for use in any other program that accepts a Collada file. Now, the surprising point in all this for me was that at no point in this work flow did I use CAD at all to create these objects. I guess I had always thought I would want to create the object in CAD and only bring it into these environments for visualization and simulation. But because of these developments now I can do all that entirely without using CAD. 

However, I was still thinking I would eventually want to bring this into CAD when I am ready to create the actual plans. But based on a few conversations I had over the last week I'm starting to wonder if that is the direction I should be thinking. The first feedback I received was from a representative of one of the two major civil CAD companies. We talked a little about integrating CAD with gaming engines before he gave a presentation at a conference I attended. Then during his presentation, he announced, "we are engineers; we are not gamers." After hearing this definitive rejection by a major CAD company of all that looks, smells, or feels like a gaming engine, I was happy to find a totally opposite viewpoint from a representative of the other large civil CAD company. That person had called me to share his excitement at seeing how his company is integrating the code used for their own 3D and animation products into their Civil CAD product. He also said they were adding the ability to read and use data in the CAD environment and were about to release a cloud subscription package. While I was excited to hear about these advances, I was particularly interested in the cloud package. His company's software can already import/export 3D models while the other cannot. And If the cloud package is affordable enough, I was thinking I might be able to take advantage of that option.

My final conversation regarding 3D models occurred with another engineer during a meeting. He shared with us a picture of a culvert he created in Google Sketchup. He was impressed because he could use free software to easily create something that allowed all of us to better visualize his design. His opinion was basically why use something as complicated and expensive as CAD when you get such great results from a low cost program that is so easy to use.

So after mulling all that over in my mind, I started wondering if someday we won't need CAD anymore. Perhaps one day engineers will build entirely in a "gaming engine" then export the file to suppliers and contractors who have their own software driven equipment that can calculate quantities, order materials, and develop and ship what is needed to assemble it all on site. I realize this might seem a little farfetched today, but is it really impossible? After all, without ever touching CAD, I already have the ability to take the file I exported of my 3D building built entirely in OpenSim that you see in the photos above and send it to any one of the many 3D printing companies and have it "constructed." So, is it really so wrong to think this could some day be done on a larger scale?



3D Visualization of an Alley Streetscape Project

Downtown alley looking westA while back I was working on a project to change an alley from a typical asphalt driveway to a pedestrian walkway. Because it is in a downtown area, this project allows for many design opportunities to enhance the downtown area and the pedestrian experience. During its planning stage, we had a lot of input from property owners, co-workers, and others in the community on what they wanted to see in that space. But as I put together the civil drawings, I thought it would be so much better to also have a 3D view of it so we could actually see what it would look like when we put in everyone's ideas. I decided the easiest and fastest way for me to build the best looking model for this was to use something like Opensim or Second Life software. Due to the size and purpose of this project, I ended up setting it up in Second Life since I could make it in a premium sandbox, take a photo of it when done, and then store it in my inventory. Below is the result of my work.

Downtown Alley in 3D

If you look close, you will probably notice it really is not a perfectly executed model. This was intentional on my part. For this particular project, my goal was to see how fast I could set up a model that while not perfect was good enough for visualizing a design.This is because when I have built things like this before, one of the main questions I get from co-workers and other engineers is "how long did it take you to do that?" And in the past, I never really paid attention because I was more focused on the building aspect and trying to make it look exactly like the actual site. But for professional design work, time is one of the most important considerations. So I wanted to focus on how fast this could be done yet still achieve the goal. In the end, for this project, which covered roughly 30 feet by 400 feet, I would say it took about eight hours to take the photos, create the textures, and build the model. I might have been able to finish it sooner, but it took me a while to shop for the string lights and buy them in a Second Life store.

Here are a few more photos with different lighting and different views. Obviously with more time, a lot more elements could have been added and more ideas tried. The good thing about having a model like this is once it is built, it is so easy to just add other objects or try different designs:


Alley 3D Visualization Looking East

Alley 3D Visualization Looking West at sunset


How Much Credit Do You Have to Give?


This is the horse and the hound and the horn,
That belonged to the farmer sowing his corn,
That kept the cock that crowed in the morn,
That waked the priest all shaven and shorn,
That married the man all tattered and torn,
That kissed the maiden all forlorn,
That milked the cow with the crumpled horn,
That tossed the dog,
That worried the cat,
That killed the rat,
That ate the cheese,
That lay in the house that Jack built.

An issue I recently stumbled upon is how to handle giving and taking credit for work done in the virtual space. The question brought to mind the Mother Goose rhyme at the beginning of this post and made me finally understand a possible underlying message within this silly verse. The question is for people who design and create in a virtual space, how much credit must be given to others who contribute to or have a part in supporting that work?

What does the law require?

A good place to start at answering the question of how much credit to give is to look at the law. (Disclaimer: I am not a lawyer so the information presented here is definitely not written for the purpose of giving legal advice, but instead to offer a background to exploring this subject.) Laws that govern this matter include those related to patents, trademarks, copyright, and DMCA. Here is a quick summary of each:


According to the U.S. Patent Website: "A patent is an intellectual property right granted by the Government of the United States of America to an inventor “to exclude others from making, using, offering for sale, or selling the invention throughout the United States or importing the invention into the United States” for a limited time in exchange for public disclosure of the invention when the patent is granted." You must file with the government to be granted a patent and related rights. Someone might be allowed rights to the use of your patent for a fee. Credit might or might not be required under the conditions of any rights granted.


Trademarks protect such things as the use of  the name, title, slogan, or short phrase adopted and used by a person or entity. Again, credit might not be required by law but instead by some terms of permission granted for the use of a trademark.


Regarding copyright, here is the excerpt from the Copyright.gov website (U.S. law):

§ 102 . Subject matter of copyright: In general

(a) Copyright protection subsists, in accordance with this title, in original works of authorship fixed in any tangible medium of expression, now known or later developed, from which they can be perceived, reproduced, or otherwise communicated, either directly or with the aid of a machine or device. Works of authorship include the following categories:

(1) literary works;

(2) musical works, including any accompanying words;

(3) dramatic works, including any accompanying music;

(4) pantomimes and choreographic works;

(5) pictorial, graphic, and sculptural works;

(6) motion pictures and other audiovisual works;

(7) sound recordings; and

(8) architectural works.

(b) In no case does copyright protection for an original work of authorship extend to any idea, procedure, process, system, method of operation, concept, principle, or discovery, regardless of the form in which it is described, explained, illustrated, or embodied in such work.

The architectural works provision was added in 1990 and so buildings constructed after 1990 are now protected by this law. Although people retain the right to take photos or make other represenations of the building as long as what they create can be seen from a public place such as a street. No credit to the architect is required nor usually given. The interior can only be represented through photos or other mediums if it is a public building. Otherwise the architect must grant permission for someone to take a photo or make a video of it – credit might be required as a condition of that permission.

Digital Millennium Copyright Act (DMCA)

This law addresses the handling of copyright claims – a summary of the law can be found here: Summary of DMCA. It was brought about by changes in technology and to address treaty obligations made by the U.S. The act  protects service providers from liability for copyright infringements made by those to whom they provide service.To receive this protection, the law requires service providers to have a process by which copyright holders can submit a notice informing the service provider there is a violation of their rights by someone using their service. And the provider must have a process in place to assess and handle the infringement including termination of services if a violation has been found to exist.


So in order to comply with the law, it is permission from a copyright owner that is required if the works fall into any of the categories listed above. Or someone might have to get permission from a trademark or patent owner which can often require a fee. Credit is something that would be required by the patent, trademark, or copyright holder as a possible condition of the permission granted.

What are people actually doing offline?


Next, let's look at what people are actually doing in the industry. Most of the time, this follows the law because to do otherwise risks lawsuits. But in state and local government in the U.S. we rarely consider anything we create as copyrighted. Yet, while the copyright law exempts works by the federal government, works by state and local government are not. So it appears state and local governments are not addressing copyright issues – for most, there is a distinct lack of policy and process to handle copyrights as both a creator and as a user.

So, in practice, those of us in government regularly share and modify works by each other since we often need to create the same documents, details, standards, etc. Usually there is no credit given to anyone. An example of this is that just the other day I needed to come up with a listing of what is required on as-built drawings and asked other engineers in nearby cities for copies of their lists. They did not even think twice to send them to me, nor would I have if they had requested information from me. I modified the lists for our purpose, put our city logo on the new list, and sent it back out  so it could be shared. If we were required to come up with original work each time something like this was needed, our work load and cost to do business would skyrocket. However, it appears this practice does not follow the law. (And this is another good example of how watching developments in the virtual space help to clarify and bring to light issues in the offline world. In this case, it appears this is an area where government needs to either change the law to match the practice or change the practice to comply with the law.)


Tennis Court Project

In the engineering industry, the portfolios of consulting firms include many photos of projects designed and/or managed by that firm. Even if they did not pay for the project or manufacture the products used, or even perform the actual construction required to build the project, the portfolio presents the project as their work. And many times it does not list who owned the project and paid for it, all the companies or individuals who built it, or the manufacturers who created each product displayed in the photo. This is accepted by the industry. The understanding is that the project can be presented as theirs because they played a part in the design or project mangement of the work. Based on the copyright law, this practice appears to be legal and the industry understands what the presentation of the work means. This is also the case with portfolios from architects. Although since 1990, the architect has the sole legal right to use a photo of the composition of his work that is only visible in a non-public space. The architect is not obligated to list or credit who paid for the work, who built it, or who made all the products shown in the photo.

Interior Design

Another industry I think of related to virtual work is interior design. When you search portfolios of companies providing interior design services, they have many photos of interior spaces they have created through a composition of materials and products. I picked one randomly that seems to be a good representation of what is done throughout the industry – you can visit their site here: Interior Design portfolio. They do not list the creator of each element shown. And if they were required to do so, to what degree would be considered acceptable. Some might say similar to what is often done in a magazine showing interior decorated spaces: the furniture manufacturer, the artwork supplier/creator, etc. But should they also list where the carpet came from? The paint? Maybe. How about the drywall and mud and tape? The wood supplier for the molding and furniture? The fabric supplier? How about the farmer who raised the lambs who gave the wool for the fabric? And now we begin to create our own rhyme. 

What are people actually doing online?

So let's move into the online space where the code of conduct and laws are still being developed. Here there are people contributing work at many levels. People create images or textures to be applied to 3D objects, mesh files to be used as the basis for 3D objects including avatars, sound and animation files, and scripts or programs to be embedded in the space or objects. At the macro level you have people who are the "interior decorators" or virtual "architects." They are the ones creating a composition of all the objects created by the first group. You also have photographers and machinimographers creating their own art works from these compositions and objects. Then at the micro level, you have the software developers, the host providers, and the companies providing your electricity and Internet connection. All of which are necessary in order for a 3D work to be created. To what level must credit be given to each contributing member? And what permissions must be obtained?

The permissions required are indicated in the copyright law. Yet, how does each of the works mentioned above fit into the copyright law? Are they all covered? Is an animation protected as a choreographic work? Are scripts and programs covered as a literary work? The others such as textures and mesh objects would probably be covered under the pictorial or graphics section of the copyright law. And photographers and machinimographers would have their work protected under the law. But they would have an obligation by the law to get permission from the other creators to be able to use that work in their photos or videos. Just giving credit is not compliance with the law – permission must be granted – credit is usually given as a condition of the permitted use. And finally how is the overall composition of all the elements covered?

It seems it is not required by law to gain permission from the entities providing the software, electricity, Internet connection, etc. that allow me to create and post my own work. This is also not done in practice, and this seems similar to what is done offline. For example, I don't have to get Microsoft's permission to publish a document I created in WORD. But I suspect few people who are posting photos and videos from Second Life and other virtual worlds are seeking the permission of the creator of each shape, texture, object, animation, etc that can be viewed in that photo or video. Of course some of this is because the permission has been granted through indirect means. So let's look at those:

Creative Commons Licenses

One way copyright owners can grant permission for use of their work is through a Creative Commons license. By attaching this type of license to your work, you can grant certain rights to others interested in using it without having to require them to contact you and get written permission. Sometimes this permission carries with it an obligation to give credit; sometimes it does not. While this seems to work well and has been an accepted practice, I always wonder how people are documenting this permission because at any moment someone can decide they don't like how someone is using their work and change their license. So how do you monitor the permissions attached to something you used? In my experience professionals who have worked in non-digital industries for years are still requesting written permission from me to use my work. And in the end, this is probably the safest approach to take.

Second Life Terms of Use

Photos from The Nest Sim in Second Life

Another manner in which rights are granted to others for use of your work is through terms of services. When you join Second Life, you agree to abide by their terms of use. In uploading content to the service you are granting Linden Lab and other users certain rights to use your work. These rights can be found here: http://secondlife.com/corporate/tos.php. This is why people creating photos and machinima in that space do not need to seek out permission from each creator. It is viewed as a professional courtesy to give credit, and this is done for some items, but not all. And giving credit is not required by the terms of use. 

OpenSim and other virtual worlds

Other virtual spaces like World of Warcraft function in a manner similar to Second Life in that they provide clear guidance of what is allowed. But I do not believe all virtual worlds created with OpenSimulator software have terms of use similar to those used by Second Life. If they do not and you plan to use photos or machinima or create compositions of objects with images from works created by others in these spaces, it appears the law puts the responsibility on you for obtaining permission from each creator whose work might appear in your creation. For some work, permission might already be granted through a Creative Commons license. I have released some work in this manner myself. And I have tried to document the permissions I have granted by including it in notecards or readme files stored in the objects or images. Scripts also often carry their own documentation of permission in the body of the script. But if there is nothing documtenting a Creative Commons license, it might be better to request written permission since people could change their mind at any time leaving you with no proof they had once offered their work with few to no restrictions. This is especially important if you are going to create a derivative work such as a photo, video, or composition like a full sim design and use it for anything other than personal use – even if you are giving it away for free. And if you hire someone to create work for your project, it would be best to clearly establish in a contract any permissions or rights granted.

So for myself, the approach I am going to take is to adhere to the copyright laws, check existing permissions, request permissions if necessary and document all received, and credit as required by any permissions granted to avoid having to guess at the level of credit needed or that is acceptable. And in granting permissions, I am going to try to really consider how I want my work to be used, establish permissions that clearly explain what can be legally done with my work, and try to continue to make it easy for people to document that permission for their records.

And finally  I'm going to keep up with what is going on in the virtual space regarding copyrights, licenses, etc. by reading the Hypergrid Business site. Maria Korolov has done a great job reporting on issues related to this discussion. For a list of articles on her site touching on the topic you can visit this link: Hypergrid Business copyright-related articles.



SL9B and Community Planning


This month, the community in Second Life celebrates its 9th birthday, otherwise known as SL9B. This seems to be the first year that the celebration is not sponsored or hosted by Linden Lab, the creators of Second Life. Instead, this year, Linden Lab announced the theme of the birthday would be community and that the community should host their own individual celebrations. The reaction from many people at first seemed to be disappointment, but it quickly changed over to a determined effort to put together a central location similar to what was done in the past. This was thanks to the efforts of a group of organizers and sponsors who donated space and time and talent to get the land set up for the event and a website to support the activities. They quickly put out a call for exhibitors and volunteers that has been answered by hundreds of people. This is one of the many aspects of Second Life that fascinates and captures me – the ability of the people there to get something done in an organized and collaborative and efficient and quick manner. If only we had this capability in our offline communities.

Anyway, I had not participated in a Second Life birthday since I think SL5B. And I wasn't sure about participating this year until I saw how the community pulled together to organize this event and really thought about the community theme and where I might fit into all that. It seemed the perfect time to begin putting together a community plan!

If you've read my previous posts on this, you're probably aware I have thought for some time a community plan is exactly what we need at this point in our development. Normally in an offline community, this process would be started by city planners. But there's no virtual planners on staff at Linden Lab so there's no one to reach out and suggest we start the process. Over the last few months, I talked about the idea with some other members of Second Life who also thought it would be worthwhile. But I don't think any of us were sure it could be done without their involvement. 

But after watching SL9B unfold, I thought, if we can have our own birthday celebration, why can't we create our own plan? Something else that inspired and convinced me to apply and volunteer was a set of videos created by Crap Mariner. Dressed as "Death" he put together a series of videos to promote SL9B and explain what was going on. Glossing over these, someone might at first dismiss them as goofy fun, but I would encourage people to really watch them and think about their message. What he has accomplished with these deserves a whole other blog post by someone who is more adept at analyzing motivation, marketing, and promotion. Here's one of the first videos (so far he has created 18 videos):

Anyway, I ended up applying to exhibit and fortunately was accepted! Basically the community plan exhibit, which is named Virtual Vision 2020, explains and promotes the idea and development of a community plan for Second Life. I'm hoping people will stop by to share their thoughts and ideas about the community, where they'd like to see it go, and how they think we can get there. There's also a website set up to support development of the plan and to offer a place where people can leave feedback: Virtual Vision 2020 

I am also hoping that a friend of mine, Vanish Firecaster, will add more information to the exhibit that will help people explore what it means to be a citizen of a virtual world. He recently posted, World of Democracycraft, highlighting an essay by Cory Doctorow: "Why Online Games are Dictatorships." If you are a member of Second Life or any other virtual community, I'd suggest checking it out.

SL9B will be open from June 18-27. Make sure you stop by to visit the Virtual Vision 2020 Exhibit, share your thoughts and ideas, pick up a mini Avatar Birthday Fountain, or just say hi! And be sure to thank the sponsors and organizers – they have put together an amazing event!

SL9B Exhibit