Дорогие модостроители, help!
|
|
JF | Дата: Четверг, 19.07.2012, 17:50 | Сообщение # 1 |
Краб
Группа: Проверенные
Сообщений: 23
Награды: 0 +
Статус: Offline
| Сейчас доделываю своего актора. Уже практически готовы все bmp'шки, но я столкнулся с проблемой - их правильное последовательное отображение в игре, а именно наложение друг на друга . Например все мы видели, что у любого актора рука отображается поверх тела, а кисть - поверх руки. Знаю о волшебной строке DrawAfterParent = (0 или 1), но меня это не спасает, ибо у меня все гораздо сложнее. А именно хочу сделать неподвижные FG и BG наплечники для своего актора, но они достаточно большие и затрагивают руку, тело актора и голову. Голова отображается за телом (тут-то все правильно), наплечник правильно отображается на голове и теле, но неправильно отображается с рукой (рука оказывается сверху) . Хотя FG наплечник должен отображаться поверх всего вышеназванного, а BG должен отображаться лишь поверх BG руки. Методом тыка выяснил, что отображение аттачблов зависит от положения прописанных частей (если часть Head = Attachable или AddAttachable = Attachable написана раньше, то она отобразится первой, все, что ниже - отобразится под ней). Но это происходит, если у вас простой .ini, похожий на стандартный, да и то поверх руки отобразить так ничего не получится. Опять же методом тыка нашел зависимость от координатных строк ParentOffset = Vector, таким методом я даже умудрился создать спрайт, который отобразился поверх ноги актора. Но к сожалению только ноги, а не руки (руки ведь отображаются поверх ног), да и то произошло это случайно, так что я до сих пор не понял, что и от чего зависит. Обьясните мне? Плиииз)) А то не хочется мне калечить спрайты рук для правильного отображения) И да, заодно расскажите, от какой точки на акторе начинается та самая непонятная билинейная система координат, по которой регулируется ParentOffset = Vector (верхний левый пиксель спрайта тела?) и JointOffset = Vector (относительно координаты ParentOffset = Vector?). Буду безмерно благодарен, если мне кто-то в этом поможет
_______________
|
|
| |
Mad_Alex | Дата: Четверг, 19.07.2012, 18:32 | Сообщение # 2 |
Печальный Скнюссик
Группа: Главный Администратор
Сообщений: 1914
Награды: 38 +
Статус: Offline
| Спасибо за грамотное и подробное описание. Такой текст вызывает теплое чувство где-то в грудной клетке и сильное желание помочь.
По идее с руками должен работать тот же принцип: до или после добавления руки добавлен аттачабл. Попробуй это, если нет, то подумаем над другими способами решения.
Оффсеты: ParentOffset осчитывается от центра тяжести родительского объекта (то есть того, к которому прикреплен данный).
JointOffset отсчитывается от центра тяжести данного объекта.
За любыми другими вопросами пиши мне в скайп. (в подписи)
Если вы читаете этот текст, значит вы посетили кладбище моей юности. Прощай, cortexcommandru.3dn.ru, ты для меня много значил когда-то.
|
|
| |
Вампир | Дата: Четверг, 19.07.2012, 22:39 | Сообщение # 3 |
Зомби
Группа: Проверенные
Сообщений: 149
Награды: 0 +
Статус: Offline
| Mad_Alex, а гибы и всякие левые мос ротатинги (прости господи), случаем, будут отображаться не поверх тела актора? Через луа создать и постоянно корректировать линейные и угловые координаты такого наплечника.
Мы просто будем выступать И погибать за пиксели-валюты, И умирать, опять вставать, Лишь дайте нам винтовку в руки.
Мы не умрем, в нас жизни нет, Не жалко, это нам прощают Что спрайтами и бьют, и убивают И наступают, защищают.
Последнее дыхание лишь шутка Ведь акторы - актеры в промежутке Что между небом и землей застряли. Где убивали и топтали.
ZemaSergant
|
|
| |
JF | Дата: Пятница, 20.07.2012, 01:25 | Сообщение # 4 |
Краб
Группа: Проверенные
Сообщений: 23
Награды: 0 +
Статус: Offline
| Mad_Alex, да думал я уже за порядок написания. Прописал первым этот наплечник среди всех остальных частей как среди AddEffect = Attachable (бессмысленно, но мало ли), так и среди строк AddAttachable = Attachable в теле актора, но эффекта не последовало. Хотя для меня это было вполне ожидаемо, т.к. руки не прописываются в строках AddAttachable = Attachable, а порядок написания строк AddEffect = Attachable нигде не учитывается(прошу обратить внимание, не учитывается порядок именно AddEffect = Attachable, а не порядок строк AddAttachable = Attachable, которые прописываются отдельно в каждой части, будь то тело, голова или что-либо еще). Я думал еще, может прописать наплечник, как AddAttachable = Attachable к кисти FG и BG руки (ведь по порядку своего отображения FG кисть отображается поверх FG руки и всех остальный частей, а BG кисть отображается лишь поверх BG руки, но за телом и головой), но потом отказался от этой затеи из-за того, что понял, что если я сделаю подобным образом, то при каждом смещении кисти (при прицеливании в игре, например) мой наплечник будет "плавать", смещаясь от своего изначального месторасположения.
Вампир, я бы создал, если бы дружил с lua. Ну или хотя бы попытался, будь у меня наглядный пример. А за неимением обоих этих составляющих могу смело заявить - я не сумею. Все-таки я почему-то остаюсь убежденным, что порядок отображения части зависит от ParentOffset этой части. Если я ошибаюсь - исправьте меня, но прежде скажу, что именно после колдовства в координатах этих строк мой наплечник стал отображаться поверх ног (конечно он должен был находиться пикселей на 10-20 выше, если бы я сразу изменял вместе с ParentOffset и SpriteOffset, но это уже другая история ). Но вот какие именно координаты вписать туда, чтобы все отобразилось правильно я не понимаю.
Хотя у меня уже есть идея просто поставить такой же ParentOffset, как и у кистей рук, глядишь, да что и выйдет . Но весь смысл в том, что хотелось бы понять. Именно понять, чтобы при подобной ситуации в следующий раз что называется не "тыкать пальцем в небо" с вопросом, сработает ли. Ну я думаю вы меня понимаете Добавлено (20.07.2012, 01:19) --------------------------------------------- Ан нет, фиаско. Там кисть не является отдельным аттачблом и соответственно у нее нет никаких ParentOffset. Зато теперь я выяснил, почему именно таким образом отображаются руки и ноги (я имею ввиду их приоритет в отображении при взаимодействии с головой и туловищем). Все это им дают вот эти строки
взял в пример нашего любимого коричневого мундира (перевод радует куда больше оригинального названия )
FGArm = Arm CopyOf = Browncoat Arm FG B ParentOffset = Vector X = -2 Y = -4 BGArm = Arm CopyOf = Browncoat Arm BG B ParentOffset = Vector X = 5 Y = -5 FGLeg = Leg CopyOf = Browncoat Leg FG B ParentOffset = Vector X = 0 Y = 3 BGLeg = Leg CopyOf = Browncoat Leg BG B ParentOffset = Vector X = 4 Y = 3
Но как вы знаете нельзя создать третью руку или ногу без колдовства в lua, так что сделать наплечник еще одной рукой или кистью руки не получится. Так что снова возвращаюсь к вопросу о ParentOffset'ах. Добавлено (20.07.2012, 01:25) --------------------------------------------- Есть идея добавить наплечник как AddAttachable = Attachable к самой руке, но тогда нужно сделать так, чтобы спрайт при движениях руки не крутился и оставался на месте, чего по умолчанию не получится. Так что однозначно придется мудрить. Есть идеи, как воплотить это в жизнь?
_______________
Сообщение отредактировал JF - Четверг, 19.07.2012, 23:56 |
|
| |
Mad_Alex | Дата: Пятница, 20.07.2012, 02:45 | Сообщение # 5 |
Печальный Скнюссик
Группа: Главный Администратор
Сообщений: 1914
Награды: 38 +
Статус: Offline
| Вампир, игра отрисовывается в порядке Glows>Terrain>Actors>Particles, так что наоборот.Quote (JF) Если я ошибаюсь - исправьте меня Ошибаешься.
Хм. Ты мог бы сделать "сборку" актора? То есть просто из спрайтов составить его внешний вид, каким он должен быть, и показать. А еще лучше полноценный Spritesheet: картинка, на которой представлены все спрайты (для рук ног желательно все кадры) и их сборка.
Тогда мы будем хотя бы понимать, как актор должен выглядеть, и так будет намного удобнее думать.
Если вы читаете этот текст, значит вы посетили кладбище моей юности. Прощай, cortexcommandru.3dn.ru, ты для меня много значил когда-то.
|
|
| |
JF | Дата: Пятница, 20.07.2012, 03:19 | Сообщение # 6 |
Краб
Группа: Проверенные
Сообщений: 23
Награды: 0 +
Статус: Offline
| Mad_Alex, А может я актора просто выкину в формате документа фотошопа? Там каждая часть актора находится на отдельном слое, и можно легко понять, что отображается за чем
_______________
|
|
| |
Mad_Alex | Дата: Пятница, 20.07.2012, 04:08 | Сообщение # 7 |
Печальный Скнюссик
Группа: Главный Администратор
Сообщений: 1914
Награды: 38 +
Статус: Offline
| Не стоит. Spritesheet'ы удобнее и нагляднее, и вообще привыкай их делать, это хорошая привычка.
Если вы читаете этот текст, значит вы посетили кладбище моей юности. Прощай, cortexcommandru.3dn.ru, ты для меня много значил когда-то.
|
|
| |
JF | Дата: Пятница, 20.07.2012, 04:21 | Сообщение # 8 |
Краб
Группа: Проверенные
Сообщений: 23
Награды: 0 +
Статус: Offline
| Вот, я сделал мини-сборку. Говорю сразу, чтобы не было потом никаких возмущений - да, здесь есть спрайты, сделанные не мною, но я сейчас работаю над тем, чтобы максимально отдалить данного актора от уже представленных здесь кровавых ангелов. Но при этом не очень хочется сильно отступать от стилистики, уже заданной в моде Blood Angels.
Вот, гляди, что я примерно хочу. Руки и ноги я еще буду перерисовывать, причем это однозначно. Но по сути это будет что-то очень похожее на данного актора, только чуть выше и выглядящим более массивно.
_______________
Сообщение отредактировал JF - Пятница, 20.07.2012, 04:22 |
|
| |
Mad_Alex | Дата: Пятница, 20.07.2012, 05:03 | Сообщение # 9 |
Печальный Скнюссик
Группа: Главный Администратор
Сообщений: 1914
Награды: 38 +
Статус: Offline
| Есть такой вариант: просто в спрайте руки стереть старый наплечник, который сейчас торчит поверх нового. Стереть настолько, чтобы в игре это выглядело прилично. Тебе может не понравиться такое решение, но я могу точно сказать, что такой, казалось бы, грубоватый вариант может сработать вполне так чудесно. Попробуй.
Если вы читаете этот текст, значит вы посетили кладбище моей юности. Прощай, cortexcommandru.3dn.ru, ты для меня много значил когда-то.
|
|
| |
JF | Дата: Пятница, 20.07.2012, 05:07 | Сообщение # 10 |
Краб
Группа: Проверенные
Сообщений: 23
Награды: 0 +
Статус: Offline
| Ну до этого я и сам додумался. Но я кажется уже говорил - не хочется мне калечить спрайты рук для правильного отображения
_______________
|
|
| |
Mad_Alex | Дата: Пятница, 20.07.2012, 05:08 | Сообщение # 11 |
Печальный Скнюссик
Группа: Главный Администратор
Сообщений: 1914
Награды: 38 +
Статус: Offline
| А ты попробуй все-таки. Тем более что наплечник все равно видно не будет.
Если вы читаете этот текст, значит вы посетили кладбище моей юности. Прощай, cortexcommandru.3dn.ru, ты для меня много значил когда-то.
|
|
| |
JF | Дата: Пятница, 20.07.2012, 05:09 | Сообщение # 12 |
Краб
Группа: Проверенные
Сообщений: 23
Награды: 0 +
Статус: Offline
| Тем более есть еще несколько причин, по которой я не хочу поганить спрайты: 1) большой наплечник хочу сделать разрушаемым. Но если я обрежу спрайт руки, то это уже станет невозможным. А создавать неразрушаемые ничем пластины, как и полностью проницаемые мне явно не по душе. 2) многие оружия обладают прикладами, а при обрезании спрайта руки такое оружие в руках будет выглядеть некорректно. Часть приклада отобразится как надо, под рукой, а часть поверх наплечника. 3) Неужели вам самим не интересно использовать решение данной проблемы в своих модах? Ведь станет возможным создавать разрушаемые пластины на руки и ноги, что явно бы не помешало в дальнейшем создании модов.
Я, конечно, понимаю, сидеть ломать голову из-за одного актора не своего мода - ну явно мало кому это нужно. Но все-таки, ребят... Очень хочется, чтобы все было сделано хорошо и дельно, а не абы как. А для того, чтобы сделать хорошо мне и нужна ваша помощь
_______________
Сообщение отредактировал JF - Пятница, 20.07.2012, 06:34 |
|
| |
Mad_Alex | Дата: Пятница, 20.07.2012, 12:59 | Сообщение # 13 |
Печальный Скнюссик
Группа: Главный Администратор
Сообщений: 1914
Награды: 38 +
Статус: Offline
| Тогда скидывай мод, я попробую скрипт написать, но успех не гарантирую.
Если вы читаете этот текст, значит вы посетили кладбище моей юности. Прощай, cortexcommandru.3dn.ru, ты для меня много значил когда-то.
|
|
| |
JF | Дата: Суббота, 21.07.2012, 00:27 | Сообщение # 14 |
Краб
Группа: Проверенные
Сообщений: 23
Награды: 0 +
Статус: Offline
| Ок, ближе к ночи выкину, а то на данный момент я отрезан от родного ноута Добавлено (21.07.2012, 00:27) --------------------------------------------- Вот. Сделай что-нибудь с наплечниками. Потому что я споткнулся уже на BG боковой пластине. А надо еще и вторые наплечи прописать, не относящиеся к руке. Ну я думаю ты видел на Spritesheet'е. Все спрайты там есть. В общем сам увидишь
_______________
|
|
| |
Статистика Форума |
Последние темы |
Читаемые темы |
Последние зарегистрированные пользователи |
|
|
|
|