Punktwolken mit SideFX Houdini in optimierte 3D-Objekte für Dynamics 365 Guides und Mixed Reality-Komponenten von Apps umwandeln, die mit Power Apps erstellt wurden
In diesem Tutorial werden Schritt für Schritt folgende Aufgaben erläutert:
Umwandlung einer Punktwolke in ein 3D-Objekt
Optimierung eines 3D-Objekts durch Verringerung der Polygonanzahl, so dass diese den Leistungsvorgaben für Mixed Reality-Anwendungen von Dynamics 365 entspricht
Export eines optimierten 3D-Objekts als GLB-Datei, die in Dynamics 365 Guides und Mixed Reality-Komponenten von Apps verwendet werden kann, die mit Power Apps erstellt wurden
Erstellung einer Vorlage für die Verarbeitungspipeline, um Punktwolken in Zukunft schnell optimieren zu können
Dieses Tutorial dient nur zu Informationszwecken, um das Zusammenspiel von SideFX Houdini mit Microsoft Dynamics 365 Guides und Power Apps zu zeigen. Ihre Nutzung von Anwendungen Dritter unterliegt den zwischen Ihnen und diesen Dritten ausgehandelten Bedingungen. Microsoft Corporation steht in keinem Geschäftsverhältnis zu SideFX, ist kein Partner von SideFX und empfiehlt oder sponsert weder SideFX noch dessen Produkte. Es gibt etliche andere Apps zur Erstellung von Inhalten, mit denen 3D-Objekte vorbereitet werden können.
Was ist Houdini?
Houdini ist ein Tool zum Erstellen prozeduraler 3D-Inhalte. Dabei werden mit einem nicht destruktiven knotenbasierten Toolsystem Prozesspipelines und 3D-Inhalte entworfen.
Ihre Umgebung einrichten
Die Umgebung wird in folgenden Schritten eingerichtet:
Installieren Sie die Erweiterung von SideFX Labs.
Richten Sie AliceVision für die Photogrammetrie ein.
Erweiterung von SideFX Labs installieren
SideFX Labs dient als Versuchslabor für Tools, dass Ihnen dabei hilft, schneller mit Houdini zurechtzukommen. Dieses Sortiment kostenloser Tools beinhaltet auch Tools zum Umwandeln von Punktwolken in optimierte 3D-Objekte. Um SideFX Labs verwenden zu können, wird mindestens Houdini 18 benötigt.
Bei SideFX ist ein Tutorial in Videoform dabei, in dem die Installation dieser Tools erklärt wird.
Hinweis
Bevor SideFX Labs installiert werden kann, muss zuerst Houdini installiert werden. Weitere Informationen zur Installation von Houdini
Öffnen Sie Houdini.
Um SideFX Labs zu installieren, wählen Sie das Pluszeichen oben im Houdini-Fenster, wählen Sie Regale, und aktivieren Sie dann das Kontrollkästchen SideFX Labs.
Wählen Sie zum Öffnen des Installationsprogramms oben im Fenster auf der Symbolleiste die Option Update Toolset aus.
Installieren Sie die Tools durch Auswahl von Update.
Wenn die Installation geklappt hat, werden auf der Symbolleiste weitere Tools angezeigt. Sie können dann mit dem Tutorial fortfahren.
AliceVision für die Photogrammetrie einrichten
AliceVision ist ein von Mikros Image entwickeltes Framework zur Photogrammetrie. Es umfasst Algorithmen für 3D-Rekonstruktion und Kameratracking. Weitere Informationen über AliceVision und das AliceVision-Plug-In
Informationen zu Installation und Einrichtung des AliceVision-Plug-Ins für Houdini finden Sie im SideFX-Tutorial.
Eine Punktwolke in Houdini importieren
Houdini kann Punktwolkendateien im PLY-Dateiformat importieren. Wenn die Datei im PTS-Dateiformat vorliegt, können Sie sie manuell in das PLY-Format umwandeln.
PTS-Datei in eine PLY-Datei umwandeln
Öffnen Sie die PTS-Datei in einem Datei-Editor Ihrer Wahl, und fügen Sie die nachstehende Kopfzeile hinzu.
************************ ply format ascii 1.0 element vertex 534993 property float x property float y property float z property uchar intensity property uchar red property uchar green property uchar blue end_header ************************
Ersetzen Sie in der Kopfzeile neben element vertex den Wert 534993 durch den Wert, der ursprünglich ganz oben in der PTS-Datei stand (jetzt jedoch unmittelbar auf die Kopfzeile folgt).
Dieser Wert gibt die Gesamtzahl der Punkte in der Punktwolke an.
Löschen Sie den ursprünglichen Wert nach der Kopfzeile. Die folgende Tabelle enthält einen direkten Vergleich der Dateien vor und nach den vorangehenden Änderungen. Der Wert von element vertex ist in Rot markiert.
Oben in der PTS-Datei Oben in der PLY-Datei Speichern Sie die Datei so, dass sie die Dateinamenerweiterung „.ply“ hat.
PLY-Datei importieren
Öffnen Sie Houdini. Eine neue Szene wird automatisch erstellt. Nun erstellen Sie eine Reihe aus Knoten, um die Punktwolke in ein 3D-Objekt umzuwandeln. Diese Knoten werden unten rechts im Houdini-Fenster erstellt.
Klicken Sie mit der rechten Maustaste unten rechts in den Bereich, um das TAB Menu zu öffnen. (Alternativ drücken Sie die Tabulatortaste.)
Wählen Sie im Registerkartenmenü die Option Datei > importieren aus, und klicken Sie dann in den Bereich Geometrie, um den Knoten zu platzieren.
Doppelklicken Sie in die Mitte des file1-Knotens (oder drücken Sie die Taste I), um einen Drilldown in den Teil zur Dateiauswahlteil im Knoten auszuführen. Wählen Sie dann die Option File Chooser und anschließend die zu importierende Datei aus.
Navigieren Sie im angezeigten Dateibrowser zum Speicherort der PLY-Punktwolkendatei, die Sie importieren möchten, wählen Sie die Datei aus, und klicken Sie dann auf Annehmen.
Die Punktwolke wird im Hauptteil des Fensters angezeigt. Wenn Sie sie nicht sehen können, versuchen Sie, mit dem Mausrad herauszuzoomen, bis die gesamte Punktwolke erscheint.
Punktwolke vorbereiten
Punktwolke neu ausrichten
Wenn Sie eine Punktwolke zum ersten Mal importieren, ist die Ausrichtung manchmal falsch. Das können Sie korrigieren, indem Sie der Knotenstruktur einen Transform-Knoten hinzufügen.
Klicken Sie mit der rechten Maustaste in den Bereich Geometry, um das Registerkartenmenü zu öffnen, und wählen Sie dann Manipulate > Transform aus, um einen Transform-Knoten hinzuzufügen.
Ziehen Sie vom Punkt unten im file1-Knoten zum Punkt oben im transform1-Knoten. Auf diese Weise wird der Ausgang des file1-Knotens mit dem Eingang des transform1-Knotens verbunden. Klicken Sie dann auf die rechte Seite des transform1-Knotens. Die rechte Seite des transform1-Knotens wird blau, und der Knoten wird im Hauptbereich des Fensters aktiv, sodass Sie das Modell nach der Neuausrichtung sehen können.
Tipp
Klicken Sie auf die rechte Seite des entsprechenden Knotens, um das Modell in einer bestimmten Verarbeitungsphase von Houdini anzuzeigen. Diese Funktion ist praktisch, wenn Sie das 3D-Objekt in einem früheren Stadium ansehen und die Änderungen bearbeiten möchten, die in diesem Stadium aufgetreten sind.
Wenn Sie die Rotation des Modells korrigieren möchten, ergänzen Sie im Optionsbereich über dem Knotenbereich die Zeile Rotate mit Werten. Oftmals lässt sich das Modell durch Eingabe von 270 für den Wert x in die richtige Position drehen. Wenn das nicht funktioniert, probieren Sie es mit anderen Werten.
Soll die Punktwolke über dem Ursprungspunkt zentriert werden, ergänzen Sie nach dem Transform-Knoten einen Axis Align-Knoten. Platzieren Sie den Knoten, indem Sie die Maus über den Bereich Geometry bewegen, mit der Tabulatortaste das Registerkartenmenü öffnen und darin Labs>Geo>Labs Axis Align auswählen.
Ziehen Sie eine Verbindung vom Ausgangspunkt unten im transform1-Knoten zum Eingangspunkt oben im axisalign1-Knoten. Lassen Sie die Standardwerte unverändert, damit die Punktwolke oberhalb des Ursprungspunkts platziert wird (diese Stelle ist ideal).
Punktwolke zur Entfernung abseits liegender Punkte bereinigen
Wenn abseits der Punktwolke Punkte sind, die Sie entfernen möchten, können Sie diese einzeln oder als Gruppe auswählen und löschen.
Ändern Sie das Verfahren Geometry select in Points und das Tool Select in Lasso Picking.
Hinweis
Wenn Sie möchten, können Sie auch eine andere Methode verwenden.
Wählen Sie die zu löschenden Punkte aus.
Drücken Sie die Entf-Taste. Der neue blast1-Knoten wird angezeigt. Der Eingangspunkt oben in diesem Knoten ist mit dem Ausgangspunkt im unteren Teil des Knotens verbunden, mit dem Sie zuletzt gearbeitet haben.
Löschen Sie alle Punkte, die Sie löschen möchten. Bei jedem Löschen wird ein neuer Blast-Knoten hinzugefügt, den Sie jederzeit anzeigen oder entfernen können.
Punktwolke in ein Gittermodell umwandeln
Sowohl in glTF-Anwendungen als auch Anwendungen zum Echtzeit-Rendering müssen Objekte als triangulierte Polygonfläche dargestellt werden. Mit dem Befehl Particle Fluid Surface können Sie die Punkte zu einer logischen Oberfläche als polygonale Geometrie verbinden.
Öffnen Sie das Registerkartenmenü durch Klicken in den Bereich Geometry, und wählen Sie dann Fluid>Particle Fluid Surface aus. Wählen Sie nun den Knoten aus, und fügen Sie ihn im Bereich Geometry hinzu.
Ziehen Sie eine Verbindung vom Ausgangspunkt unten im transform1-Knoten zum Eingangspunkt oben links im particlefluidsurface1-Knoten. Klicken Sie dann auf die rechte Seite des pariclefluidsurface1-Knotens, um den Knoten im Hauptteil des Fensters zu aktivieren.
Die Punktwolke wird im Hauptteil des Fensters als Gittermodell angezeigt. Die Registerkarte Surfacing oben rechts über dem Bereich Geometry ist ausgewählt.
Wenn den Punkten in der Punktwolke Farbdaten zugeordnet sind, können Sie die Farbattribute verwenden, indem Sie den Wert im Feld Transfer Attributes am Ende mit den Buchstaben Cd ergänzen. Die Farbe wird dann im Gittermodell angezeigt.
Hat das Gittermodell Löcher, so wie in der nachstehenden Abbildung, beheben Sie den Fehler mithilfe der Schieberegler Particle Separation und Voxel Scale oben rechts.
Um das Gittermodell zum Dezimieren vorzubereiten (nächster Schritt des Gesamtvorgangs) ändern Sie unter Output den Wert im Feld Convert To von Surface Polygon Soup in Surface Polygons. So können Sie das Gittermodell neu knüpfen und dezimieren.
Öffnen Sie das Registerkartenmenü durch einen Rechtsklick in den Bereich Geometry, und wählen Sie dann Polygon>Remesh aus. Ein Remesh-Knoten wird hinzugefügt, um das Gittermodell in Dreiecke umzuwandeln. Auf diese Weise können Sie das 3D-Objekt auf eine Polygonanzahl reduzieren, die den gewünschten Leistungsvorgaben entspricht.
Ziehen Sie eine Verbindung vom Ausgangspunkt unten im particlefluidsurface1-Knoten zum Eingangspunkt oben links im remesh-Knoten. Klicken Sie in die Mitte des remesh-Knotens, um ihn im Bereich über dem Bereich Geometry zu aktivieren. Klicken Sie dann auf die rechte Seite des remesh-Knotens, um das Modell im Hauptteil des Fensters zu aktivieren. Nun können Sie die Eigenschaften des Remesh-Knotens bearbeiten. Die Änderungen werden dann im Modell im Hauptteil des Fensters übernommen.
Probieren Sie die Optionen unter Element Sizing aus, um die gewünschten Ergebnisse zu erzielen. Im Feld Edge Lenghts kann der Standardwert (Uniform) beibehalten werden. Sie können aber auch Adaptive auswählen und den Schieberegler Relative Density (und andere Optionen) ändern, um das gewünschte Gittermodell zu erstellen.
3D-Objekt zwecks besserer Leistung dezimieren
Zur Erreichung anwendungsspezifischer Ziele ist es manchmal erforderlich, 3D-Objekte zu dezimieren. Beim Dezimieren werden die Oberflächenpolygone eines Modells neu berechnet, um mit weniger Polygonen eine ähnliche Form zu erhalten. Zwar verschlechtert sich dadurch die Wiedergabetreue, die Leistung aber wird besser. Die folgende Tabelle enthält einen direkten Vergleich zwischen einem hochwertigen Modell, das für simple Situationen in HoloLens eingesetzt wird und einem Modell von geringer Qualität, das bei komplexen Sachverhalten Verwendung findet.
3D-Objekt mit vielen Polygonen | 3D-Objekt mit wenigen Polygonen |
---|---|
500.000 Dreiecke | 8.000 Dreiecke |
Ein Modell dezimieren
Drücken Sie im Bereich Geometrie die Taste Tab, um das Menü TAB zu öffnen, und wählen Sie dann Polygon>PolyReduce, um einen PolyReduce-Knoten im Bereich Geometrie zu platzieren.
Ziehen Sie eine Verbindung vom Ausgangspunkt unten im remesh-Knoten zum Eingangspunkt oben links im polyreduce1-Knoten. Klicken Sie mittig in den polyreduce1-Knoten und dann auf die rechte Seite des Knotens, um ihn im Hauptteil des Fensters zu aktivieren.
Wählen Sie im Feld Target unter Reduction Amount die Option Output Polygon Count aus, und stellen Sie dann mit dem Schieberegler Number To Keep die Polygonanzahl entsprechend den Vorgaben für Leistung und Wiedergabetreue ein.
Die Punktwolke wurde nun in ein optimiertes 3D-Netz umgewandelt. Im nächsten Schritt versehen Sie das 3D-Objekt mit einer hochauflösenden Struktur, um die bedingt durch die Dezimierung schlechtere Wiedergabetreue ein Stück weit wiederherzustellen.
Ein Gittermodell mit wenigen Polygonen mit einer hochauflösenden Struktur versehen
Ein Nachteil, der sich beim Verringern der Anzahl der Polygone in einem Gittermodell ergibt, ist, dass viele Details verloren gehen können. Um diese teilweise wiederherzustellen, können Sie diese Details erfassen und als Struktur über das Modell legen. Bei diesem als Texturbacken bezeichneten Vorgang wird ein Bild aller Oberflächen des polygonreichen Modells angefertigt. Die Oberflächen werden dann zu einer Decke zusammengefasst, die über das Modell gezogen wird. So profitieren Sie von der Leistung eines polygonarmen Modells und gleichzeitig von dem höheren Detailreichtum eines Modells mit vielen Polygonen.
Texturkoordinaten (auch als UVs bezeichnet) sind Zahlenpaare (U und V), die in der Geometrie eines Modells gespeichert sind. Mit diesen Zahlen wird die Art und Weise widergegeben, in der 2D-Bilder auf einer 3D-Oberfläche abgebildet werden, und sie erlauben die Definition von Oberflächeneigenschaften als Bild. Bei den Bildern kann es sich um einfache Raster oder komplexe Materialkomponenten wie „Roughness“ und „Metallic“ handeln. Die UV-Positionen eines Gittermodells können manuell, halbautomatisch oder automatisch generiert werden. In Houdini gibt es dazu ein Tool: den AutoUV-Oberflächenoperator. Mit diesem werden UVs teilweise automatisch erzeugt.
Textur backen
Klicken Sie mit der rechten Maustaste in den Bereich Geometrie, um das TAB-Menü zu öffnen, und wählen Sie dann Labs>UV>Labs Auto UV, um der Szene einen AutoUV-Knoten hinzuzufügen.
Ändern Sie unter Method den Wert im Feld Method in UV Unwrap.
Ziehen Sie eine Verbindung vom Ausgangspunkt unten im polyreduce1-Knoten zum Eingangspunkt oben im autouv1-Knoten.
Wenn Sie die Objekte in einem Vorher-Nachher-Vergleich sehen möchten, wählen Sie zuerst Viewport-Layout und dann Zwei Ansichten nebeneinander aus.
Wählen Sie im Hauptteil des Fensters im Dropdown-Menü Ansicht > UV-Viewport festlegen.
Die nicht abgewickelten UVs werden links, das 3D-Objekt rechts angezeigt.
Wählen Sie im Bereich Geometrie die Option Labs>Output>Labs Maps Baker, um einen Knoten maps_baker1 hinzuzufügen.
Ziehen Sie, um den Ausgabepunkt am unteren Rand des Knotens autouv1 mit dem Eingabepunkt oben links des Knotens maps_baker1 zu verbinden. (Der Punkt oben links ist der LOW Resolution input-Knoten.)
Ziehen Sie, um den Ausgabepunkt am unteren Rand des Knotens particlefluidsurface1 mit dem Eingabepunkt oben rechts des Knotens maps_baker 1 zu verbinden. (Der Punkt oben rechts ist der HIGH Resolution input-Knoten.)
Markieren Sie den Knoten maps_baker1, und ändern Sie dann unter Bake den Wert des Feldes Preview Channel auf Diffus. Stellen Sie unter Bake Options das Feld Diffuse Map auf diffuse ein.
Tipp
Um das Projekt in einem bestimmten Ordner zu speichern, wählen Sie neben dem Feld Output Directory aus der vorherigen Abbildung die Schaltfläche File Chooser aus. Beim Texturbacken wird die PNG-Texturdatei im Ordner render gespeichert. Dieser wird im Stammordner des gespeicherten Projekts erstellt. Wenn Sie das Projekt in einem eigenen Ordner speichern, erleichtert dies das Auffinden der gebackenen Textur.
Markieren Sie den Knoten Maps_baker1 und wählen Sie dann in der Optionsleiste Bake.
Klicken Sie mit der rechten Maustaste in den Bereich Geometrie, um das Menü TAB zu öffnen, und wählen Sie dann Manager>Materialnetzwerk, um der Szene einen Knoten Matnet1 hinzuzufügen.
Öffnen Sie den Bereich VEX Builder, indem Sie auf den matnet1-Knoten doppelklicken.
Klicken Sie mit der rechten Maustaste in den Bereich VEX Builder, und wählen Sie dann Shaders > Grundsätzlicher Shader, um ein Grundsätzlicher Shader Material hinzuzufügen.
Ändern Sie im Optionsbereich auf der Registerkarte Surface mit den Schiebereglern den Wert von Roughness auf 0,6 und den Wert von Metallic auf 0,1. (Sie können diese Felder beliebig einstellen. Diese Werte sind aber ein guter Ausgangspunkt, wenn sie mit den Standardwerten verwendet werden.)
Aktivieren Sie auf der Registerkarte Textures unter Base Color das Kontrollkästchen Use Texture. Wählen Sie dann die Schaltfläche Dateiauswahl, und wählen Sie die *_color.png Texturdatei, die Sie zuvor im Ordner Render gespeichert haben. Der Grundsätzlicher Shader ist jetzt einsatzbereit.
Hinweis
Verändern Sie das Material nach Belieben. Für dieses Tutorial ist die Konfiguration ausreichend.
Wählen Sie im Bereich VEX Builder die Schaltfläche Back (Pfeil nach links) aus, um zum Bereich Geometry zurückzukehren.
Wählen Sie Material > Material, um einen Materialknoten im Bereich Geometrie zu platzieren.
Ziehen Sie eine Verbindung vom Ausgangspunkt unten im autouv1-Knoten zum Eingangspunkt oben im material1-Knoten.
Wählen Sie den material1-Knoten und danach die Schaltfläche Operator chooser aus. Wählen Sie dann im Dialogfeld Operator wählen die Option Datei1>Matnet1>Grundsätzlicher Shader1, um den Grundsätzlicher Shader auszuwählen, den Sie zuvor erstellt haben.
Klicken Sie auf die rechte Seite des Knotens, um ihn im Hauptteil des Fensters zu aktivieren.
Die Textur wird über das polygonarme 3D-Objekt gelegt. Wenn Sie mit dem Ergebnis zufrieden sind, fahren Sie mit dem nächsten Schritt fort.
Das Modell in eine GLB-Datei exportieren
Bei diesem Schritt exportieren Sie das Modell in eine GLB-Datei, damit es in Dynamics 365 Guides und Power Apps verwendet werden kann.
Klicken Sie mit der rechten Maustaste in den Bereich Geometrie, um das TAB-Menü zu öffnen, und wählen Sie dann Export>ROP GLTF Output.
Ziehen Sie, um den Ausgabepunkt unten im Knoten Material1 mit dem Eingabepunkt oben im Knoten rop_gltf1 zu verbinden.
Ändern Sie im oberen Bereich den Wert im Feld Export Type auf glb.
Wählen Sie neben dem Feld Output File die Schaltfläche File Chooser aus, und geben Sie anschließend einen Namen und ein Ziel für die GLB-Datei ein. Ergänzen Sie den Dateinamen am Ende mit .glb. Wenn Sie fertig sind, klicken Sie auf Annehmen.
Um den Export abzuschließen und die GLB-Datei zu erstellen, wählen Sie Render to Disk aus.
Vorlage zur Wiederverwendung der Einstellungen für andere Punktwolken erstellen
Eine Vorlage spart Zeit und Mühe. Auf diese Weise können die Einstellungen, die Sie für eine Punktwolke festlegen, auch bei anderen Punktwolken verwendet werden. Obwohl Sie die Option Bake nach wie vor manuell auswählen müssen und wahrscheinlich noch einige Werte einzustellen sind, kann der Vorgang mit einer Vorlage weitgehend automatisiert werden.
Vorlage erstellen
Ersetzen Sie die derzeit verwendete Geometrie durch eine Standardgeometrie. Dadurch wird die Vorlagendatei in ihrer Größe reduziert und kann beim Öffnen schnell geladen werden.
Klicken Sie im Bereich Geometry mittig in den Knoten, um zum Menü File im oberen Bereich zu wechseln.
Ändern Sie den Wert im Feld Geometry File auf default.bgeo, und wählen Sie dann Reload Geometry aus.
Beachten Sie, dass die Geometrie neu gezeichnet und nun als generischer Würfel dargestellt wird.
Ändern Sie den Dateinamen in eine allgemeine Bezeichnung wie Vorlage.
Wählen Sie Datei > speichern, und geben Sie einen Namen ein, den Sie sich merken können, z. B. Prep_Template.
Schließen Sie Houdini.
Die Vorlage verwenden
Öffnen Sie Houdini, wählen Sie Datei>Öffnen und dann die Vorlage, die Sie gerade erstellt haben.
Klicken Sie im Bereich Geometry mittig in den Knoten, um zum Menü File im oberen Bereich zu wechseln. Wählen Sie neben dem Feld Geometry File nun die Schaltfläche File Chooser und anschließend die PLY-Punktwolkendatei aus.
Laden Sie die Punktwolke mit Reload Geometry in die Szene.
Gehen Sie zum Knoten Maps_baker1, und wählen Sie dann Bake, um eine neue Textur für Ihr 3D-Objekt zu erstellen.
Zum Anzeigen des gebackenen Modells klicken Sie auf die rechte Seite des material1-Knotens.
Führen Sie einen dieser Schritte aus:
Wenn Sie mit dem 3D-Objekt zufrieden sind, gehen Sie zum Knoten rop_gltfB und wählen Sie dann Render to Disk, um Ihr 3D-Objekt zu exportieren.
Sind Sie mit dem 3D-Objekt nicht zufrieden, ändern Sie die Einstellungen der particlefluidsurface1-, remesh- und polyreduce1-Knoten. Fällt alles zu Ihrer Zufriedenheit aus, backen Sie die Textur erneut, und exportieren Sie das 3D-Objekt.
Ein 3D-Objekt in Dynamics 365 Guides oder Power Apps anzeigen
Nachdem Sie ein 3D-Objekt vorbereitet haben, können Sie unter den folgenden Links mehr über die Verwendung des Modells in Dynamics 365 Guides oder Power Apps erfahren:
Weitere Informationen
Die Screenshots in diesem Tutorial stammen aus dem Houdini-Softwareprogramm, um die Verwendung von Houdini zu veranschaulichen. Weitere Informationen zu SideFX Houdini.
Microsoft Corporation übernimmt keine Verantwortung und schließt ausdrücklich jede Haftung für Schäden jeglicher Art ab, die sich aus der Verwendung von Houdini oder infolge dieser Anleitung ergeben. Dieses Dokument wurde nur erstellt, um unseren Kunden allgemeine Informationen bereitzustellen. Es berücksichtigt keine individuellen Geschäftspläne oder Spezifikationen.
Die Verwendung eingetragener Marken oder Bilder in diesem Dokument dient ausschließlich zu Informations- und Veranschaulichungszwecken. Microsoft Corporation empfiehlt weder deren Verwendung, noch sponsert es diese.