Partager via


Bibliothèque de client Azure Object Anchors pour .NET - version 0.3.0-beta.6

Azure Object Anchors permet à une application de détecter un objet dans le monde physique à l’aide d’un modèle 3D et d’estimer sa valeur 6-DDL. Ce package prend en charge la conversion d’une ressource 3D existante en un formulaire qui peut être utilisé par le runtime Object Anchors pour détecter des objets physiques.

| Code sourcePackage (NuGet)

Prise en main

Installer le package

Installez la bibliothèque de client Azure Object Anchors pour .NET avec NuGet :

dotnet add package Azure.MixedReality.ObjectAnchors.Conversion --prerelease

Ajoutez une référence de package :

<PackageReference Include="Azure.MixedReality.ObjectAnchors.Conversion" Version="0.1.0-beta.0" />

Prérequis

Authentifier le client

Mixed Reality services prennent en charge différentes formes d’authentification :

  • Authentification par clé de compte
    • Les clés de compte vous permettent de commencer rapidement à utiliser Mixed Reality services. Mais avant de déployer votre application en production, nous vous recommandons de mettre à jour votre application pour utiliser l’authentification Azure AD.
  • Authentification par jeton Azure Active Directory (AD)
    • Si vous créez une application d’entreprise et que votre entreprise utilise Azure AD comme système d’identité, vous pouvez utiliser l’authentification Azure AD basée sur l’utilisateur dans votre application. Vous accordez ensuite l’accès à votre compte Object Anchors à l’aide de vos groupes de sécurité Azure AD existants. Vous pouvez également accorder l’accès directement aux utilisateurs de votre organisation.
    • Sinon, nous vous recommandons d’obtenir des jetons Azure AD à partir d’un service web prenant en charge votre application. Nous recommandons cette méthode pour les applications de production, car elle vous permet d’éviter d’incorporer les informations d’identification pour accéder au service de conversion de ressources Object Anchors dans votre application cliente.

Consultez ici pour obtenir des instructions et des informations détaillées.

Concepts clés

ObjectAnchorsConversionClient

est ObjectAnchorsConversionClient la bibliothèque cliente utilisée pour accéder au service de conversion de ressources Object Anchors. À partir de là, un URI de chargement de stockage est fourni pour permettre aux utilisateurs de charger leurs ressources à des fins de conversion dans un format utilisable par le runtime Object Anchors.

Les ressources chargées vers l’URI hébergé par Microsoft obtenues auprès du client sont conservées pendant 48 heures.

Le modèle converti final dans le stockage hébergé par Microsoft sera conservé pendant 48 heures.

Exemples

Charger une ressource pour la conversion de ressources Object Anchors

AzureKeyCredential credential = new AzureKeyCredential(accountKey);

ObjectAnchorsConversionClient client = new ObjectAnchorsConversionClient(accountId, accountDomain, credential);

AssetUploadUriResult uploadUriResult = await client.GetAssetUploadUriAsync();

Uri uploadedInputAssetUri = uploadUriResult.UploadUri;

BlobClient blobClient = new BlobClient(uploadedInputAssetUri);

using (FileStream fs = File.OpenRead(localFilePath))
{
  await blobClient.UploadAsync(fs);
}

Démarrer la conversion de ressources 3D

AssetConversionOptions assetConversionOptions = new AssetConversionOptions(uploadedInputAssetUri, AssetFileType.FromFilePath(localFilePath), assetGravity, scale);

// Or you can pass in an optional parameter DisableDetectScaleUnits if you are converting a FBX, specifying whether or not you want to disable automatic detection of the embedded scale units. 
// The detection is enabled by default.
AssetConversionOptions assetConversionOptions = new AssetConversionOptions(uploadedInputAssetUri, AssetFileType.FromFilePath(localFilePath), assetGravity, scale, disableDetectScaleUnits: true);

AssetConversionOperation operation = await client.StartAssetConversionAsync(assetConversionOptions);

Guid jobId = new Guid(operation.Id);

Interroger une conversion de ressource ObjectAnchors existante jusqu’à l’achèvement et télécharger le résultat

AssetConversionOperation operation = new AssetConversionOperation(assetConversionJobId, client);

await operation.WaitForCompletionAsync();

if (!operation.HasCompletedSuccessfully)
{
  throw new Exception("The asset conversion operation completed with an unsuccessful status");
}

BlobClient blobClient = new BlobClient(operation.Value.OutputModelUri);

BlobDownloadInfo downloadInfo = await blobClient.DownloadAsync();

using (FileStream file = File.OpenWrite(localFileDownloadPath))
{
    await downloadInfo.Content.CopyToAsync(file);
    FileInfo fileInfo = new FileInfo(localFileDownloadPath);
}

Dépannage

Étapes suivantes

Contribution

Ce projet accepte les contributions et les suggestions. La plupart des contributions vous demandent d’accepter un contrat de licence de contribution (CLA) déclarant que vous avez le droit de nous accorder, et que vous nous accordez réellement, les droits d’utilisation de votre contribution. Pour plus d’informations, visitez https://cla.microsoft.com.

Quand vous envoyez une demande de tirage (pull request), un bot CLA détermine automatiquement si vous devez fournir un contrat CLA et agrémenter la demande de tirage de façon appropriée (par exemple, avec une étiquette ou un commentaire). Suivez simplement les instructions fournies par le bot. Vous ne devez effectuer cette opération qu’une seule fois sur tous les dépôts utilisant notre contrat CLA.

Ce projet a adopté le Code de conduite Open Source de Microsoft. Pour plus d’informations, consultez les Questions fréquentes (FAQ) sur le code de conduite ou envoyez vos questions ou vos commentaires à opencode@microsoft.com.