
Aujourd'hui, nous allons sauter dans le domaine de la conscience spatiale avec les lunettes Microsoft Hololens et parler du développement de Windows Mixed Reality (WMR), ainsi que de ce à quoi s'attendre de la deuxiÚme génération.
, Hololens Unity Mixed Reality Toolkit (MRTK).
UWP Microsoft.
Hololens?
Hololens â (Mixed Reality), (Spatial Awareness). Microsoft . EasyAR SDK 4.0 Sparse & Dense SpatialMap, .
Microsoft «» (25 ): Scene Understanding SDK.
, Spatial Understanding, Holotoolkit 2017.4.1.0 ( â MRTK) Unity 2017.4. â «How-To: Use Spatial Understanding to Query your Room with HoloLens».
, Hololens .
«» Hololens?
(: )
Hololens ToF- .
. , , Hololens ( ):

Hololens Spatial Awareness
â Unity, 3D-. .
«» (entry) , . Hololens : , , . Hololens .
( 5â10 , / ). . , , , .
Spatial Awareness MRTK Unity.
MRTK Microsoft. , Unity , github.
:
Observation Extents = 1.0f
â ;TPM = 600
â (scanning density). , ( );Surface Update Time = 0.3f
() â .
:

, Unity:
mesh.vertices
Vector3 []
â ;mesh.triangles
int []
â , ;mesh.uv
Vector2[]
â UV-.
vertices
triangles
, :

, : :
:
- â , ;
- â , .
Wiki Unity , . MarkGX 2011 ( ). laplacianFilter
, :
Vector3[] sv
;int[] t
â , . ( ).
() . :
: , , , .
.
, , x, y, z, .
:
public static Vector3[] laplacianFilter(Vector3[] sv, int[] t)
{
Vector3[] wv = new Vector3[sv.Length];
List<Vector3> adjacentVertices = new List<Vector3>();
float dx = 0.0f;
float dy = 0.0f;
float dz = 0.0f;
for (int vi=0; vi< sv.Length; vi++)
{
adjacentVertices = MeshUtils.findAdjacentNeighbors (sv, t, sv[vi]);
if (adjacentVertices.Count != 0)
{
dx = 0.0f;
dy = 0.0f;
dz = 0.0f;
for (int j=0; j<adjacentVertices.Count; j++)
{
dx += adjacentVertices[j].x;
dy += adjacentVertices[j].y;
dz += adjacentVertices[j].z;
}
wv[vi].x = dx / adjacentVertices.Count;
wv[vi].y = dy / adjacentVertices.Count;
wv[vi].z = dz / adjacentVertices.Count;
}
}
return wv;
}
:

, «» . , . , .
(HC-algorithm).
() .
:
â . , , , :
, :
.
. .
, . «» .
:

, ( ) «» .
Hololens , . , , , .
Extents
, , .
, , (, Azure Kinect Snapdragon). .