VoxelStream
Загрузка и сбережение блоков вокселя, главным образом с использованием файлов.
Загрузка и сбережение блоков вокселя, главным образом с использованием файлов.
Объявления сверены с C# SDK 1.0.0. Раскройте имя, чтобы увидеть сигнатуры и описание.
Свойства2
CompressionModeСвойство
public VoxelBlockSerializer.Compression CompressionMode { get; set; }Уточняет, какой алгоритм сжатия используется при сбережении блоков. Это может уменьшить размер накопительных файлов за счет экономии/загрузки. Существующие блоки, ранее использовавшиеся в другом режиме сжатия, могут по-прежнему загружаться и использовать новый режим, если он будет сохранен снова.
SaveGeneratorOutputСвойство
public bool SaveGeneratorOutput { get; set; }Если блок не может быть найден в потоке и он генерируется, то генерируемый блок немедленно будет сохранен в потоке. Это может быть использовано, если генератор слишком дорог, чтобы работать на мухе (как и Minecraft), но для этого потребуется больше дисков (число I/O и пространства) и увеличить сетевой трафик. Если эта установка отключена, то будут сохранены только модифицированные блоки.
Методы9
Flushvoid
public void Flush();Некоторые потоки могут использовать тайник для улучшения работы частых I/O.
Это не следует называть часто, если результативность является проблемой. Может быть использовано, если вы требуете, чтобы все данные были записаны сейчас. Заметьте, что реализация уже должна делать это автоматически при разрушении ресурса или изменении его конфигурации. Некоторые реализации могут ничего не делать, если у них нет тайника.
Обратите внимание на то, что земля спасает асинхронно, так что смыв не всегда может достичь вашей цели, если задачи по спасению все еще в очереди и не вызвался VoxelStream Посмотри. VoxelTerrain.SaveModifiedBlocks или VoxelLodTerrain.SaveModifiedBlocks.
GetBlockSizeVector3
public Vector3 GetBlockSize();Vector3GetCompressionModeVoxelBlockSerializer.Compression
public VoxelBlockSerializer.Compression GetCompressionMode();VoxelBlockSerializer.CompressionGetSaveGeneratorOutputbool
public bool GetSaveGeneratorOutput();boolGetUsedChannelsMaskint
public int GetUsedChannelsMask();intLoadVoxelBlockVoxelStream.ResultCode
public VoxelStream.ResultCode LoadVoxelBlock(VoxelBuffer outBuffer, Vector3I blockPosition, int lodIndex);out_bufferБлок вокселей должен быть предварительно созданным случаем (а не пустым).
block_positionМестоположение блока в координатах блока в пределах указанного LOD.
| Имя | Тип | По умолчанию |
|---|---|---|
outBuffer | VoxelBuffer | — |
blockPosition | Vector3I | — |
lodIndex | int | — |
VoxelStream.ResultCodeSaveVoxelBlockvoid
public void SaveVoxelBlock(VoxelBuffer buffer, Vector3I blockPosition, int lodIndex);buffer: Блок вокселей для сохранения. Настоятельно рекомендуется не упоминать эти данные после этого, поскольку потоки могут хранить их, а сохраненные данные должны представлять либо снимки (копии), либо последние ссылки на данные после уничтожения объема, к которому они принадлежали.
block_positionМестоположение блока в координатах блока в пределах указанного LOD.
| Имя | Тип | По умолчанию |
|---|---|---|
buffer | VoxelBuffer | — |
blockPosition | Vector3I | — |
lodIndex | int | — |
SetCompressionModevoid
public void SetCompressionMode(VoxelBlockSerializer.Compression mode);| Имя | Тип | По умолчанию |
|---|---|---|
mode | VoxelBlockSerializer.Compression | — |
SetSaveGeneratorOutputvoid
public void SetSaveGeneratorOutput(bool enabled);| Имя | Тип | По умолчанию |
|---|---|---|
enabled | bool | — |
VoxelStream.ResultCode
| Значение | Описание |
|---|---|
BlockFound = 2 | Блок был найден. |
BlockNotFound = 1 | Блок не был найден, и проситель может отказаться от использования генератора, если он есть. |
Error = 0 | При загрузке блока произошла ошибка. Запрос отменяется. |