在大型项目中使用 MRTK

本页面包含一些有用的提示,适用于在现有的大型项目中使用 MRTK 的用户,或设置将受源代码管理并拥有多个开发人员的新项目。

建议阅读下面的所有准则,遵循这些准则有助于避免在处理更大的代码库时遇到一些的棘手问题

gitignore

下面的 .gitignore 文件是在使用 MRTK 时拉取的推荐库 - MRTK 的某些部分创建了可以被源代码管理安全忽略的本地状态,否则会弄脏本地 git 状态。

请注意,此文件开头的几个部分取自默认的 github Unity .gitignore,后面有 MRTK 特有的补充。 另请注意,其中的某些规则假定了特定路径,可以根据 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

ProjectPreferences.asset 文件

整个项目的 MRTK 设置位于“编辑”->“项目设置”->“混合现实工具包”下。 这些设置将保存到“资产”文件夹内这个位置的文件中:

Assets/MixedRealityToolkit.Generated/ProjectPreferences.asset

如果你的项目将有多位协作者,建议在进行 MRTK 设置的初始设置后再签入此资产文件。 尤其请考虑检查以下设置:

锁定 SDK 配置文件 - 如果此功能处于禁用状态,则默认的 MRTK 配置文件将可以全局编辑,这会使 MRTK 升级变得具有挑战性(它可能会导致框架自身的合并冲突)

忽略 MRTK 项目配置器 - 如果此功能处于禁用状态,项目配置器会显示当前 MRTK 设置是否与 MRTK 推荐的默认设置不匹配。 由于你的项目可能已经明确选择不启用某些设置,因此选中此设置可以防止其他协作者看到此对话框,并在无意中更改设置。 这些设置应由设置项目的人员配置,并被其他协作者所忽略。

自动启用 UWP 功能 - 如果此功能处于禁用状态,则某些功能(例如,眼动跟踪)在部署到设备时可能会以静默方式发生故障,因为 Unity 不会自动将所需的运行时功能添加到应用程序清单。 选中此设置可以保护应用程序的部署体验免受此类问题的影响。