Uniwersytet Mikołaja Kopernika Wydział Fizyki, Astronomii i Informatyki Stosowanej Katedra Informatyki Stosowanej Tomasz Gańko nr albumu: 244629 Praca magisterska na kierunku informatyka stosowana Gra-zabawka dla niemowląt przygotowana z użyciem w Unity 3D Opiekun pracy dyplomowej dr Jacek Matulewski Zakład Mechaniki Kwantowej Toruń 2017 1
Spis treści Strona 1. Wstęp... 6 2. Środowisko Unity3d i inne narzędzia programisty gier.. 7 2.1. Cykl produkcyjny gier.... 7 2.2. Podstawowe założenia Unity... 9 2.3. Interfejs silnika Unity... 11 2.4. Rodzaje animacji. 16 2.5. Coroutines.... 18 2.6. Model View Presenter. 19 2.7. Git i SourceTree.. 22 3. Koncepcja zabawki... 26 3.1. Opis problemu.... 27 3.2. Koncept działania aplikacji...... 27 4. Implementacja. 29 4.1. Główne klasy.. 29 4.2. Animacje. 38 4.2.1. Import i użycie animacji.. 39 4.2.2. Klasa FaceController przykład wykorzystania animacji blendshapes. 41 4.3. Dźwięki... 43 4.4. Graficzny interfejs użytkownika. 44 4.5. Zapis statystyk 46 5. Opis działania aplikacji. 50 6. Podsumowanie. 52 7. Literatura 53 2
2.7. Git i SourceTree Wygodna współpraca wielu osób przy tworzeniu projektów jest kluczowa dla tempa prac. Gdy projekt powstaje przy udziale większej liczby osób, bardzo wygodną metodą współdzielenia projektu jest korzystanie z systemu kontroli wersji (ang. VCS Version Control System). Najpopularniejszymi serwisami tego typu są GitHub i Bitbucket działające w oparciu o system kontroli wersji GIT. Umożliwiają one dostęp do repozytorium przez przeglądarkę internetową oraz lokalnie za pomocą aplikacji klienckiej lub z poziomu wiersza poleceń. Najpopularniejszym wyborem jest jednak korzystanie z programu SourceTree. Jest do darmowa aplikacja do zarządzania repozytorium z wygodnym graficznym interfejsem użytkownika. Pierwszym krokiem do utworzenia repozytorium jest rejestracja na stronie www.bitbucket.org. Następnie, z lewego menu należy wybrać ikonę plusa, następnie Repository. Po nadaniu nazwy i wybraniu Git jako typu repozytorium oraz podaniu podstawowych informacji o projekcie, można wybrać Create repository. Ponieważ nie wszystkie pliki znajdujące się lokalnie w projekcie muszą znaleźć się w repozytorium, należy utworzyć plik.gitignore zawierający odpowiednie wpisy. Plik taki można utworzyć on-line klikając przycisk Create a.gitignore. Przykład takiego pliku zawiera listing 3. Wyklucza on między innymi foldery Library, Temp i Builds, oraz zbędne pliki solucji tworzone przez Visual Studio. Dodanie pliku powoduje umieszczenie go na serwerze (ang. commit). Listing 3. Przykładowy plik.gitignore. /[Ll]ibrary/ /[Tt]emp/ /[Oo]bj/ /[Bb]uild/ /[Bb]uilds/ /Assets/AssetStoreTools* # Autogenerated VS/MD solution and project files ExportedObj/ *.csproj *.unityproj *.sln *.suo *.tmp *.user *.userprefs 3
*.pidb *.booproj *.svd # Unity3D generated meta files *.pidb.meta # Unity3D Generated File On Crash Reports sysinfo.txt # Builds *.apk *.unitypackage W programie SourceTree wybieramy Clone / New i wklejamy URL wyświetlony na stronie bitbucket. Mamy możliwość wybrania ścieżki do folderu, w którym przechowywany będzie projekt. Okienko z wpisanymi danymi przedstawia rysunek 12. Po kliknięciu przycisku Clone, repozytorium zostanie dodane i automatycznie pobrane z serwera. Na liście Log/History zobaczymy wpis odpowiadający dodaniu pliku.gitignore. Kolejnym krokiem jest utworzenie lub przeniesienie projektu do wybranego wcześniej katalogu. Ważnym jest, aby upewnić się, że projekt jest przystosowany do współpracy z systemem kontroli wersji. Klikamy w Edit Project Settings Editor i zmieniamy następujące ustawienia: pozycja Version control mode Visible Meta Files. Unity tworzy wówczas pliki.meta dla każdego zasobu zawierające jego id, parametry importu oraz odniesienia do innych zasobów. Pozycja Assets serialization mode Force text wymuszenie zapisywania danych jako dane tekstowe umożliwi nam rozwiązywanie konfliktów pojawiających się w przypadku równoczesnego modyfikowania jednego pliku przez dwie osoby. Po zapisaniu projektu pozostało jedynie zatwierdzenie zmian za pomocą przycisku Commit oraz dodanie plików na serwer. Należy w tym celu kliknąć przycisk Push. Rys. 12. Okno tworzenia lokalnej kopii repozytorium. 4
Z tak przygotowanego repozytorium mogą korzystać osoby dodane do systemu poprzez serwis bitbucket.org. Podstawowe działanie GIT jest oparte na kilku poleceniach. Schemat korzystania z tego repozytorium przedstawia rysunek 13. Na Strzałka wskazuje kolejność przetwarzania komendy GIT. Główne akcje to: commit odpowiada za zatwierdzenie wprowadzonych przez nas zmian. Aktualizuje pliki w lokalnym repozytorium, push wysyła lokalne zmiany do repozytorium na serwerze, fetch pozwala pobrać z serwera aktualną wersję plików projektu i umieścić ją w lokalnym repozytorium. Nie modyfikuje plików projektu. pull pobiera najnowszą wersję z serwera (fetch) i scala pliki projektu (merge), checkout służy do wycofania lokalnych zmian. Rys. 13. Schemat działania systemu kontroli wersji GIT [9]. 5