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: articles/remote-rendering/how-tos/conversion/configure-model-conversion.md
+16-7Lines changed: 16 additions & 7 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -13,7 +13,8 @@ This chapter documents the options for the model conversion.
13
13
14
14
## Settings file
15
15
16
-
If a file called `ConversionSettings.json` is found in the input container beside the input model, then it is used to provide additional configuration for the model conversion process.
16
+
If a file called `<modelName>.ConversionSettings.json` is found in the input container beside the input model `<modelName>.<ext>`, then it will be used to provide additional configuration for the model conversion process.
17
+
For example, `box.ConversionSettings.json` would be used when converting `box.gltf`.
17
18
18
19
The contents of the file should satisfy the following json schema:
19
20
@@ -49,7 +50,7 @@ The contents of the file should satisfy the following json schema:
49
50
}
50
51
```
51
52
52
-
An example `ConversionSettings.json` file might be:
53
+
An example file `box.ConversionSettings.json` might be:
53
54
54
55
```json
55
56
{
@@ -61,15 +62,18 @@ An example `ConversionSettings.json` file might be:
61
62
62
63
### Geometry parameters
63
64
64
-
*`scaling` - This parameter scales a model uniformly. Scaling can be used to grow or shrink a model, for example to display a building model on a table top. Since the rendering engine expects lengths to be specified in meters, another important use of this parameter arises when a model is defined in different units. For example, if a model is defined in centimeters, then applying a scale of 0.01 should render the model at the correct size.
65
+
*`scaling` - This parameter scales a model uniformly. Scaling can be used to grow or shrink a model, for example to display a building model on a table top.
66
+
Scaling is also important when a model is defined in units other than meters, since the rendering engine expects meters.
67
+
For example, if a model is defined in centimeters, then applying a scale of 0.01 should render the model at the correct size.
65
68
Some source data formats (for example .fbx) provide a unit scaling hint, in which case the conversion implicitly scales the model to meter units. The implicit scaling provided by the source format will be applied on top of the scaling parameter.
66
69
The final scaling factor is applied to the geometry vertices and the local transforms of the scene graph nodes. The scaling for the root entity's transform remains unmodified.
67
70
68
71
*`recenterToOrigin` - States that a model should be converted so that its bounding box is centered at the origin.
69
-
Centering is important if the source model is displaced far from the origin, since in that case floating point precision issues may cause rendering artifacts.
72
+
If a source model is displaced far from the origin, floating point precision issues may cause rendering artifacts.
73
+
Centering the model can help in this situation.
70
74
71
75
*`opaqueMaterialDefaultSidedness` - The rendering engine assumes that opaque materials are double-sided.
72
-
If that is not the intended behavior, this parameter should be set to "SingleSided". For more information, see [:::no-loc text="single sided"::: rendering](../../overview/features/single-sided-rendering.md).
76
+
if that assumption isn't true of a particular model, this parameter should be set to "SingleSided". For more information, see [:::no-loc text="single sided"::: rendering](../../overview/features/single-sided-rendering.md).
73
77
74
78
### Material overrides
75
79
@@ -94,10 +98,10 @@ If a model is defined using gamma space, then these options should be set to tru
94
98
95
99
*`sceneGraphMode` - Defines how the scene graph in the source file is converted:
96
100
*`dynamic` (default): All objects in the file are exposed as [entities](../../concepts/entities.md) in the API and can be transformed independently. The node hierarchy at runtime is identical to the structure in the source file.
97
-
*`static`: All objects are exposed in the API but cannot be transformed independently.
101
+
*`static`: All objects are exposed in the API but they cannot be transformed independently.
98
102
*`none`: The scene graph is collapsed into one object.
99
103
100
-
Each mode has different runtime performance. In `dynamic` mode, the performance cost scales linearly with the number of [entities](../../concepts/entities.md) in the graph, even when no part is moved. It should only be used when moving parts individually is necessary for the application, for example for an 'explosion view' animation.
104
+
Each mode has different runtime performance. In `dynamic` mode, the performance cost scales linearly with the number of [entities](../../concepts/entities.md) in the graph, even when no part is moved. Use `dynamic` mode only when it is necessary to move parts individually, for example for an 'explosion view' animation.
101
105
102
106
The `static` mode exports the full scene graph, but parts inside this graph have a constant transform relative to its root part. The root node of the object, however, can still be moved, rotated, or scaled at no significant performance cost. Furthermore, [spatial queries](../../overview/features/spatial-queries.md) will return individual parts and each part can be modified through [state overrides](../../overview/features/override-hierarchical-state.md). With this mode, the runtime overhead per object is negligible. It is ideal for large scenes where you still need per-object inspection but no per-object transform changes.
103
107
@@ -274,6 +278,11 @@ In these use cases, the models often have very high detail within a small volume
274
278
* Ray casts are typically an integral part of the application, so collision meshes must be generated.
275
279
* Cut planes look better with the `opaqueMaterialDefaultSidedness` flag enabled.
276
280
281
+
## Deprecated features
282
+
283
+
Providing settings using the non-model-specific filename `conversionSettings.json` is still supported but deprecated.
284
+
Please use the model-specific filename `<modelName>.ConversionSettings.json` instead.
Copy file name to clipboardExpand all lines: articles/remote-rendering/how-tos/conversion/override-materials.md
+5-4Lines changed: 5 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -9,14 +9,15 @@ ms.topic: how-to
9
9
10
10
# Override materials during model conversion
11
11
12
-
During conversion, the material settings in the source model are used to define the [PBR materials](../../overview/features/pbr-materials.md) used by the renderer.
12
+
The material settings in the source model are used to define the [PBR materials](../../overview/features/pbr-materials.md) used by the renderer.
13
13
Sometimes the [default conversion](../../reference/material-mapping.md) doesn't give the desired results and you need to make changes.
14
14
When a model is converted for use in Azure Remote Rendering, you can provide a material-override file to customize how material conversion is done on a per-material basis.
15
15
The section on [configuring model conversion](configure-model-conversion.md) has instructions for declaring the material override filename.
16
16
17
17
## The override file used during conversion
18
18
19
-
As a simple example, let's say that a box model has a single material, called "Default". The albedo color needs to be adjusted for use in ARR.
19
+
As a simple example, let's say that a box model has a single material, called "Default".
20
+
Additionally, let's say its albedo color needs to be adjusted for use in ARR.
20
21
In this case, a `box_materials_override.json` file can be created as follows:
21
22
22
23
```json
@@ -33,7 +34,7 @@ In this case, a `box_materials_override.json` file can be created as follows:
33
34
]
34
35
```
35
36
36
-
The `box_materials_override.json` file is placed in the input container, and a `ConversionSettings.json` is added beside `box.fbx`, which tells conversion where to find the override file (see [Configuring the model conversion](configure-model-conversion.md)):
37
+
The `box_materials_override.json` file is placed in the input container, and a `box.ConversionSettings.json` is added beside `box.fbx`, which tells conversion where to find the override file (see [Configuring the model conversion](configure-model-conversion.md)):
37
38
38
39
```json
39
40
{
@@ -46,7 +47,7 @@ When the model is converted, the new settings will apply.
46
47
### Color materials
47
48
48
49
The [color material](../../overview/features/color-materials.md) model describes a constantly shaded surface that is independent of lighting.
49
-
This is useful for assets made by Photogrammetry algorithms, for example.
50
+
Color materials are useful for assets made by Photogrammetry algorithms, for example.
50
51
In material override files, a material can be declared to be a color material by setting `unlit` to `true`.
0 commit comments