VoxelToolTerrain
Осуществление VoxelTool специально для использования в VoxelTerrain.
Осуществление VoxelTool специально для использования в VoxelTerrain.
Функции этого класса являются специфическими: VoxelTerrainДля общих функций вы также можете проверить VoxelTool.
Это не урок, чтобы спешить в одиночку, ты можешь получить его от VoxelTerrain с использованием get_voxel_tool() Метод.
Объявления сверены с C# SDK 1.0.0. Раскройте имя, чтобы увидеть сигнатуры и описание.
Методы3
DoHemispherevoid
public void DoHemisphere(Vector3 center, float radius, Vector3 flatDirection, float smoothness = 0f);Оперирует в полушарии, где flat_direction указывает от плоской поверхности (как обычное). smoothness определяет, каким образом плоская часть смешивается с закругленной частью с более высокими значениями, создающими более мягкие закругленные края.
| Имя | Тип | По умолчанию |
|---|---|---|
center | Vector3 | — |
radius | float | — |
flatDirection | Vector3 | — |
smoothness | float | 0f |
ForEachVoxelMetadataInAreavoid
public void ForEachVoxelMetadataInArea(Aabb voxelArea, Callable callback);Выполняет функцию для каждого вокселя, содержащего метаданные в данной области. В ответ на звонок приводятся два аргумента: позиция вокселя (вокселя).Vector3i), воксельные метаданные (Variant). ВАЖНЕЙШИЙ: Вводить новые или удалять метаданные внутри этой функции не разрешается.
| Имя | Тип | По умолчанию |
|---|---|---|
voxelArea | Aabb | — |
callback | Callable | — |
RunBlockyRandomTickvoid
public void RunBlockyRandomTick(Aabb area, int voxelCount, Callable callback, int batchCount = 16, uint tagsMask = 4294967295);Выбирает случайные воксели в пределах указанной области. Если воксель имеет модели VoxelBlockyModel.RandomTickable установлен в true и VoxelBlockyModel.TagsMask совпадает с любым битом tags_mask, выполняет функцию на них. Это работает только на местности VoxelMesherBlocky.
В ответ на звонок приводятся два аргумента: позиция вокселя (вокселя).Vector3i), значение вокселя (int).
Цель batch_count - оптимизация процесса отбора с помощью внутренней структуры данных. Алгоритм состоит в следующем: voxel_count разделены на партии длины batch_count. Для каждой партии, пересекаемой случайным блоком area выбирается, и batch_count Воксели отбираются в них произвольно. voxel_count не делимым batch_countДля выполнения оставшейся части будет выбран дополнительный блок.
batch Если эта функция используется в каждом раме во времени, то это отклонение должно усреднеться. Если вы не хотите никакого отклонения, настраивайте batch_count к 1.
| Имя | Тип | По умолчанию |
|---|---|---|
area | Aabb | — |
voxelCount | int | — |
callback | Callable | — |
batchCount | int | 16 |
tagsMask | uint | 4294967295 |