memomem

備忘録・メモ置き場

C# interface 時間での進行・再生

/// <summary>
///時間での制御可能なインターフェース
/// </summary>
public interface ITimePlayable
{
    bool IsPlaying { get; }
    bool IsLoop { get; }
    // 経過時間
    float CurrentTime { get; }
    // 経過パーセンテージ
    float Progress { get; }
    // 全体の尺
    float Length { get; }

    void Process(float deltaTime);
    // 指定時間での更新。 Process内部でも使用される。Seekとして使う。
    void Evaluate(float timeSec);
    void Play();
    void Pause();
    void Stop();
    void Rewind();
}

github.com

TaskのCancel

EzTweenをテストしていて、内部のループ処理で

await Task.Delay(33, _token);
_token.ThrowIfCancellationRequested();

みたいな書き方をしていたんだけど、 Cancelのタイミングで処理が異なる。

await Task.Delay(33, _token);

Delay中にキャンセル発生だと、

System.Threading.Tasks.TaskCanceledException: A task was canceled.

が発生

_token.ThrowIfCancellationRequested();

のタイミングでキャンセルが発生すると、

 System.OperationCanceledException: The operation was canceled.

が発生。

TODO: 自作のClassで TaskCanceledException を発生させる方法はあるのか調べる。

blog.xin9le.net

PointCloud の為の各種ツールやデータ

点群データ

渋谷のデータ 3dcel.com

静岡のデータ www.geospatial.jp 様々な撮影での.lasデータ。CloudCompareで閲覧可能

ツール

CloudCompare

www.danielgm.net

kuwamai.hatenablog.com

MeshLab

PointCloud等の表示や変換には下記フリーのMeshLabがMacもWinもあり便利

渋谷のデータは開けなかった

www.meshlab.net

qiita.com

参考

club.informatix.co.jp

rightcode.co.jp

PointCloud vol.3 Visual Effect Graph を使用

PointCache (.pcache) を作成する方法

Visual Effect Graph を使用して描画する方法

UnityのPointCacheはどうやらファイルサイズが1,048,576KBを超えると読み込めないようです。

ファイルを分割する必要がある。

ファイル分割したい場合はEmEditorで簡単に行えます

www.docswell.com

lilea.net

Pcxを使いテクスチャデータを生成する方法

qiita.com