Condividi tramite


Uso di MRTK2 in progetti di grandi dimensioni

Questa pagina contiene alcuni suggerimenti utili per gli utenti di MRTK che lo stanno trascinando in progetti di grandi dimensioni esistenti o configurando qualcosa di nuovo che verrà controllato dal codice sorgente e avrà più sviluppatori.

È consigliabile leggere tutte le linee guida riportate di seguito, seguendo le linee guida che consentono di evitare problemi difficili quando si lavora su codebase di dimensioni maggiori

gitignore

Il file con estensione gitignore seguente è una base consigliata per eseguire il pull quando si usa MRTK. Esistono parti di MRTK che creano lo stato locale che possono essere ignorate in modo sicuro dal controllo del codice sorgente, che altrimenti sporcherebbero lo stato Git locale.

Si noti che le parti iniziali di questo sono tratte dall'istanza predefinita di Github Unity .gitignore con aggiunte specifiche di MRTK in un secondo momento. Si noti anche che alcune di queste regole presuppongono determinati percorsi e possono essere modificate in base alla posizione in cui MRTK si trova all'interno del progetto.

# 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

File ProjectPreferences.asset

Le impostazioni MRTK a livello di progetto sono disponibili nella posizione Modifica -> Impostazioni progetto -> Realtà mista Toolkit. Queste impostazioni verranno salvate in un file in questo percorso nella cartella Assets:

Assets/MixedRealityToolkit.Generated/ProjectPreferences.asset

Se il progetto avrà più collaboratori, è consigliabile archiviare questo file di asset dopo aver eseguito una configurazione iniziale delle impostazioni MRTK. In particolare, è consigliabile controllare le impostazioni seguenti:

Blocca profili SDK : se questa opzione è disabilitata, i profili MRTK predefiniti saranno modificabili a livello globale, che renderanno complessi gli aggiornamenti di MRTK (può causare conflitti di merge nel framework stesso)

Ignora configuratore di progetto MRTK : se questa opzione è disabilitata, il configuratore di progetto mostrerà se le impostazioni MRTK correnti non corrispondono alle impostazioni predefinite consigliate di MRTK. Poiché il progetto potrebbe aver scelto esplicitamente di non avere alcune impostazioni abilitate, se questa impostazione è selezionata, impedirà ad altri collaboratori di visualizzare questa finestra di dialogo una modifica delle impostazioni inavvertitamente. Queste impostazioni devono essere configurate dalla persona che configura il progetto e quindi ignorate dagli altri collaboratori.

Abilitare automaticamente le funzionalità UWP : se questa funzionalità è disabilitata, alcune funzionalità (ad esempio, il tracciamento oculare) potrebbero non riuscire quando vengono distribuite in un dispositivo perché Unity non aggiungerà automaticamente le funzionalità di runtime necessarie al manifesto dell'applicazione. Se questa impostazione è selezionata, proteggerà l'esperienza di distribuzione dell'applicazione da questa classe di problemi.