You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: powerapps-docs/maker/canvas-apps/mixed-reality-component-view-3d.md
+38-61Lines changed: 38 additions & 61 deletions
Original file line number
Diff line number
Diff line change
@@ -2,11 +2,10 @@
2
2
title: Use the View in 3D control in Power Apps
3
3
description: View 3D models in Power Apps.
4
4
author: anuitz
5
-
6
5
ms.topic: conceptual
7
6
ms.custom: canvas
8
7
ms.reviewer: tapanm
9
-
ms.date: 3/25/2021
8
+
ms.date: 02/15/2022
10
9
ms.subservice: canvas-maker
11
10
ms.author: anuitz
12
11
search.audienceType:
@@ -20,83 +19,61 @@ contributors:
20
19
21
20
# View 3D content in Power Apps
22
21
23
-
Add 3D content to your canvas apps. Use the **View in 3D** control to rotate and zoom into the model with simple gestures.
24
-
25
-
You can display a single 3D model, or you can let the user select from a gallery [by connecting to a **Gallery** control](mixed-reality-component-view-3d-store.md).
26
-
27
-
:::image type="content" source="./media/augmented-overview/view-in-3d.png" alt-text="Photo showing a 3D object being viewed in a mobile device.":::
22
+
Easily add interactive 3D content to your canvas apps. You can [select from a gallery of 3D content](mixed-reality-component-view-3d-store.md) then rotate and zoom into the model with simple gestures.
28
23
24
+
:::image type="content" source="./media/augmented-overview/view-in-3d.png" alt-text="A photo of two phones side by side, both of which show a 3D model of a forklift viewed in two mobile apps.":::
29
25
30
26
> [!IMPORTANT]
31
-
> Your 3D content must be in the .glb, .obj, or .stl file formats.
32
-
> You can [convert your existing 3D models into the .glb file format](/dynamics365/mixed-reality/guides/3d-content-guidelines/) from a variety of 3D formats.
27
+
> Your 3D content must be in the .glb, .obj, or .stl file formats. You can [convert your existing 3D models into the .glb file format](/dynamics365/mixed-reality/guides/3d-content-guidelines/) from a variety of 3D formats.
33
28
34
29
> [!TIP]
35
-
> The MR controls in Power Apps leverage Babylon and Babylon React Native. As a result of this shared MR platform, 3D content that works in the [Babylon sandbox](https://sandbox.babylonjs.com/) should work in Power Apps. For troubleshooting and help, submit a ticket in the Admin Center for Mixed Reality, or [post a question on the Power Apps community forum](https://powerusers.microsoft.com/t5/Get-Help-with-Power-Apps/ct-p/PA_General) (be sure to tag it with "mixed reality".)
36
-
37
-
38
-
## Use the control
39
-
40
-
Insert the control into your app as you normally would for any other control or control.
41
-
42
-
With an app open for editing in [Power Apps Studio](https://create.powerapps.com):
43
-
44
-
1. Open the **Insert** tab.
45
-
2. Expand **Media**.
46
-
3. Select the control **View in 3D** to place it in the center of the app screen, or drag and drop it to position it anywhere on the screen.
47
-
48
-
49
-
:::image type="content" source="./media/augmented-3d/augmented-3d-insert.png" alt-text="Insert the View in 3D control into the app.":::
50
-
51
-
See the [Load models with the View in 3D control](mixed-reality-component-view-3d-store.md) topic for details on how to connect existing and external models with URLs, as media attachments, or as encoded URIs.
30
+
> The mixed reality (MR) controls in Power Apps use Babylon and Babylon React Native. Mixed reality content that works in the [Babylon sandbox](https://sandbox.babylonjs.com/) should work in Power Apps through this shared MR platform. If your content works in Babylon but not in Power Apps, ask a question in the [Power Apps Community Forum](https://powerusers.microsoft.com/t5/Get-Help-with-Power-Apps/ct-p/PA_General). (Tag it with "mixed reality.")
52
31
53
-
You can modify the control with a number of properties.
32
+
## Add View in 3D control to an app screen
54
33
55
-
### Properties
34
+
With your app open for [editing](edit-app.md) in [Power Apps Studio](https://create.powerapps.com):
56
35
57
-
The following properties are on the control's **View in 3D** pane on the **Properties** and **Advanced** tabs.
36
+
1. Open the **Insert** tab and expand **Media**.
37
+
2. Select **View in 3D** to place the control in the app screen, or drag the control to the screen to position it more precisely.
58
38
39
+
## Key properties
59
40
60
41
61
-
:::image type="content" source="./media/augmented-3d/augmented-3d-viewer-controls.png" alt-text="Properties on the control's View in 3D pane.":::
42
+
Change the 3D content control's behavior and appearance using properties. Some properties are only available on the **Advanced** tab.
62
43
63
-
Some properties are only available in the **Advanced** tab on the **View in 3D** pane.
44
+
:::image type="content" source="./media/augmented-3d/augmented-3d-viewer-controls.png" alt-text="A 3D content control displayed next to the properties tab in Power Apps Studio.":::
64
45
65
-
Property | Description | Type | Location
66
-
- | - | - | -
67
-
Source | Data source that identifies the .glb file to display. The **View in 3D** control supports loading models from:<br/><ul><li>Publicly accessible, CORS-compliant URLs</li><li>Base64-encoded URIs</li><li>Attachments or media content accessed through data connectors</li></ul>See the [Loading external 3D models topic](mixed-reality-component-view-3d-store.md) for more details. | Not applicable | **Properties** (also in **Advanced**)
68
-
Alternative text | Text to be displayed if the model can't load, or if the app user hovers on the model. | String | **Properties** (also in **Advanced** as **AltText**)
69
-
Background fill | Set the background color for the control. | Color picker | **Properties** (also in **Advanced** as **BackgroundFill**, where it accepts RGBA or HTML hexadecimal color codes)
70
-
Pins(Items) | [Add pins to specific coordinates on the 3D model](mixed-reality-add-pins-3d-model.md). | Data table | **Properties** (also in **Advanced** and the formula bar as **Items**)
71
-
Show pins | Show the pins defined in **Pins(Items)**. | Toggle | **Properties** (also in **Advanced** as **ShowPins**)
72
-
Show reset button | Enables or disables the reset button, which resets the camera view onto the model. | Toggle | **Properties** (also in **Advanced** as **ShowReset**)
73
-
OnModelLoad | Behavior that is triggered when a model is loaded into the control. | Defined action | **Advanced**
74
-
OnChange | Behavior that is triggered when any property of the control is changed. | Defined action | **Advanced**
75
-
OnSelect | Behavior that is triggered when a pin is selected or the user focuses on the control | Defined action | **Advanced**
76
-
77
-
### Additional properties
78
-
79
-
**[DisplayMode](./controls/properties-core.md)** – Whether the control allows user input (**Edit**), only displays data (**View**), or is disabled (**Disabled**).
80
-
81
-
**[Height](./controls/properties-size-___location.md)** – The distance between a control's top and bottom edges.
**[Visible](./controls/properties-core.md)** – Whether a control appears or is hidden.
86
-
87
-
**[Width](./controls/properties-size-___location.md)** – The distance between a control's left and right edges.
88
-
89
-
**[X](./controls/properties-size-___location.md)** – The distance between the left edge of a control and the left edge of its parent container (or the screen if there's no parent container).
90
-
91
-
**[Y](./controls/properties-size-___location.md)** – The distance between the top edge of a control and the top edge of the parent container (or the screen if there's no parent container).
46
+
| Property | Description | Type | Location |
47
+
| - | - | - | - |
48
+
| Source | Identifies the object file to display. The **View in 3D** control supports loading models from various sources. See [Loading external 3D models](mixed-reality-component-view-3d-store.md) for details. | Not applicable | Properties; Advanced: **Source**|
49
+
| Alternative text | Specifies the text to be displayed if the model can't load or if the user hovers over the model. | String | Properties; Advanced: **AltText**|
50
+
| Background fill | Sets the control's background color. | Color picker | Properties; Advanced: **BackgroundFill** (accepts RGBA or HTML hexadecimal color codes) |
51
+
| Pins(Items) |[Shows pins on the model at specific coordinates](mixed-reality-add-pins-3d-model.md), provided in a data source (**Items**). If *None*, no pins are shown. | Data table | Properties; Advanced: **Items**|
52
+
| Show pins | Shows the pins described in **Items**. | Boolean | Properties; Advanced: **ShowPins**|
53
+
| MaxPins | Specifies the maximum number of pins that can be shown on the model. | Integer | Advanced |
54
+
| PinsX | Specifies the ___location of pins on the X axis in 3D coordinate space. | Floating point number | Advanced |
55
+
| PinsY | Specifies the ___location of pins on the Y axis in 3D coordinate space. | Floating point number | Advanced |
56
+
| PinsZ | Specifies the ___location of pins on the Z axis in 3D coordinate space. | Floating point number | Advanced |
57
+
| Show reset button | Shows or hides a button that resets the model to its initial state. | Boolean | Properties; Advanced; **ShowReset**|
58
+
| OnModelLoad | Contains behavior formula that runs when a model is loaded.| Event | Advanced |
59
+
| OnChange | Contains behavior formula that runs when any property of the control is changed. | Event | Advanced |
60
+
| OnSelect | Contains behavior formula that runs when the user selects a pin or the control. | Event | Advanced |
92
61
62
+
## Additional properties
93
63
64
+
| Property | Description | Type | Location |
65
+
| - | - | - | - |
66
+
| ContentLanguage | Determines the display language of the control, if it's different from the language used in the app. | String | Advanced |
67
+
|[DisplayMode](./controls/properties-core.md)| Determines whether the control allows user input (*Edit*), only displays data (*View*), or is disabled (*Disabled*). | Dropdown list | Advanced |
68
+
| Position | Places the upper-left corner of the control at the screen coordinates specified in *x* and *y*. | Floating point number | Properties; Advanced: **[X](./controls/properties-size-___location.md)**, **[Y](./controls/properties-size-___location.md)**|
69
+
| Size | Determines the size of the control using the pixel values provided in *Width* and *Height*. | Integer | Properties; Advanced: **[Width](./controls/properties-size-___location.md)**, **[Height](./controls/properties-size-___location.md)**|
70
+
|[TabIndex](./controls/properties-accessibility.md)| Specifies the order the control is selected if the user navigates the app using the Tab key. | Integer | Advanced |
71
+
|[Tooltip](./controls/properties-core.md)| Determines the text to display when the user hovers over a pin. | String | Advanced |
72
+
|[Visible](./controls/properties-core.md)| Shows or hides the control. | Boolean | Properties; Advanced: **Visible**|
94
73
95
74
## Performance considerations
96
75
97
-
Having multiple instances of the **View in 3D** control on one screen can lead to poor performance, as each version of the control will try to load the 3D models at the same time.
98
-
99
-
76
+
We recommend that you use one 3D control on a screen for the best user experience. Multiple instances of the **View in 3D** control on one screen will try to load their 3D models at the same time, which can severely degrade the performance of your app.
0 commit comments