使い方

PCDをファイルから読み込む

PCD LoadFromFile( path, option )

try
{
    PCDLib.PCD pcd = PCDLib.PCD.LoadFromFile("example.pcd");

    Debug.Log("Number of points : " + pcd.pc.vertices);
    if( pcd.points > 0 )
        Debug.Log("First point : " + pcd.pc.vertices[0]);
}
catch( System.Exception e )
{
    Debug.LogException(e);
}

コルーチンを使用してPCDをファイルから読み込む

IEnumerator LoadFromFileRoutine( onFinished, path, option, monitor )

void Start()
{
    StartCoroutine(PCDLib.PCD.LoadFromFileRoutine( _OnFinished, "Assets/a.pcd"));
}

void _OnFinished( PCDLib.LoadResult result )
{
    if( result.result == PCDLib.LoadResultCode.Successed )
    {
        Debug.Log("Load Success");

        PCDLib.PCD pcd = result.pcd;
        Debug.Log("Number of points : " + pcd.points);
    }
    else
    {
        Debug.LogError("Failed Load " + result.msg);
    }
}

PCDをファイルへ書き込む

void WriteToFile( pcd, path, option, writeColor )

try
{
    //PCDLib.PCD pcd;
    PCDLib.PCD.WriteToFile(pcd, "write.pcd");
    Debug.Assert(System.IO.File.Exists("write.pcd"));
}
catch (System.Exception e)
{
    Debug.LogException(e);
}

PCDからメッシュを生成する

//PCDLib.PCD pcd;
Mesh mesh = pcd.pc.ToMesh();
Debug.Log("mesh.vertexCount " + mesh.vertexCount);

PCDをメッシュとしてインポートする

.pcdをAssets以下に配置するとMeshアセットとしてインポートされます.

_images/project.png _images/inspector.png