Найти тему
Гайды от Рольфа

Minecraft. Гайд по созданию уникальных ресурспаков - часть 4.

Приветствую, милсдари-читатели! В прошлой статье мы посмотрели на Vertical и Horizontal CTM. Теперь же, как и обещал, я предлагаю взглянуть на более простые - но не менее интересные методы CTM.

Random CTM

Random CTM - это вид соединённых текстур, который случайным образом изменяет текстуры блока или блоков на заданные.

В качестве примера я решил сделать редкую текстуру дубового бревна с веткой:

Просто дуб с веткой, ничего необычного.
Просто дуб с веткой, ничего необычного.

Как же мне его теперь добавить? Да очень просто!

Всё, что нам нужно - столько текстур, сколько вам хочется, и один файл .properties с вот таким наполнением:

Заполненный файл .properties для Random CTM
Заполненный файл .properties для Random CTM
method=random
tiles=0 1
matchTiles=log_oak
weights=20 1

Теперь разберём это.

method - всё понятно, как и tiles. Однако, есть нюанс.

Я рекомендую записывать tiles не через дефис, как обычно, а отдельно: это пригодится нам для параметра weights - о нём позже.

Вместо matchBlocks в данном случае я использовал matchTiles, потому что у бревна дуба есть две разные текстуры: стороны и "внутренность", и мне необходимо затронуть именно стороны. В иных случаях вы, конечно, можете использовать matchBlocks.

weights - новый для нас параметр. Он определяет вероятность появления текстуры и соотносится с ними, то есть текстуре 0 соответствует число 20, числу 1 число 1 и так далее. Таким образом, появление бревна с сучком в данном случае составляет 1 к 20.

Однако, в этом случае каждая сторона блока получает текстуру независимо.

"Хорошо, а что, если нужно, чтобы все стороны блока были одинаковыми?" - спросите вы, а я отвечу: для этого есть дополнительный параметр symmetry

У symmetry есть три доступных значения:

symmetry=none
ИЛИ opposite
ИЛИ all

None означает, что все стороны блока будут иметь совершенно случайную текстуру из обозначенных и стоит по умолчанию, opposite гарантирует, что противоположные стороны получат одинаковую текстуру, а all - что все стороны блока будут иметь одинаковую текстуру.

Итак, мы всё сделали: у нас есть текстура простого дуба, текстура дуба с веточкой и наш файл .properties

Готовый метод Random CTM
Готовый метод Random CTM

Давайте же проверим, как это смотрится!

Random CTM: До/После
Random CTM: До/После

Как видите, этот метод прост и понятен, но имеет множество применений) Идём дальше!

Top CTM

Top CTM ещё проще, чем Random и используется, если мы хотим, чтобы верхний блок отличался чем-либо от таких же блоков под ним. Рассмотрим пример песчаника.

Демонстрация Top CTM
Демонстрация Top CTM

С первого взгляда, разницу можно и не увидеть, однако этот метод имеет свои области применения.

Задаётся в .properties он так:

.properties с Top CTM
.properties с Top CTM
method=top
metadata=0
tiles=1

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

Текстура без характерной верхней границы песчаника.
Текстура без характерной верхней границы песчаника.

Пропишем и применим данный метод:

Песчаник с применённым Top CTM.
Песчаник с применённым Top CTM.

Как видите, он незамысловат, однако весьма красив, если найти ему должное применение.

В следующий раз я расскажу об overlay CTM, и о том, как правильно его применить.

Я буду очень признателен, если вы подпишетесь на канал, поставите лайк и оставите свой комментарий, будь то критика или дельное предложение.

До скорых встреч!

Навигационный модуль:

Предыдущая часть - ТЫК!

Следующая часть - ТЫК!