示例#1
0
        /// <summary>
        /// Parsing .ply-encoded 3D points (e.g. "haircut point cloud").
        /// </summary>
        public static AsyncRequest <Vector3[]> PlyToPointsAsync(byte[] plyBytes)
        {
            var request = new AsyncRequestThreaded <Vector3[]> (() => {
                Vector3[] points;
                PlyReader.ReadPointCloudFromPly(plyBytes, out points);
                return(points);
            }, AvatarSdkMgr.Str(Strings.ParsingPoints));

            AvatarSdkMgr.SpawnCoroutine(request.Await());
            return(request);
        }
示例#2
0
        /// <summary>
        /// Parsing .ply data asynchronously into Unity mesh data (vertices, triangles, etc.)
        /// </summary>
        /// <param name="plyBytes">Binary content of .ply file.</param>
        public static AsyncRequest <MeshData> PlyToMeshDataAsync(byte[] plyBytes)
        {
            var request = new AsyncRequestThreaded <MeshData> (() => {
                var meshData = new MeshData();
                PlyReader.ReadMeshDataFromPly(
                    plyBytes,
                    out meshData.vertices,
                    out meshData.triangles,
                    out meshData.uv,
                    out meshData.indexMap
                    );
                return(meshData);
            }, AvatarSdkMgr.Str(Strings.ParsingMeshData));

            AvatarSdkMgr.SpawnCoroutine(request.Await());
            return(request);
        }