reckfellENGINE

VoxelGeneratorMultipassCB

Скрипящий генератор работает на колоннах блоков и нескольких проходов.

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

Скрипящий генератор работает на колоннах блоков и нескольких проходов.

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

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

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

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

Свойства3

ColumnBaseYBlocksСвойство
# ColumnBaseYBlocks
C#
public int ColumnBaseYBlocks { get; set; }

Самая низкая высота колонн, в блоках.

ColumnHeightBlocksСвойство
# ColumnHeightBlocks
C#
public int ColumnHeightBlocks { get; set; }

Высота колонн, по блокам.

PassCountСвойство
# PassCount
C#
public int PassCount { get; set; }

Количество столбцов пропусков будет проходить до того, как они будут считаться полностью генерированными.

Методы12

DebugGenerateTestColumnReckfell.Collections.Array<VoxelBuffer>
# DebugGenerateTestColumn
C#
public Reckfell.Collections.Array<VoxelBuffer> DebugGenerateTestColumn(Vector2I columnPositionBlocks);

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

Параметры
ИмяТипПо умолчанию
columnPositionBlocksVector2I—
Возвращает Reckfell.Collections.Array<VoxelBuffer>
GetColumnBaseYBlocksint
# GetColumnBaseYBlocks
C#
public int GetColumnBaseYBlocks();
Возвращает int
GetColumnHeightBlocksint
# GetColumnHeightBlocks
C#
public int GetColumnHeightBlocks();
Возвращает int
GetPassCountint
# GetPassCount
C#
public int GetPassCount();
Возвращает int
GetPassExtentBlocksint
# GetPassExtentBlocks
C#
public int GetPassExtentBlocks(int passIndex);

Получает, сколько блоков пропуска может получить вокруг него (примечание: блок равен 16x16x16 вокселам по умолчанию).

Параметры
ИмяТипПо умолчанию
passIndexint—
Возвращает int
SetColumnBaseYBlocksvoid
# SetColumnBaseYBlocks
C#
public void SetColumnBaseYBlocks(int y);
Параметры
ИмяТипПо умолчанию
yint—
SetColumnHeightBlocksvoid
# SetColumnHeightBlocks
C#
public void SetColumnHeightBlocks(int y);
Параметры
ИмяТипПо умолчанию
yint—
SetPassCountvoid
# SetPassCount
C#
public void SetPassCount(int count);
Параметры
ИмяТипПо умолчанию
countint—
SetPassExtentBlocksvoid
# SetPassExtentBlocks
C#
public void SetPassExtentBlocks(int passIndex, int extent);

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

Параметры
ИмяТипПо умолчанию
passIndexint—
extentint—
_GenerateBlockFallbackvoid
# _GenerateBlockFallback
C#
public virtual void _GenerateBlockFallback(VoxelBuffer outBuffer, Vector3I originInVoxels);

Призвал каждый блок генерировать над или ниже региона, основанного на столбцах. Например, вы можете принять решение генерировать воздух выше и заложить фундамент ниже.

Параметры
ИмяТипПо умолчанию
outBufferVoxelBuffer—
originInVoxelsVector3I—
_GeneratePassvoid
# _GeneratePass
C#
public virtual void _GeneratePass(VoxelToolMultipassGenerator voxelTool, int passIndex);

Один раз за один пропуск по каждой колонке блоков. Прошедший voxel_tool Для получения информации о зоне для создания и заполнения/отредактирования этой области с помощью вокселей. Важно: не сохранять этот объект в переменной для последующего повторного использования. Вы можете использовать его только в текущем вызове к этому методу. Вы можете использовать pass_index Например, 0 может быть основанием для зашумления Перлина, 1 может сажать деревья и другие конструкции.

######поглощаемые_канели_маскированные

Параметры
ИмяТипПо умолчанию
voxelToolVoxelToolMultipassGenerator—
passIndexint—
_GetUsedChannelsMaskint
# _GetUsedChannelsMask
C#
public virtual int _GetUsedChannelsMask();

Используйте это, чтобы указать, какие каналы будет использовать ваш генератор. Он возвращает битмаск, так что, например, вы можете предоставить такую информацию: (1 << channel1) | (1 << channel2)

Возвращает int

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

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

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

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

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