reckfellENGINE

VoxelMesherTransvoxel

Создание изоповерхностного поколения (слизистых вокселей) с использованием Трансвоксель(https://transvoxel.org/) алгоритм.

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

Создание изоповерхностного поколения (слизистых вокселей) с использованием Трансвоксель(https://transvoxel.org/) алгоритм.

Использование Трансвоксель(https://transvoxel.org/) алгоритм для многоугольного использования гладких вокселей. Примечание: если вы хотите использовать LOD, вам понадобится специальный код вершины для правильной обработки швов (иными словами, они будут давать тонкие листы между кусками). [url]https://voxel-tools.readthedocs.io/en/latest/smooth_terrain/#transvoxel[/url] или демос с гладким рельефом для получения дополнительной информации.

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

Конструкторы1

VoxelMesherTransvoxelКонструктор
# VoxelMesherTransvoxel
C#
public VoxelMesherTransvoxel();

Свойства7

EdgeClampMarginСвойство
# EdgeClampMargin
C#
public float EdgeClampMargin { get; set; }

При расчете марширующей кубической клетки вершины могут размещаться где-либо на краях клетки, в том числе очень близко к углам. Это может привести к очень тонкому или небольшому треугольнику, что может быть проблемой, особенно для некоторых физических двигателей. Это расстояние представляет собой минимальное расстояние от углов, ниже которого вершины будут зажиматься к нему. Увеличение этого значения может снизить качество сетки, вводящей небольшие хребты. Это состояние не может быть меньше 0 (в этом случае не происходит зажима) и не может превышать 0,5 (в этом случае не происходит интерполяции, поскольку вершины всегда размещаются посередине краев).

MeshOptimizationEnabledСвойство
# MeshOptimizationEnabled
C#
public bool MeshOptimizationEnabled { get; set; }
MeshOptimizationErrorThresholdСвойство
# MeshOptimizationErrorThreshold
C#
public float MeshOptimizationErrorThreshold { get; set; }
MeshOptimizationTargetRatioСвойство
# MeshOptimizationTargetRatio
C#
public float MeshOptimizationTargetRatio { get; set; }
TexturesIgnoreAirVoxelsСвойство
# TexturesIgnoreAirVoxels
C#
public bool TexturesIgnoreAirVoxels { get; set; }
TexturingModeСвойство
# TexturingMode
C#
public VoxelMesherTransvoxel.TexturingModeEnum TexturingMode { get; set; }
TransitionsEnabledСвойство
# TransitionsEnabled
C#
public bool TransitionsEnabled { get; set; }

Методы15

BuildTransitionMeshArrayMesh
# BuildTransitionMesh
C#
public ArrayMesh BuildTransitionMesh(VoxelBuffer voxelBuffer, int direction);

Этот метод используется главным образом для испытаний.

Параметры
ИмяТипПо умолчанию
voxelBufferVoxelBuffer—
directionint—
Возвращает ArrayMesh
GetEdgeClampMarginfloat
# GetEdgeClampMargin
C#
public float GetEdgeClampMargin();
Возвращает float
GetMeshOptimizationErrorThresholdfloat
# GetMeshOptimizationErrorThreshold
C#
public float GetMeshOptimizationErrorThreshold();
Возвращает float
GetMeshOptimizationTargetRatiofloat
# GetMeshOptimizationTargetRatio
C#
public float GetMeshOptimizationTargetRatio();
Возвращает float
GetTexturesIgnoreAirVoxelsbool
# GetTexturesIgnoreAirVoxels
C#
public bool GetTexturesIgnoreAirVoxels();
Возвращает bool
GetTexturingModeVoxelMesherTransvoxel.TexturingModeEnum
# GetTexturingMode
C#
public VoxelMesherTransvoxel.TexturingModeEnum GetTexturingMode();
Возвращает VoxelMesherTransvoxel.TexturingModeEnum
GetTransitionsEnabledbool
# GetTransitionsEnabled
C#
public bool GetTransitionsEnabled();
Возвращает bool
IsMeshOptimizationEnabledbool
# IsMeshOptimizationEnabled
C#
public bool IsMeshOptimizationEnabled();
Возвращает bool
SetEdgeClampMarginvoid
# SetEdgeClampMargin
C#
public void SetEdgeClampMargin(float margin);
Параметры
ИмяТипПо умолчанию
marginfloat—
SetMeshOptimizationEnabledvoid
# SetMeshOptimizationEnabled
C#
public void SetMeshOptimizationEnabled(bool enabled);
Параметры
ИмяТипПо умолчанию
enabledbool—
SetMeshOptimizationErrorThresholdvoid
# SetMeshOptimizationErrorThreshold
C#
public void SetMeshOptimizationErrorThreshold(float threshold);
Параметры
ИмяТипПо умолчанию
thresholdfloat—
SetMeshOptimizationTargetRatiovoid
# SetMeshOptimizationTargetRatio
C#
public void SetMeshOptimizationTargetRatio(float ratio);
Параметры
ИмяТипПо умолчанию
ratiofloat—
SetTexturesIgnoreAirVoxelsvoid
# SetTexturesIgnoreAirVoxels
C#
public void SetTexturesIgnoreAirVoxels(bool enabled);
Параметры
ИмяТипПо умолчанию
enabledbool—
SetTexturingModevoid
# SetTexturingMode
C#
public void SetTexturingMode(VoxelMesherTransvoxel.TexturingModeEnum mode);
Параметры
ИмяТипПо умолчанию
modeVoxelMesherTransvoxel.TexturingModeEnum—
SetTransitionsEnabledvoid
# SetTransitionsEnabled
C#
public void SetTransitionsEnabled(bool enabled);
Параметры
ИмяТипПо умолчанию
enabledbool—

Поля и константы1

TexturesBlend4Over16Поле · Устарело
# TexturesBlend4Over16
C#
public const long TexturesBlend4Over16 = 1;

Наследие VoxelMesherTransvoxel.TexturingModeEnum.Mixel4S4.

VoxelMesherTransvoxel.TexturingModeEnum

ЗначениеОписание
Mixel4S4 = 1

Предполагается, что воксель будет иметь 4 4-битных индекса, упакованных в 16-битные значения в VoxelBuffer.ChannelId.ChannelIndices, и 4 4-битных веса в VoxelBuffer.ChannelId.ChannelWeights. Добавить текстовую информацию в качестве 4 индексов текстуры и 4 весов, кодированных в CUSTOM1.xy в осколках оттенков, где х и у содержат 4 упакованных 8-битных значения. В тех случаях, когда более четырех текстуров пересекаются в зоне 2x2x2 вокселя, треугольники в этой области будут использовать только четыре индекса с самым высоким весом. Для того чтобы сделать это, требуется заказный тендер, обычно с текстурными массивами для легко индексации текстуров.

None = 0

Отключить текстовую информацию. Этот режим является самым быстрым, если вы можете использовать тендер для процедурного применения текстур.

SingleS4 = 2

Ожидает, что воксель будет иметь 8-битный индекс текстуры VoxelBuffer.ChannelId.ChannelIndices Канал. Добавить текстовую информацию в качестве 4 индексов текстуры и 4 весов, кодированных в CUSTOM1.xy в осколках оттенков, где х и у содержат 4 упакованных 8-битных значения. В тех случаях, когда более четырех текстуров пересекаются в зоне 2x2x2 вокселя, треугольники в этой области будут использовать только четыре индекса с самым высоким весом. Для того чтобы сделать это, требуется заказный тендер, обычно с текстурными массивами для легко индексации текстуров.

Документация Reckfell EngineНаверх ↑
БЫСТРЫЙ ПЕРЕХОДНачало работыEntity и иерархияC# & .NET 10Сцены и префабы
Руководства и полный API Reckfell K
reckfellENGINE
RECKFELL ACCOUNT

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

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

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