Форумы Homeworld3.RU

Форумы Homeworld3.RU (http://www.homeworld3.ru/forum/index.php)
-   Орбитальный Стапель [HW1 & HWC Modding] (http://www.homeworld3.ru/forum/forumdisplay.php?f=23)
-   -   Произвольный цвет корпуса и шлейфов кораблей (http://www.homeworld3.ru/forum/showthread.php?t=1405)

[FX]Storm 01-09-2008 03:45 PM

Ограничитель цвета
 
2 Attachment(s)
Как вы знаете в хоме и катаклизме стоит специальный ограничитель, которой не позволяет делать черным или темным основной цвет (ползунок ниже середины не опуститься). А черный цвет поставить хочется. Как избежать или удалить данный ограничитель?

Ten 01-09-2008 09:15 PM

Re: Ограничитель Цвета
 
В игре ползунок основного цвета ниже передвинуть нельзя, но можно выставить чёрный цвет вручную. Для этого выходим из игры, открываем файл Cataclysm.cfg, ищем в нём строчку, начинающуюся с PrevColor0.base, и меняем указанное в ней число на 0. После этого с помощью первой кнопки под надписью PREVIOUS COLORS можно задать кораблям чёрный цвет корпуса (ну, относительно чёрный - насколько позволяет текстура).

В ХВ1 делаем то же самое, только файл, разумеется, Homeworld.cfg :)

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

kommynist 01-09-2008 09:52 PM

Re: Ограничитель Цвета
 
Зы зато теперь можно! Респект тоже хотел так похимичить с цветами спс Ten большое и спс [Fx]Storm что открыл данную тему..
Теперь можно от души начернезоваться в текстурах цвета..:hw:

[FX]Storm 01-09-2008 10:42 PM

Re: Ограничитель Цвета
 
1 Attachment(s)
Огромное спасибо Тэн. А результат на скрине!

Только есть один баг. Если например выстовить и основной и вторичный цвет черным, то можно заметить что основной цвет более светлее чем вторичней. Как это поправить?

Max 05-15-2008 06:46 PM

Вид из кокпита для Homeworld
 
1. Если менять базовый цвет расы на чёрный (вручную), то исчезают дымные "хвосты" у истребителей и корветов (видимо, по этой причине стоит ограничитель). Есть ли возможность установить цвет для хвостов дополнительно? Или как-то полечить другим способом? Видел на каком-то скриншоте чёрные файтеры с жёлтыми хвостами.

2. Есть ли возможность менять текущие цвета в процессе прохождения компании? (Может, где-то просто цифирку руками пофиксить?)

Phantom 05-15-2008 07:01 PM

Re: Вид из кокпита для Homeworld
 
Менять цвет инверсионного следа можно в shp-файле биг файла игры... в последней строчке, кажется... :D

Ten 05-15-2008 08:01 PM

Re: Вид из кокпита для Homeworld
 
1. Фантом указал один из способов, ещё в корне биг-файла есть скрипт teamcolors.script, в котором цвета инверсионных следов можно задавать для всех кораблей сразу. Я уже подзабыл, как там распределяются контрольные точки, поэтому, чтобы особо не мудрить, сходу советую поискать строчку
Code:

TrailColor                          0, 0, 0, 0, 0          ;R1 default c-scheme team
и в ней, а так же в следующих трёх, выставить тот цвет, который тебе нужен (последние три цифры – <красный>, <зелёный>, <синий>). Кстати, в этом же файле в самом начале среди комментариев приведён синтаксис задания переменной TrailColor.

2. Кажется нет, разве что игра сбойнёт: у меня бывали ситуации, когда сине-белые кушане в начале очередной миссии получали стандартные желто-красные цвета таиидан, также часто меняли цвета корабли Стражей. В принципе, зачем оно? :)

Xsel`Naga 06-23-2008 11:30 PM

Re: Ограничитель Цвета
 
:help: К вопросу о colours: никто не знает как в Homeworld 1 зделать так что-бы инверсионные следы от кораблей были вторичного цвета команды: как в Cataclysm? :confused: Плиз хелп :hw:

Дрон01 06-26-2008 06:21 PM

Re: Ограничитель Цвета
 
Quote:

Только есть один баг. Если например выстовить и основной и вторичный цвет черным, то можно заметить что основной цвет более светлее чем вторичней. Как это поправить?
Или я чего-то недопонимаю, или вторичный цвет на скрине красный.

З.Ы. Оба цвета реализуют фильтр оверлей. Это ключ.

[FX]Storm 06-30-2008 02:10 PM

Re: Ограничитель Цвета
 
Да не в скрине дело, сам попробуй таким способом выставить оба черных!
Получишь один темночерный, другой светлочерный.

Лёшка 04-27-2009 12:01 PM

Re: Ограничитель цвета
 
Та же фигня, я думаю она как раз из-за этого ограничителя, ведь там же изначально ниже середины низя ставить :mad:

После поправки Тена всё равно нельзя передвигать ползунок, зато чёрный выставляется сразу и основным и вторичным :) Результат на аватаре.

У кого какие предположения и, возможно, решения этой проблемы :?:

Fencer 12-18-2009 05:23 PM

Re: Есть пара вопросов
 
5 Attachment(s)
Товарищи. У меня есть один немалозначимый для меня вопрос: ковыряя пару лет назад файл Homeworld.cfg, я сумел таки настроить чёрный цвет своим кораблям и тут-же налетел на другую проблему: как сделать видимым инверсионный след у истребителей и корветов (shota 12,14), а то они летают, как игрушечные?

Единственный раз, когда я его смог увидеть - в последней миссии у истребителей врага (shota 28,29,30).

Fencer 01-16-2010 05:43 PM

Re: Есть пара вопросов
 
Ау люди, куда вы все делись? :"(... неужели ничево нельзя поделать?

Lee 01-16-2010 06:28 PM

Re: Есть пара вопросов
 
Возможно, просто, что твой вопрос не увидел человек, который разбирается в теме, либо такого человека просто нет, здесь в основном по моддингу хв2 прикалываются, как я понял =)

Ten 05-22-2011 08:28 PM

Re: Произвольный цвет корпуса и шлейфов кораблей
 
3 Attachment(s)
Добил-таки этот вопрос, и даже могу порадовать – возможность задавать произвольные цвета корабельных корпусов и шлейфов у игрока есть. Правда, окольными путями и с некоторыми оговорками, но даже это лучше, чем ничего. Ну да обо всём по порядку.

Начать, наверное, стоит с того, что в первом Homeworld на игровой локации одновременно могут присутствовать до 8 игроков, т.е. 8 команд (teams). У каждой из команд, естественно, есть свой цвет по умолчанию, который назначается компьютерным противникам:
  1. светло-серый (стандарт для кушан);
  2. жёлто-красный (стандарт для тайдан);
  3. синий;
  4. зелёный;
  5. ярко-жёлтый;
  6. оранжевый;
  7. пурпурный;
  8. бледно-зелёный.
Задаются они с помощью директив BaseColor (основной цвет) и StripeColor (цвет полос) в файле настройки цветов команд, который зовётся teamcolors.script и находится в корне главного big-файла. В этом же скрипте директивами TrailColor задаётся цвет шлейфов. Кстати, обратите внимание, что шлейф условно разбит на 4 сегмента, цвета для которых указываются отдельно, так что при желании можно наваять эскадрилье павлиний хвост, переливающийся всеми цветами радуги (как в первом аттаче, например). К сожалению, когда окраску кораблей задаёт ползунками игрок, цвета шлейфов рассчитываются на основе базового цвета с учётом поправочных коэффициентов, задаваемых директивами BaseToTrailFactors<N>, где <N> – номер сегмента (0, 1, 2, 3).

Но, поскольку у разработчиков игры возникла необходимость менять цвета команд по ходу развития сценария (белый посольский корвет, чёрные корабли Элитной гвардии и т.д.), директивы BaseColor, StripeColor и TrailColor можно использовать и в mission-файлах карт. В этих же файлах доступна дополнительная директива AvailableColorSchemes, разрешающая тому или иному типу кораблей носить дополнительные цветовые схемы. Её появление обусловлено тем, что каждый новый окрас команды это ещё один набор текстур, т.е. дополнительный расход памяти, которую в те времена экономили как могли. Поэтому по умолчанию кораблю доступен только один набор цветов в соответствии с номером его команды.

Замечу, что от директивы TrailColor в файлах карт проку мало – она подхватывается только при старте карты. Если загружаете сохранёнку, цвета шлейфов инициализируются значениями из файла teamcolors.script – именно поэтому, например, за посольским корветом или джанкъярдским псом тянется зеленоватый шлейф седьмой схемы (которым, кстати, щеголяют дроны и муверы в ХВ2). Более того, если в карте применяются директивы BaseColor / StripeColor, при её загрузке шлейфы как обычно окрашиваются в базовые цвета. Зато директива AvailableColorSchemes на поверку оказалась куда полезнее, т.к. позволяет не только назначать новые цветовые схемы, но и отменить родную. И думается, что после прочтения вышеизложенного у сообразительных читателей уже созрела мысль, как получить корабли с произвольной окраской. Всё верно – нужно настроить последнюю цветовую схему в teamcolors.script по своему вкусу (редко кто играет одновременно с семью противниками, да и не на всех картах такое возможно), а в облюбованной карте разрешить кораблям своей расы только её. Для кампании лучше выбрать схему №3 – она всё равно нигде не используется. Ну, а чтобы не быть голословным, смотрите второй и третий аттачи.

Не обошлось и без ложки дёгтя. Поскольку приходится редактировать файлы карт, способ мало подходит для многопользовательской игры – изменённая карта загружается при старте, а значит корабли одной расы, принадлежащие разным игрокам, будут иметь одинаковые цвета. Впрочем, способ из поста №2 в мульти вообще неприменим: при старте идёт проверка на яркость выбранного цвета, и если её значение меньше 117 (из 255), корабли получают гламyрнейшyю розовую окраску (никак индикатор нештатной ситуации), и смотрится оно весьма противно. В случае кампании нужно разрешать/запрещать цветовые схемы в файле каждой миссии, иначе вновь построенные корабли будут иметь цвет, выбранный игроком в начале компании. Ничем, кроме изменения экзешника, это не лечится, так что способ оказался куда менее универсальным, чем того хотелось бы. Но настрогать красивых скриншотов с его помощью вполне можно :)

Напоследок приведу синтаксис вышеупомянутых директив (вольный перевод краткой справки из скрипта):
Code:

// Основной цвет и цвет полос:
BaseColor                    <iPlayer>, <red>, <green>, <blue>
StripeColor                  <iPlayer>, <red>, <green>, <blue>

// Цвета сегментов шлейфа:
TrailColor                    <iPlayer>, <iControlPoint>, <red>, <green>, <blue>

// Цвета сегментов шлейфа на основе базового:
BaseToTrailFactors<iPoint>    <hue>, <lum>, <sat>

// Ну и на закуску цвет тактического оверлея на основе базового:
BaseToTOFactors              <hue>, <lum>, <sat>

// Разрешение цветовых схем для кораблей (указывается в mission-файлах карт):
AvailableColorSchemes          <race> <ship> <schemes>

Здесь:
  • <iPlayer> – номер игрока (0..7);
  • <iPoint> – номер сегмента шлейфа (0..3);
  • <red> – красный (0..255);
  • <green> – зелёный (0..255);
  • <blue> – синий (0..255);
  • <hue> – оттенок (0.0..1.0);
  • <lum> – яркость (0.0..1.0);
  • <sat> – насыщенность (0.0..1.0).

  • <race> – название расы (R1 - кушане, R2 - тайдане, P1 - рейдеры, P2 - стражи, Traders - торговцы).
  • <ship> – название корабля (см. названия в папках кораблей).
  • <schemes> – номер схемы (0..7), если несколько, перечисляются через запятую.
Для директив BaseToTrailFactors<N> и BaseToTOFactors базовые цвета преобразуются в HLS-модель, оттенок складывается с параметром <hue>, а яркость и насыщенность умножаются на <lum> и <sat> соответственно, после чего все три значения приводятся к диапазону [0.0;1.0], и в результате получаем рассчитанные цвета сегментов шлейфа / значков тактического оверлея. Как видите, ничего сложного тут нет.


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

Fencer 05-22-2011 10:26 PM

Re: Произвольный цвет корпуса и шлейфов кораблей
 
Ten, от меня тебе огромный респект! :friends:

P.S. Вопрос: что за карта на втором скрине? Похожа на последнюю миссию из HW2.

Xsel`Naga 05-28-2011 12:34 AM

Re: Произвольный цвет корпуса и шлейфов кораблей
 
Это карта Ring of Plasmadeus. Поставлялась вместе с Rumble into Ionosphere. Мне всегда казалось что у них перепутаны бэкграунды.

Fencer 10-12-2011 07:40 AM

Re: Произвольный цвет корпуса и шлейфов кораблей
 
2 Attachment(s)
Ten, не можешь ещё раз по порядку растолковать, какие файлы нужно править и в каких строках? Особенно это касается файлов миссий.

Мои танцы с бубном принесли лишь ранее полученный результат - это чёрный окрас суден... инверсионный след поменять я так и не смог (сдаётся всё таки где-то что-то не туда вписывал).

Добавлено через 11 часов 8 минут
Всё, решилась проблема, оказывается я неправильно указал параметр в mission-файле. :D Респект за мануал.

А можно ли цвет фрагмента шлейфа за номером 1 подвязать под BaseColor, а 2 - под StripeColor?

Ten 10-15-2011 05:53 PM

Re: Произвольный цвет корпуса и шлейфов кораблей
 
Можно, если BaseColor и StripeColor – константы, задаваемые в скрипте. Если же ты имеешь ввиду установленные ползунками цвета перед началом игры – все 4 сегмента шлейфа и так окрашиваются в BaseColor, чтобы изменить его на StripeColor, нужно искать в экзешнике код, отвечающий за окраску, понять его и подправить.

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

Посмотрел скрины – как ни странно, бело-сине-красный цвет шлейфов совсем не воспринимается как павлинский :) Только зря ты так сильно отдаляешь камеру – гуляет куча свободного месте, при этом проблематично увидеть хоть какие-то детали. Ну и запускать Сплендор батничком тоже не помешает, ибо без сглаживания игра смотрится гадким утёнком, а не прекрасным лебедем.

Fencer 10-15-2011 06:24 PM

Re: Произвольный цвет корпуса и шлейфов кораблей
 
Через вышеуказанный батник, Гжель упорно отказывается выставлять разрешение 1280х1024, а играть на меньших, где сама игра занимает ~3/4 рабочего стола (оставшаяся четверть собственно рабочим столом и остаётся), неудобно, да и впечатление складывается, будто не Хом это, а какой-нибудь Perfect World...
Quote:

Originally Posted by Ten (Post 48493)
Только зря ты так сильно отдаляешь камеру – гуляет куча свободного месте, при этом проблематично увидеть хоть какие-то детали.

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


All times are GMT +3. The time now is 06:21 PM.