Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 14 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
14
Dung lượng
3,67 MB
Nội dung
University of Arkansas – CSCE Department CSCE 4613 Artificial Intelligence – Final Report – Fall 2013 Architectural Representation for a Virtual World Kitchen Hayley Archer, Anh Au, Philip Gilley, Jeremy Hornberger, Martin Migusha, Travis Weigle Abstract Architectural Representation for VW Buildings is a solution to a lack of space in which recipes can be followed and products can be placed in a virtual world This project will consist of three separate designs of kitchens for avatars to successfully utilize the space to create chef masterpieces Introduction 1.1 Problem In our Virtual World, there is no space to follow a recipe The avatars don’t have any countertops, floors, or cabinet spaces for them to utilize while cooking The products in the kitchen will not have a spot where they belong without a kitchen 1.2 Objective The objective of our project is to create a space that the avatars can follow recipes and cook meals We will be delivering three unique kitchens, arranged differently with smart objects incorporated in the design We will also be developing a waypoint system so that we can provide a command like “GO TO place” and an avatar can call a path planner to identify a route 1.3 Context Within Architectural Representations of VW Buildings, we are essentially creating a 3D space in a virtual world This is related to artificial intelligence because these kitchens will enable users to drag and drop to design or redesign the kitchen This could be applicable to real life by the example of remodeling a home and having to work within certain space requirements By having predetermined space requirements, we can then remodel an entire kitchen without measuring anything Related Work 2.1 Key Technologies Some of the related work is figuring out what 3D formats best import into Unity Unity itself can only create simple objects (Cubes, Spheres, and Planes) Unity has a page dedicated to what formats it supports [1] Google Sketchup Pro works well, you just have to export to the correct format Sketchup also has a library of free items you can download through their 3D warehouse [2] Blender and Maya files import well also There are several resources that allow you to download free models [3][4] The problem is the models not always import textures so you still need to deal with texturing the models Also, some objects such as cabinets are just one big object so you wouldn’t be able to program it to open the drawers, etc 2.2 Related Work Most Artificial Intelligence projects include creating a space or building in the Virtual World An example would be Dr Craig Thompson’s Everything is Alive Project [5] Before testing the technologies involved with the project, buildings were created in order to house the technologies 2.3 Related Class Projects Our projects on Architectural Representation of VW Buildings relates to these other class projects: Visual Representation of Smart Objects – Our project relates mainly due to the fact that the smart objects will need a place to belong We will be building a kitchen and fitting smart objects, like stove, microwave, lights, and sink plus many more into the kitchen Architecture 3.1 Requirements All counters should be a standard height similar to real life All counters and cabinets should be no bigger than one meter in depth The users will be able to drag and drop any item in the kitchen and place it somewhere else The avatar should be able to easily navigate the kitchen, meaning plenty of room between countertops to move/walk 3.2 Architecture or Design Space In the real world, there are endless amounts of kitchen design layouts and we wanted to provide three different layouts for the smart objects to be placed in We divided the group up into pairs so each group would create a kitchen for the smart objects The finished kitchens are all created in Unity (or created in another program and imported into Unity) so that they are compatible with the smart object group project 3.3 Tasks Hayley Archer - Since I am paired with Anh, we will both be making a kitchen together We both will learn how to use Unity, Google Sketchup and Blender I expect to be working on counter surfaces and cabinets for our modern themed kitchen Anh Au - Paired with Hayley Basically same as what she said I will come up with some sketches of the kitchen because I am quite the artist Learning Unity and Google Sketchup might be ideal Philip Gilley - Make an outdoor kitchen with Travis Look into getting SketchupPro Learn to better use Unity and Blender Jeremy Hornberger - Make a futuristic kitchen like you might see in Meet the Jetsons Learn how to import from other programs and what 3D formats will work with Unity Martin Mugisha - Design a future themed sci-fi like kitchen using Unity Travis Weigle - Design and make an outdoor kitchen in Unity with Philip Also learn to use Blender and Google Sketchup to put things in Unity 3.4 Testing Kitchens were modeled and tested real time in Unity Results and Analysis 4.1 Jeremy Hornberger I researched some of the different formats that could be imported into Unity There are a few formats that Unity can natively read (.FBX, dae (Collada), 3DS, dxf, and obj) There are also other formats that Unity can import and convert (.Max, Blend, Sketchup Pro, eg ), if the related software is installed http://docs.Unity3d.com/Documentation/Manual/3D-formats.html There are several websites that are free to download from, with different license types attached to available models Websites that have are good resources are http://www.blendswap.com, http://sketchup.google.com/3dwarehouse/, and a comprehensive list of other free sites at http://answers.Unity3d.com/questions/16650/game-asset-website-list-free-and-paid-texturesmod.html For designing models of buildings and other things, Blender is the best completely free option, with Maya also being a great free option for Students Sketchup Pro is an inexpensive option with a lot of free models available to convert to Unity The second part of what I did was to figure out a simple path finding solution for the smart agents to navigate the kitchens I researched RAIN (http://rivaltheory.com/rain/), which is a free plugin to Unity 3D that adds path finding capabilities, easily being able to RAIN was created by Rival Theory Inc., an artificial intelligence (AI) company and focuses on the use of advanced AI technology to create smart and realistic characters At the beginning of researching and learning about this plugin, there were very few tutorials for the current release and was difficult to learn and understand how to program against it Now there are several tutorials and more being added each month on how to use it The software is very powerful and could be a very good way to animate an Agent easily and have them navigate to different locations in a virtual world The base for the actions and decisions are created using an XML tree structure so you could create very complex actions such as “move to fridge, stop, open fridge, get out cheese, close fridge, return to counter” Tutorials can be found on their commUnity website with a wiki, Q&A, and forum that is active and questions are usually answered quickly (http://rivaltheory.com/commUnity/) I also helped Martin work on a more futuristic looking kitchen that the smart object team could place their objects in I helped Martin learn Unity and figure out how to upload it to the GIT repository Martin did the design work of the kitchen Figure - RAIN XML Behavior Editor Figure - RAIN path finding mesh 4.1 Hayley Archer and Anh Au’s Tasks Since Archer and Au’s tasks were so closely aligned, they will be combined into one section The theme for the development of this kitchen was a modern theme We began by understanding the basic concepts of Unity Jeremy was a great resource in helping the whole group get to know Unity since he had some prior experience Archer and Au learned about Blender, but in the end, Archer and Au chose to go with Google Sketchup Hayley, Anh, Philip, and Travis had to obtain a Google Sketchup license and begin to familiarize themselves with Sketchup The next task was creating Archer and Au’s design in Google Sketchup, followed by importing appliances and textures from their library into Unity The design consisted of basic geometric shapes for counters, cabinets and the island We then built in the refrigerator, sink, stove, and all other appliances Next, Archer added textures and colors After finishing the kitchen, Archer and Au imported our design into Unity Au uploaded the kitchen to the GIT repository for the Visual Representation of Smart Objects group to use when importing their smart objects Also, as part of the main tasks, we specifically worked very closely with the Visual Representation of Smart Objects Group We became the liaison to the rest of the group With this role, we were responsible for communicating deadlines, successes, and difficulties we had concluded with the Smart Objects Group to the rest of the team Some minor tasks we also contributed to was getting the reports and presentations ready Archer and Au made sure to have everyone in our group communicate their progress, monitor, and adjust our timeline accordingly Figure Archer Au Kitchen Overview Figure Archer Au Kitchen - view of wine cabinet, stove, sink, and fridge Figure Archer Au Kitchen - view of double oven, microwave, and fridge Figure Archer Au Kitchen - view of stove, sink, and double oven 4.3 Martin Mugisha My part of this whole project was to build a futuristic kitchen I teamed up with Jeremy who had a good knowledge about Unity and Blender He helped me catch up and we build the first model of the kitchen that we presented in the first presentation It had nothing really special but was a start for us to debate on where the project should go Jeremy then proceeded to research on the RAIN AI as I developed the kitchen When designing the kitchen, my main emphasis was on curves I tried to ensure that they were no sharp edges as this is a design we all closely relate to old tech I made sure all these edges had a curve to them I also wanted the space to be well utilized therefore I compressed it and made sure that the appliances just had a close to unnoticeable blend with everything there Figure - Initial kitchen Figure - Kitchen close up view Figure - Kitchen bird’s eye view 4.4 Travis Weigle And Philip Gilley Travis Weigle And Philip Gilley took on the task of designing and making an outdoor kitchen Philip mainly worked on the design of the kitchen, while Travis focused on the construction We started by reading and watching tutorials for Unity, Blender, and Google Sketchup We ended up getting a Sketchup Pro account, so Blender was not needed Sketchup was the starting point for creating the outdoor kitchen The basic design was created first, then objects were imported into the kitchen to make it look more realistic After the completion of the outdoor kitchen in Sketchup, we had to learn how to export the kitchen from Sketchup into Unity We found out that the best way was to export the kitchen as a 3D model as a fbx, then importing this file into Unity There were also a couple options that needed to be changed so that the kitchen would export completely, and we just followed the tutorial instructions for this After getting the kitchen into Unity, and adjusting the scale to fit the first-person user in Unity, The objects needed to be separate from the kitchen so that the smart objects group could use these This was achieved by Philip by separating each piece out in Sketchup and then converting them into fbx like what we had done with the kitchen as a whole For the cabinets doors to open each door had to be exported individually and then the cabinet had to be exported without the doors Figure - Overview of Outdoor Kitchen Figure - Outdoor Kitchen - view of sink, beer tap, and refrigerator 10 Figure 10 - Outdoor Kitchen - view of oven, grill, and dishwasher Figure 11 - Lower level layout of the outdoor Kitchen 11 Figure 12 - Countertop layer of the Outdoor kitchen Conclusions 5.1 Summary In conclusion, we learned about three different Virtual Worlds building tools, Blender, Unity and Google Sketchup and how to import and export between the three We designed geometric models or kitchens, including counters, cabinets and small appliances We also learned how to work together as a team, yet also independently, which was vital to our project 5.2 Potential Impact As for the immediate impact, the avatars will be able to have a location to perform workflows For the future impact, Jeremy's work with RAIN is very interesting and completely useful to Artificial Intelligence The premise of avatars not colliding with structures is a very useful tool for AI 5.3 Future Work We all wish we could have learned more or explored the potential for drag and drop remodeling For example, if we have a room of specific dimensions with appliances, counter sections, and other items that are specific dimensions, we would like to have experimented with dragging and dropping items throughout the room appreciating their dimensions 12 5.4 Project Value We all selected this project because it was very creative We were able to design and implement a specific architectural location in a creative way Bios Hayley Archer– Archer is a senior student majoring in Computer Engineering major in the Computer Science and Computer Engineering Department at the University of Arkansas, Fayetteville She has completed almost all of her courses including, Programming I & II, Programming Paradigms, System Synthesis, Operating Systems, Embedded Systems, Low Power Digital Systems, and Computer Networks Archer has had internships at ConocoPhillips, JB Hunt and a co-op with NASA Archer and Au will be creating a modern styled kitchen for the avatars to use while following recipes Anh Au – Au is a senior student in Computer Science major in the Computer Science and Computer Engineering Department at the University of Arkansas, Fayetteville She has completed Programming Foundations I, Programming Foundations II, Programming Paradigms, Algorithms, and Database Management Systems From fall 2012 to spring 2013, Au interned with the University of Arkansas for Medical Sciences as an Information Technology Intern In Summer 2013, Au interned with Wal-Mart as an Customer Planning and Analysis Project Management Intern Along with Archer, Au and Archer will be responsible for constructing a modern kitchen in Unity Philip Gilley – Gilley is a senior student majoring in Computer Engineering major in the Computer Science and Computer Engineering Department at the University of Arkansas, Fayetteville He has completed nearly all required courses for graduation He is responsible for the outdoor kitchen along with Travis Weigle and is responsible for obtaining and managing the Sketchup Pro 2013 License Travis Weigle – Weigle is a senior student majoring in Mathematics in the Department of Mathematical Sciences and minoring in Computer Science in the Computer Science and Computer Engineering Department at the University of Arkansas, Fayetteville He has completed Programming Foundations I and II, Programming Paradigms, and Software Engineering In the summers of 2012 and 2013, he interned at Vestcom as a Project Quality Assurance Tester He is working with Gilley to create and design an outdoor kitchen in Unity Jeremy Hornberger - Hornberger is a senior student majoring in Computer Science at the University of Arkansas He is going to school part time and has about 25 credit hours remaining He currently works at Arkansas Power Electronics International, Inc as an Associate Software Engineer Along with Mugisha, he is responsible for creating and designing a futuristic kitchen in Unity and researching the different types of 3D formats Martin Mugisha - Mugisha is a senior majoring in computer science at the U of A Who has done all the relevant courses a senior should have done ranging from Foundations to Algorithms Martin and Jeremy are responsible for the futuristic kitchen Dr Craig Thompson, Mentor – Thompson is a professor in the Computer Science and Computer Engineering Department He leads the Everything is Alive research project that is currently focusing on how to simulate pervasive computing using 3D virtual worlds See http://vw.ddns.uark.edu 13 References [1] Unity - 3D Formats, http://docs.Unity3d.com/Documentation/Manual/3D-formats.html [2] Trimble 3D Warehouse, http://sketchup.google.com/3dwarehouse [3] Blend Swap, http://www.blendswap.com/ [4] Turbo Squid - Maya Downloads, http://www.turbosquid.com/Search/? keyword=maya&application_ids=3 [5] Everything is Alive Project Overview, http://vw.ddns.uark.edu/ Appendix A – Deliverables Manifest Our three deliverables include the three kitchens Each were built in Unity and can be located in the GIT repository However, these may not be the most updated versions of the kitchen, depending on if the smart objects teams has animated the specific kitchen Modern Kitchen - has been fully animated by the smart objects team Outdoor Kitchen Futuristic Kitchen 14 ... eye view 4.4 Travis Weigle And Philip Gilley Travis Weigle And Philip Gilley took on the task of designing and making an outdoor kitchen Philip mainly worked on the design of the kitchen, while... Overview of Outdoor Kitchen Figure - Outdoor Kitchen - view of sink, beer tap, and refrigerator 10 Figure 10 - Outdoor Kitchen - view of oven, grill, and dishwasher Figure 11 - Lower level layout of. .. Representation of Smart Objects group to use when importing their smart objects Also, as part of the main tasks, we specifically worked very closely with the Visual Representation of Smart Objects