Первый Русский Гайд по CTM (Connected Textures) - Форум
  • Страница 1 из 2
  • 1
  • 2
  • »
Первый Русский Гайд по CTM (Connected Textures)
skShaD
skShaD

CTM - Или как сделать МайнКрафт еще красивее.



Крайне важно: без MCPatcher'а и Optifin'а и настройки: Connected Textures во вкладке Quality - CTM работать не будет.


По многочисленным просьбам моих последователей.
Актуально для версии МайнКрафта +1.5 / 1.6


Данный гайд написан целиком и полностью на базе моего личного практического опыта, пилю я текстур-паки уже начиная с бета-версии МайнКрафта, и уже немного преуспел в этом направлении, и хочу поделится со своими читателями и последователями всеми накопленными знаниями.

На стримах, в личке, в скайпе мне часто задают вопрос - как же мне удалось добавить какие-то интересные красивые блоки, которых нет вообще нигде, - и сегодня я вам расскажу, как я это делаю, - чтобы каждый читающий смог сделать свой собственный офигенный, красивый текстур-пак с множеством дополнительных и рандомных блоков.

Ну и пара слов для любителей плагиата: данный гайд авторский, существует в единичном экземпляре, если вы его читаете не на проекте InMineCraft.ru, тога вы имеете дело с весьма низменными людьми, кто не ценит чужой труд.
Так же большая просьба ко всем неравнодушным, - если вдруг заметите дубль, пожалуйста, сообщите мне об этом, можно прямо в этом треде, спасибо.

0. Введение.



ID - Айдишка блока, у каждого блока она своя уникальная.
Metadata - Метадата, у каждой айдишки значение от 0 до 15.

Все МайнКрафте закручено на цифрах, думаю ты уже использовал что-то вроде воксельGET/NEI/TMI - и ни раз замечал, что все блоки/итемы идут под номерами, так вот, - у каждого блока есть своя уникальная айдишка, к примеру у кобла это - 4, у каменного кирпича - 98, у досок - 5. Все их можно найти в вики.

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

Простой пример: все мы знаем, что у шерсти есть 16 цветов, используя тот же WorldEdit или Essentials мы для получения, скажем, красной шерсти, - вбиваем айдишку 35:14 - в итоге у нас в руках оказывается та самая нужная нам красная шерсть. В данном случаи :14 - это та самая метадата, которая говорит МайнКрафту, что именно этому блоку присваивается красная текстурка.

А теперь сразу возникает вопрос, - нахрена нам это знать? - Ответ прост, зная айдишку и метадату блоков, мы с легкостью сможем в последующем менять им текстурки, а те ребята, - которые захотят чего-то большего, - смогут использовать это для добавления "новых блоков".

Кстати, про "новые блоки" - не все метадаты у каждого блока заняты, к примеру у блока 5 - доски, используются первые 4 значения, - которые определяют, что 4:0 - это дубовые доски, 4:1 - сосновые доски, 4:2 - березовые доски, и 4:3 - доски тропических деревьев.

А что тогда с 4:4 - 4:15? - на данный момент значения свободны, и это значит следующее: добавив, скажем, для айдишки 4:7 свою текстурку, мы получим визуально какой-то новый вид блока, который можно будет использовать для каких-то декоративных целей.

1. Важно помнить.



Поскольку CTM - это визуальное изменение МайнКрафта со стороны клиентской части, не стоит забывать о том, что если ты активно строишь какими-то своими "новыми блоками" - все это не смогут увидеть другие игроки майнкрафта, у которых стоит другой текстур-пак, или вовсе он отсутствует.

Так же не стоит забывать о первоначальных свойствах блока, ведь если ты привяжешь на 1:1-1:15 (стоун) текстурки досок и захочешь потом их поджечь, они у тебя никогда не загорятся по понятным причинам :) Посмотри на скриншоты ниже, на них можно увидеть, как выглядят те самые "новые блоки" на разных текстурпаках:

Пример 1:


Пример 2:


Пример 3:


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

2. CTM. Внутренности.



CTM код из себя представляет текстовый файл следующего формата: block.properties в котором прописываются уникальные свойства для каждой айдишки и для каждой метадаты.

Он будет определять, какие будут использоваться спрайты, для какой айдишки они будут применяться, и какой метод наложения будет использоваться. Собственно, выглядят эти базовые параметры так:
tiles=
metadata=
method=

Важные моменты:

1. Все, что связано с CTM - лежит в отдельной папке в корне текстур-пака, она так и называется "ctm":


Внутри этой папки размещаются другие папки, - названия им можно задавать любые, к примеру "newstone", "id98", "noviebloki", "randomizer" (делай названия попроще, чтобы не было путаницы):


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

2. Спрайты, они же "tiles", они же текстуры, - из себя представляют графические файлы формата .png строго заданных размеров: 32x32px / 64x64px / 16x16px и т.д. Названия им задаём в диапазоне от 0.png до 255.png.

Это уже новые алгоритмы 1.5.1 версии, ранее, можно было делать единый спрайт с множеством разных текстурок, но теперь - все они идут по отдельности.

3. Как быть с тем, если мы хотим задать для каждой стороны блока разную текстуру, или же для каждой из 0-15 метадат задать свою собственную текстуру? Для этого мы добавляем в название файла block.properties сразу же после ID-шки буквы из латинского алфавита.

Чтобы было более понятно, я покажу наглядный пример из своего текстур-пака:


6.png - 236.png это те самые спрайты, они же текстуры
block5d.properties - block5p.properties - файлы с CTM кодом, собсно, та самая основа, которая отвечает за наложение спрайтов на блок 5 - т.е. на доски.

4. Теперь самое главное - внутренности нашего файла block.properties. Для этого давайте мы вернемся к прошлому скрину, и откроем, к примеру, файл block5e.properties и уже разглядим, что же там прописано:


- tiles=34-38 - эта строка говорит нам о том, что используются спрайты 34.png-38.png

- metadata=5 - эта строка говорит о том, что вышеуказанные спрайты используются исключительно для 5-ой метадаты, т.е. для блока 4:5

- method=random - это строка говорит о том, что накладываются текстурки на наш с вами блок в произвольном порядке.

5. Наложение текстур на блоки. Накладывать текстуры на блоки мы можем множеством методов, за это отвечает тот самый параметр method=, который может иметь одно из следующих значений:
method={horizontal | vertical | top | random | ctm | repeat | fixed}

Так при использования метода horizontal текстуры будут объединятся между собой по горизонтали, а при методе ctm - будут объединятся со всех сторон (наверняка ты такое уже видел подобное в некоторых текстур-паках, когда ставил ,блоки стекла впритык друг к другу, границы между ними исчезали и он начинал напоминать единое целое, это и есть тот самый ctm метод).

Для закрепления:


- Чтобы запилить для своего текстур-пака ctm - нужно для начала создать в корне текстурпака папку под названием "ctm"
- В ней создать нужное количество папок с любыми названиями для замены базовых текстур или для добавления новых
- Внутрь последних поместить спрайты 0.png-255.png и файлы с CTM кодом block.properties

- CTM код мы пишем в файле block.properties. Если необходимо запилить текстуры сразу для нескольких метадат в рамках одной айдишки, или же для сразу множества сторон блока, - просто добавляем латинские буквы после айдишки.
- Накладывать спрайты(текстуры) мы можем множеством методов: method={horizontal | vertical | top | random | ctm | repeat | fixed}
- Все наши спрайты имеют названия 0.png - 255.png и лежат вместе с файлами block.properties

3. Советы



Конечно после прочтения дикий сумбур в голове, но тут может помочь только практика.

Я крайне советую тебе открыть этот топик - http://www.minecraftforum.net/topic....#index1 там можно найти больше деталей, но, увы, на английском.

Так же советую открыть еще один мини-гайд, и увы, он тоже на английском - https://bitbucket.org/prupe/mcpatcher/raw/master/doc/ctm.properties в нем можно найти практически все параметры для block.properties. - Т.е. все, что касается методов наложения текстур и их особенностей.

Так же рекомендую скачать и просмотреть текстур-пак Сonquest http://www.planetminecraft.com/texture_pack/conquest-32x32/ - в нём CTM используется весьма активно, а так же присутствуют те самые "новые блоки", поэтому так же имеет смысл посмотреть, как все это реализовано.

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

В прошлом, у меня было много головной боли, когда я будучи еще не прошаренным в этих вопросах, начал вешать на блоки песчаника 24:5-24:15 текстуры кобла, а затем дико удивлялся, когда видел свой Эшвиль с других текстур-паков, или же когда открывал динамичную карту.
Не повторяй моих ошибок, - вешай кобл на айдишки кобла и стоуна, или каменного кирпича, - а все деревянное, - на доски ID5 / ID125 - тогда все будет окей.

Кстати, я забыл тебе рассказать о таком не очень приятном моменте. К примеру мы запилили на блок 5:10 какую-то текстуру, взяли в руки этот блок и увидели - что в инвентаре у нас текстура обычных досок, - так будет всегда, и к этому стоит просто привыкнуть.

И второй более не приятный момент. Используя tmi/nei/voxelget мы видим, что половина блоков идет просто с айдишками, а а другая половина имеет помимо айдишек и мета-дату, это касается песчаника, каменного кирпича, досок, полублоков и т.д.

Что это значит? - Те блоки, у которых уже мелькает помимо айдишек - метада :2 / :1 / :15 - их можно с легкостью брать и свободно ставить. С ними меньше проблем и хлопот. Рекомендую все свободные метадаты забивать первоначально именно у этих блоков.

Чего не скажешь о тех блоках, - которые метадату не имеют (имеется ввиду в панельке NEI/TMI/VoxelGET), - это стоун, глоустоун, мшистый булыжник, обсидиан, бэдрок, арбузы, верстаки и т.д.
Если к таким блокам мы привязываем текстурки, - то их можно поставить только при помощи плагинов, взять тот же WorldEdit.

К примеру ты добавил новый вид обсидиана, повесил текстурку на метадату 10, и прописываешь команду чтобы взять этот блок: /i 49:10 - увы, но взять этот блок так не получится. Будет всегда браться 49:0 - как бы ты не пытался, поэтому если ты захочешь поставить такой блок, - используй всю мощь ворлдедита, /repl 49:10 | //set 49:10 | //replace 49:10 и т.д.

4. Практические советы и примеры.



4ый пункт допишу позднее, в нём я детально расскажу, как запилены рандомные и дополнительные блоки конкретно в моём текстур-паке. А пока закину два скриншота, как все это выглядет:





5. UPD! 1.6.4



И вот уже МайнКрафт обновился до 1.6.4 версии, появилось множество новых особенностей и наверняка в связи с этим у многих возникло много вопросов, как же обновить свой текстур-пак с 1.5 версии до ресурспака 1.6+ версии. Сделать это очень просто, и для этого вам потребуется инструмент от MCPatcher'а. В меню выбираете "Convert Texture Pack" а после выбираете свой текстур-пак. После конвертации, его обновленная копия будет находится в папке /resourcepacks.

Какие же особенности в 1.6.4 в плане CTM?
- В первую очередь изменилось расположение: resourcepacks\ваш-ресурспак\assets\minecraft\mcpatcher\ctm

В остальном, - осталась та же механика, за исключением возможности делать сложную многоуровневую систему вложенности текстур. Чтобы было понятнее, покажу на примере.

Допустим мы хотим изменить внешний вид булыжника и каменного кирпича, чтобы нам не путаться в папках, мы можем создать в /ctm папку /Stone, а в ней /id4 (булыжник) и /id98 (каменный кирпич) в итоге вся ветка у нас будет выглядеть следующим образом:

/ctm
-/stone
--/id4
--/id98

После этого просто размещаете внутри папок id4 и id98 свои текстурки вместе с файлами параметров, и при этом вам будет гораздо проще ориентироваться.

--------------------------------

Чтобы еще быстрее вникнуть в данную систему и в тему вложенности папок, я вам покажу ее суть работы на практическом примере.

В своём ресурс-паке я использую массу доп. блоков, многие из них на тему медивала. Для этого я создал папку /ctm/medival - чтобы вынести в нее все те текстуры, которые соответствуют данному стилю и которые имеют исключительно декоративную функцию (данные блоки нельзя поставить ни сурвайвале, ни в креативке без специальных плагинов).

Далее внутри я создал папку /173 - это ID блока, текстуры которого мы будем с вами менять.
Визуально, данный блок из себя будет представлять контейнеры с различными ресурсами. Соответственно, менять мы будем сразу 3и стороны у данного блока с ID173:

- Верхняя часть (текстура ресурса, который находится в контейнере)
- Боковые стороны (текстура древесной фактуры стянутая железом)
- И нижняя часть (текстура древесной фактуры)

Чтобы максимально все упростить, в корне /173 - создаем еще две папки: /top и /sides

Теперь переходим к самому главному - в корне /173 помещаем текстуры нижней части наших с вами конейнеров и файл с параметрами "block173.properties" в котором прописываем:

faces=bottom
tiles=1-3 {номера текстур - которые мы хотим видеть снизу нашего блока}
metadata=0-15
method=random


После этого, в папку /top добавляем текстуры ресурсов и для каждой из них создаём файл параметров: block173{a-z}.properties со следующими свойствами:

faces=top
tiles=1 {номера текстур - которые мы хотим видеть на верхней поверхности нашего блока}
metadata=0-15 {указываем для каждого мета-блока свой персональный номер}
method=random


И уже затем в папку /sides размещаем текстуры для боковых сторон, так же вместе с файлом параметров: block173.properties

faces=sides
tiles=1
metadata=0-15
method=random


В итоге у нас получилось следующее:
- Все текстуры в корне у нас отвечают за нижнюю часть
- Все текстуры в папке /top у нас отвечают за верхнюю часть
- Все текстуры в папке /sides отвечают за боковые стороны

И когда мы запускаем МайнКрафт, ставим блоки 173:0 - 173:15 с помощью плагина WorldEdit (//set 173:0 - 173:15 | //replace 173:0 - 173:15) видим следующую картину:

MineCraft CTM в действии. Пример.

В данном примере используются текстуры из ресурс-пака CONQUEST

Скачать данный пример. Данный архив нужно распаковать в: resourcepacks\ваш-ресурспак\assets\minecraft\mcpatcher\ctm <-- Здесь


6. Final



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

А моя история знакомства с CTM началась где-то пол-года назад, в РУнете не было ни одного упоминания, что это такое, как это делается, да и для чего, в итоге время шло, а я уходил все в более дремучие дебри, и таким вот образом шаг за шагом, методом проб и ошибок, удалось понять, что это за зверь такой, а уже после, - сделать для себя текстур-пак более фирменным, добавить сотни новых блоков, заменить статику на динамику за счет рандомных блоков, и сделать визуально МайнКрафт еще интереснее.

Отдельная благодарность креативной бригаде FyreUK и Monsterfish'у, разработчику пака Conqest, по сути дела, именно эти два текстурпака позволили мне вкурить тему и сделать уже что-то своё, ну и конечно же воплотить это все в данном гайде.


Если есть вопросы - задавайте прямо в этом треде, по мере возможности на все буду отвечать.

Не забывайте рассказывать друзьям прожимая внизу на панельке: "Отправить в Facebook, Отправить в Twitter и Отправить в VK". Спасибо.
6165426.jpg (327.2 Kb) · 5897381.jpg (325.1 Kb) · 3782108.jpg (245.2 Kb) · 7304372.png (48.4 Kb) · 0472781.png (42.6 Kb) · 3512298.png (53.4 Kb) · 2315907.png (16.5 Kb) · 0270216.png (156.3 Kb) · 2147977.png (1.41 Mb) · 5424930.png (1.31 Mb)
Icar
Icar
А когда будет гайд для 1.6 1.7? Особенно интересуют нюансы работы с дефолт текстурпаком (вшитым)
Red1_1Joker
Red1_1Joker
В 1.6 и последующих версиях используется Resourse Pack. В нем изменено расположение некоторых папок. Однако папка ctm там также может присутствовать, поэтому особых изменений там нет.
Icar
Icar
Цитата (Red1_1Joker)
В 1.6 и последующих версиях используется Resourse Pack. В нем изменено расположение некоторых папок. Однако папка ctm там также может присутствовать, поэтому особых изменений там нет.


У меня проблема в том, что дефолт текстурпак (вшитый в майн) имеет особую структуру, а Ctm хранится в оптифайн архиве. Я описал проблему на форуме в теме паков. Не могли бы Вы мне подсказать как реализовать это?
skShaD
skShaD
Братюни, я пока с 1.6 на "вы" я еще не перешел и текстур-пак под него не конвертировал, но, я знаю, что в МС-патчере под 1.6 конвертер есть, я думаю это облегчит задачу.
Icar
Icar
Цитата (Ash)
Братюни, я пока с 1.6 на "вы" я еще не перешел и текстур-пак под него не конвертировал, но, я знаю, что в МС-патчере под 1.6 конвертер есть, я думаю это облегчит задачу.


Понятно. Ну, если будешь знакомиться с нюансами работы с 1.6. и вшитым в майн ТекстПаком, будем рады почитать мануал, ибо актуально. Если сам разберусь, информацией поделюсь. Пока только без Оптифайна дефолт пилю.
skShaD
skShaD
Глобальный апдейт. Добавлен новый пункт применимо к версии +1.6

Добавил живой пример из своего ресурс-пака, который при этом можно скачать.
Alexius
Alexius
Приветствую!
Во-первых хочу поблагодарить за гайд! Очень помогло.

Во-вторых возник вопрос по поводу "новых" блоков: чтобы они появились, нужно только создать файл .properties с соответствующей метадатой, или есть ещё каие-то условия? К примеру я захотел сделать новый вариант резного кирпича, создал block98.properties, в котором указал metadata=4, и нужные текстуры, захожу на свой (домашний) серв, пишу команду "/give.." и получаю обычный каменный кирпич. Он обычный не только в инвентаре, но и везде.
skShaD
skShaD
Alexius, привет. Чтобы все заработало, нужно как минимум поставить мцпатчер или оптифайн, и в настройках качества поставить connected textures: fancy.

В инвентаре обычно всегда они выглядят как простой блок, с этим пока ничего не сделать, а вот когда ставиться - тут уже да. Чтобы железно быть уверенным в корректной работе, сделай себе площадку, поставь 16 блоков, и прописывая /repl 98:0 - 98:15 (взяв какой-нибудь инструмент в руку) пройдись по всем. А уже после можно собсно и текстурирывать.

Так же советую скачать пример в 5-ом пункте, я думаю поможет.
Alexius
Alexius
Патчил, сами коннектед текстуры работают, но только на существующих блоках. Реплейсом тоже пробовал.
Попробовал перейти на 1.6.2 (до этого стоял 1.5.2) - ещё хуже: вроде патчится, но работает только если нажать "test minecraft", при обычном запуске с нужного профиля - не запускает вообще...
skShaD
skShaD
Alexius, странно, очень странно. В общем советую переставить тогда майнкрафт, и поставить оптифайн, сколько лет уже его использую - проблем никогда не возникало.

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

А чтобы убедится в корректности работы CTM - лучше скачать Конквест, ссылка в 5ом пункте в конце есть, - если рандомные блоки и т.п. отсутствуют, значит причина технического плана, либо косячит мцпатчер, либо оптифайн, либо и то и то с каким-то другим модом конфликтует и т.п.
Alexius
Alexius
Надо поопробовать jar заменить, а то этот немного кривоват...
Оптифайн пытался ставить на 1 6 2, но не получилось его совместить с Форджем, а мне без минимэпа вдвойне сложно (у меня на сервере всякие паркуры по карте раскиданы, без маркеров искать не реально).
..наверное ну его, этот 1.6, останусь на 1.5 - там как-то проще всё).. по краней мере с пираткой...

Конквест качаю. Кстати, в одиночке при команде /give как писать метадату? Через ":" пишет, что недопустимое имя..
Меседж отредактировал: Alexius - Вторник, 05.11.2013, 16:51
skShaD
skShaD
Цитата
Download OptiFine 1.6.4_HD_U_C6 (fixed Forge compatibility, Forge #897 and newer can load it from the "mods" folder, compatible with Forge #933)

Он отлично работает с форджем, у нас сборка на 1.6.4, все замечательно. При этом все так же отлично работает с лайтлоудером, что позволяет легко использовать и макросы и прочие небольшие моды.
skShaD
skShaD
Alexius, насчет SPC не в курсе, какие там особенности, не пользуюсь наверно более полутора лет, если не больше.

Мета-блоки - тот же 1:10 // 48:4 / 49:4 - нельзя взять "в руки", их можно ставить только командами: //repl 1:10 и т.д.

Взять в руки можно лишь некоторые блоки, на свободные мета-даты которых привязаны с помощью CTM текстуры, это к примеру следующие айдишки: 5, 98, 155, 97, 125 и т.д. - если на эти привязать CTM - то такие блоки можно будет взять в руки и ставить их без проблем, единственное, визуально (в инвентаре и в руках) они будут выглядеть как свой родитель, а не как так текстура, которую вешает CTM. Остальные же - только командами и никак иначе.
Alexius
Alexius
Я как раз на 98 вешаю, так что по идее всё должно работать...
А можно ссылку кликабельную на этот оптифайн, или хотя бы на сайт, где он есть? А он с пиратской 1.6.2 пойдёт?
  • Страница 1 из 2
  • 1
  • 2
  • »
Поиск: