reckfellENGINE

VoxelToolLodTerrain

Осуществление VoxelTool специально для использования в VoxelLodTerrain.

На этой странице
class VoxelToolLodTerrainReckfellSharpНаследует VoxelTool

Осуществление VoxelTool специально для использования в VoxelLodTerrain.

Функции этого класса являются специфическими: VoxelLodTerrainДля общих функций вы также можете проверить VoxelTool. Это не урок, чтобы спешить в одиночку, ты можешь получить его от VoxelLodTerrain с использованием get_voxel_tool() Метод.

Объявления сверены с C# SDK 1.0.0. Раскройте имя, чтобы увидеть сигнатуры и описание.

Методы9

DoGraphvoid
# DoGraph
C#
public void DoGraph(VoxelGeneratorGraph graph, Transform3D transform, Vector3 areaSize);

Использование a VoxelGeneratorGraph как щетка, которая позволяет программировать операции SDF, выполняемые щеткой. На графике должны иметься вход SDF и выход SDF, и предпочтительно работать с использованием формы единицы размера. SdfSphere узел с радиусом 1 с радиусом Min , чтобы объединить его с серьёзным СДФ. См. также документация в режиме онлайн.

Параметры
ИмяТипПо умолчанию
graphVoxelGeneratorGraph—
transformTransform3D—
areaSizeVector3—
DoHemispherevoid
# DoHemisphere
C#
public void DoHemisphere(Vector3 center, float radius, Vector3 flatDirection, float smoothness = 0f);

Оперирует в полушарии, где flat_direction указывает от плоской поверхности (как обычное). smoothness определяет, каким образом плоская часть смешивается с закругленной частью с более высокими значениями, создающими более мягкие закругленные края.

Параметры
ИмяТипПо умолчанию
centerVector3—
radiusfloat—
flatDirectionVector3—
smoothnessfloat0f
DoSphereAsyncvoid
# DoSphereAsync
C#
public void DoSphereAsync(Vector3 center, float radius);
Параметры
ИмяТипПо умолчанию
centerVector3—
radiusfloat—
GetRaycastBinarySearchIterationsint
# GetRaycastBinarySearchIterations
C#
public int GetRaycastBinarySearchIterations();
Возвращает int
GetVoxelFInterpolatedfloat
# GetVoxelFInterpolated
C#
public float GetVoxelFInterpolated(Vector3 position);
Параметры
ИмяТипПо умолчанию
positionVector3—
Возвращает float
RunBlockyRandomTickvoid
# RunBlockyRandomTick
C#
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.

Параметры
ИмяТипПо умолчанию
areaAabb—
voxelCountint—
callbackCallable—
batchCountint16
tagsMaskuint4294967295
SeparateFloatingChunksReckfell.Collections.Array
# SeparateFloatingChunks
C#
public Reckfell.Collections.Array SeparateFloatingChunks(Aabb box, Entity parentNode);

Превращает плавучие воксели в Жёсткие Боди. В коробке обнаруживаются плавучие воксели. Коробка относительно объема вокселя. VoxelTool , прикреплен. Чунки должны быть полностью размещены в этой коробке, чтобы считаться плавающими. Чулки удаляются из истоков и преобразуются в Жесткие Боды с выпуклыми фигурами столкновения. Они добавляются в качестве ребенка от установленного узла. Они начинают "кинематику" и поворачиваются "жестко" через короткое время, чтобы позволить местности обновлять свои коллайдеры после удаления (другим образом они будут перекрывать друг друга). Функция возвращает целый ряд этих жестких тел, которые вы можете использовать для привязки к ним дальнейшего поведения (например, исчезая через некоторое время или расстояние). Этот алгоритм может быстро стать дорогим, так что коробка не должна быть слишком большой.

Параметры
ИмяТипПо умолчанию
boxAabb—
parentNodeEntity—
Возвращает Reckfell.Collections.Array
SetRaycastBinarySearchIterationsvoid
# SetRaycastBinarySearchIterations
C#
public void SetRaycastBinarySearchIterations(int iterations);

Выбирает случайные воксели в заданной области и выполняет функцию на них. Это работает только для местности с использованием VoxelMesherBlocky. Только волки, где Voxel.random_tickable это true будет выбран. В ответ на звонок приводятся два аргумента: позиция вокселя (вокселя).Vector3i), значение вокселя (int). Будет рассматриваться только воксель в LOD 0.

Параметры
ИмяТипПо умолчанию
iterationsint—
StampSdfvoid · Устарело
# StampSdf
C#
public void StampSdf(VoxelMeshSdf meshSdf, Transform3D transform, float isolevel, float sdfScale);
Параметры
ИмяТипПо умолчанию
meshSdfVoxelMeshSdf—
transformTransform3D—
isolevelfloat—
sdfScalefloat—
Документация Reckfell EngineНаверх ↑
БЫСТРЫЙ ПЕРЕХОДНачало работыEntity и иерархияC# & .NET 10Сцены и префабы
Руководства и полный API Reckfell K
reckfellENGINE
RECKFELL ACCOUNT

Вход в аккаунт

Войдите в аккаунт Reckfell.

Один аккаунт для всей платформы Reckfell.