メインコンテンツまでスキップ

Standalone runtime

ドキュメントバージョン: 0.6.1

Standalone runtime は通常の C# (LogicCuteGuy.DigHoleIt.Standalone) です。VRChat SDK がない project、または DIGHOLEIT_STANDALONE define を追加した VRChat project で compile されます。

Zone を Bake して Add Standalone Runtime を押します。

DigZoneRuntimeStandalone​

Member動作
Dig(world, radius)World position を球形に掘ります。
Add(world, radius)球形に土を追加します。
Paint(world, radius, layer)Voxel layer を paint します。
LocalEdit(...)General edit。LocalEditRequested を発火して適用します。
ApplyEdit(long)Network 等で受け取った packed edit を適用します。
LoadEdits(edits)Bake 状態へ戻し、edit list を replay します。
ResetToBaked()Bake 状態へ戻して log を消去します。
Raycast(...)Physics を使わず grid を ray march します。
EditLog最後の reset 以降の全 edit。

DigToolStandalone は camera から ray を飛ばし、左 mouse で dig、右で add、middle で paint します。

Zone 内の terrain tree と detail は、足元の surface が掘られた、または埋められたとき非表示になり、ResetToBaked() で戻ります。Detail renderer は MaterialPropertyBlock の live foliage mask を使うため material asset は変更しません。

Save と multiplayer​

Edit は 1 つの long です。Save には EditLog を保存し、load 時に LoadEdits を呼びます。Multiplayer では LocalEditRequested を network で送り、受信側で ApplyEdit を同じ順序で実行します。Late joiner には full EditLog を送ります。Dig と Add は順序を入れ替えられません。