press = Keyboard.current[Key.A].isPressed; down = Keyboard.current[Key.A].wasPressedThisFrame; up = Keyboard.current[Key.A].wasReleasedThisFrame;
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(); }
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
を発生させる方法はあるのか調べる。
PointCloud の為の各種ツールやデータ
点群データ
渋谷のデータ 3dcel.com
静岡のデータ www.geospatial.jp 様々な撮影での.lasデータ。CloudCompareで閲覧可能
ツール
CloudCompare
MeshLab
PointCloud等の表示や変換には下記フリーのMeshLabがMacもWinもあり便利
渋谷のデータは開けなかった
参考
PointCloud vol.3 Visual Effect Graph を使用
PointCache (.pcache) を作成する方法
Visual Effect Graph を使用して描画する方法
UnityのPointCacheはどうやらファイルサイズが1,048,576KBを超えると読み込めないようです。
ファイルを分割する必要がある。
ファイル分割したい場合はEmEditorで簡単に行えます