2017-07-20 168 views

回答

1

在Unity3D

有一個在統一探戈SDK,使您可以獲取並直接在APK應用程序導出有色網爲例場景創建探戈3D網格或模型。查看Assets \ TangoSDK \ Examples \ Scenes \ ExperimentalMeshBuilderWithColor.unity。

導出點雲數據在APK

我不認爲這是在直接做該SDK的功能,但看看下面的腳本:資產\ TangoSDK \例子\ COMMON \ Scripts \ TangoDynamicMesh.cs,更準確地說是將TangoDynamicMesh導出爲OBJ文件格式的函數public void ExportMeshToObj(string filepath)

您可以創建一個類似的腳本,從TangoPointCloud.m_mesh獲取值而不是TangoDynamicMesh,以將您的pointcloud作爲OBJ文件導出。

也有看看這個問題:How do I export Point Cloud Data (Project Tango)

在Unity

創建從三維點的網狀創建從三維點的網狀並不那麼容易,也沒有簡單的方法來做到這一點在統一。從導出的OBJ點雲中,可以使用外部工具,如Point Cloud LibraryMeshlab

0

您可以通過點擊這張example獲得點雲數據。設立的一切,在指南後,您就可以輕鬆搞定所有座標點:

private Vector3[] GetPointCloudData() 
{ 
    TangoPointCloud pointCloud = FindObjectOfType<TangoPointCloud>(); 
    return pointCloud.m_points; 
} 

然而,這樣,你就只得到屬於您的設備屏幕上當前可見點。

一旦它們發送到服務器,創建一個包含遊戲對象網和借鑑點:

public void CreateMesh(Vector3[] points) 
{ 
    Util.Debug("Drawing..."); 
    mesh.Clear(); 

    int[] indecies = new int[points.Length]; 
    Color[] colors = new Color[points.Length]; 
    for (int i = 0; i < points.Length; ++i) 
    { 
     indecies[i] = i; 
     colors[i] = Color.green; 
    } 

    mesh.vertices = points; 
    mesh.colors = colors; 
    mesh.SetIndices(indecies, MeshTopology.Points, 0); 

} 

注意,顏色是硬編碼的,我沒從點雲數據得到它們。

對於提取網格,你可以按照這個example

相關問題