Первый Русский Гайд по CTM (Connected Textures) - Страница 2 - Форум
  • Страница 2 из 2
  • «
  • 1
  • 2
Форум » Minecraft » Текстурпаки » Первый Русский Гайд по CTM (Connected Textures) (Специально от Эша для всех посетителей InMineCraft.ru)
Первый Русский Гайд по 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)
skShaD
skShaD
http://www.minecraftforum.net/topic....ch-more

Насчет пираток - не знаю и ничего сказать не могу, да и нет желания ввиду политики нашего ресурса.

Важно понять одно - тут завязано все на самой версии МайнКрафта и версии форджа, джары по сути дела - универсальны, а новые форджы, имеют авто установку, качается тот билд, который корректно работает с оптифайном, - а после сам оптифайн забрасывается в папку с модами и все окей.
Alexius
Alexius
Большое спасибо! Буду дальше шаманить над своей пирамидой майя))
Насчёт политики - прошу прощения, не знал)

upd_1. 1.6.2 пошёл! огромное спасибо!)
Но проблема осталась - новые блоки не пашут. Сами файлы properties нормальные, т.к при изменении в них метадаты и в названии буквы (а вместо b-d) - работают

upd_2 ...а в конвквесте всё работает... буду делать свою текстуру на базе конквеста в плане файлов и папок...
Меседж отредактировал: Alexius - Вторник, 05.11.2013, 19:38
Форум » Minecraft » Текстурпаки » Первый Русский Гайд по CTM (Connected Textures) (Специально от Эша для всех посетителей InMineCraft.ru)
  • Страница 2 из 2
  • «
  • 1
  • 2
Поиск: