Używanie narzędzia MRTK w dużych projektach

Ta strona zawiera kilka przydatnych porad dla użytkowników zestawu MRTK, którzy ściągają go do istniejących dużych projektów lub ustawiają coś nowego, co będzie kontrolowane przez źródło i będzie mieć wielu deweloperów.

Zalecamy przeczytanie wszystkich poniższych wytycznych. Ich stosowanie pomoże uniknąć niektórych trudnych problemów podczas pracy z większymi bazami kodu

gitignore

Poniższy plik .gitignore jest zalecaną bazą do ściągania w przypadku korzystania z mrTK — istnieją części narzędzia MRTK, które tworzą stan lokalny, który może być bezpiecznie ignorowany przez kontrolę źródła, co w przeciwnym razie powinno zanieczyszczone stanem lokalnego narzędzia Git.

Należy pamiętać, że część początku jest łączona z domyślnego repozytorium github Unity .gitignore z późniejszą dodatkami specyficzną dla mrTK. Należy również zauważyć, że niektóre z tych reguł zakładają pewne ścieżki i mogą być modyfikowane w zależności od tego, gdzie w projekcie znajduje się mrtk.

# This .gitignore file should be placed at the root of your Unity project directory
#
# Get latest from https://github.com/github/gitignore/blob/master/Unity.gitignore
#
/[Ll]ibrary/
/[Tt]emp/
/[Oo]bj/
/[Bb]uild/
/[Bb]uilds/
/[Ll]ogs/

# MemoryCaptures can get excessive in size.
# They also could contain extremely sensitive data
/[Mm]emoryCaptures/

# Asset meta data should only be ignored when the corresponding asset is also ignored
!/[Aa]ssets/**/*.meta

# Uncomment this line if you wish to ignore the asset store tools plugin
# /[Aa]ssets/AssetStoreTools*

# Autogenerated Jetbrains Rider plugin
/[Aa]ssets/Plugins/Editor/JetBrains*

# Visual Studio cache directory
.vs/

# Gradle cache directory
.gradle/

# Autogenerated VS/MD/Consulo solution and project files
ExportedObj/
.consulo/
*.csproj
*.unityproj
*.sln
*.suo
*.tmp
*.user
*.userprefs
*.pidb
*.booproj
*.svd
*.pdb
*.mdb
*.opendb
*.VC.db

# Unity3D generated meta files
*.pidb.meta
*.pdb.meta
*.mdb.meta

# Unity3D generated file on crash reports
sysinfo.txt

# Builds
*.apk
*.unitypackage

# Crashlytics generated file
crashlytics-build.properties

# NuGet Build Process Generated
# This section covers files that are generated when consuming/using MRTK from NuGet
# May not be relevant if consuming via .unitypackages
/NuGet/*
!/NuGet/BuildSource.proj
/MRTKBuild/
/MSBuild/
/PackagesCopy/
!/scripts/Packaging/NuGetRestoreProject.csproj

Plik ProjectPreferences.asset

Project ustawienia zestawu narzędzi MRTK można znaleźć w lokalizacji Edit -> Project Ustawienia -> Mixed Reality Toolkit (Edytuj -> Mixed Reality Toolkit). Te ustawienia zostaną zapisane w pliku w tej lokalizacji w folderze Assets:

Assets/MixedRealityToolkit.Generated/ProjectPreferences.asset

Jeśli projekt będzie miał wielu współpracowników, zaleca się zaewidencjonowanie tego pliku zasobów po wstępnej konfiguracji ustawień zestawu mrtk. W szczególności rozważ, czy zaznaczono następujące ustawienia:

Zablokuj profile zestawu SDK — jeśli ta opcja jest wyłączona, domyślne profile zestawu MRTK będą globalnie edytowalne, co będzie stanowiło wyzwanie dla uaktualnień zestawu MRTK (może to prowadzić do konfliktów scalania w samej platformie)

Ignoruj konfigurator projektu MRTK — jeśli to ustawienie jest wyłączone, konfigurator projektu będzie pokazywać, czy bieżące ustawienia mrtk nie są zgodne z zalecanymi wartościami domyślnymi mrtk. Ponieważ projekt mógł jawnie nie mieć włączonych niektórych ustawień, to ustawienie zaznaczone uniemożliwi innym współpracownikom przypadkowe wyświetlanie tego okna dialogowego ze zmianą ustawień. Te ustawienia powinny być konfigurowane przez osobę konfigurującą projekt, a następnie ignorowane przez innych współpracowników.

Możliwości automatycznego włączania platformy uniwersalnej systemu Windows — jeśli ta opcja jest wyłączona, niektóre funkcje (na przykład śledzenie oczu) mogą dyskretnie ulec awarii po wdrożeniu na urządzeniu, ponieważ środowisko Unity nie doda automatycznie wymaganych możliwości środowiska uruchomieniowego do manifestu aplikacji. Jeśli to ustawienie zostanie zaznaczone, środowisko wdrażania aplikacji będzie zabezpieczone przed problemami tej klasy.