Приветствую Вас Гость | RSSГлавная | Туториал - walkpaths - Форум | Регистрация | Вход
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Форум » Статьи » Создание модов » Туториал - walkpaths (впервые в истории)
Туториал - walkpaths
zoidbergДата: Воскресенье, 15.05.2011, 04:21 | Сообщение # 1
Манекен
Группа: Проверенные
Сообщений: 251
Награды: 2  +
Репутация:  ±
Замечания:  ±
Статус: Offline
Если вы хотите сделать актора по размерам превышающего стандартных, или чтоб ваш актор ходил задом на перед - то эта статья для вас!

Ну-с, начнём.

Walkpath - часть ini кода, определяющая схему движения конечностей (рук и ног) акторов в разных ситуациях

Пример с описанием
Звёздочками выделены важные моменты.

Code

//это конфиг стандартного робота
   StandLimbPath = LimbPath // задаём walkpath (далее w.p.) для положения стоя. для w.p. стояния обычно используется только start offset, который является точкой относительно туловища, в которую будут стремится стопы актора если не нажата ни одна кнопка движения
    PresetName = Clone Stand Path // имя w.p.
    StartOffset = Vector // "точка отсчёта" для w.p., от этой точки считается движение из блока, под номером, заданом в start seg count
     X = 5 // на 5 пикс. правее sprite offset'а *туловища*
     Y = 19 // и на 19 пикс. ниже
    StartSegCount = 0 // блок, с которого начнётся движение (если 0 или 1 - то с первого)
    SlowTravelSpeed = 0.1 // не используется
    NormalTravelSpeed = 0.5 // скорость анимации движения
    FastTravelSpeed = 1.5 // не используется
    PushForce = 4000 // сила ног. слишком маленькие значения не дадут ногам поднять актора, слишком большие будут оставлять дыры в земле
   WalkLimbPath = LimbPath // w.p. для ходьбы
    PresetName = Robot Walk Path // имя w.p.
    StartOffset = Vector // точка отсчёта (от туловища) (является блоком №0 для следующего параметра)
     X = 13
     Y = -2
    StartSegCount = 3 // движение начнется с 3-го блока
// предположим, что наша нога должна описывать круговые движения
// так вот, чтобы при нажатии (первом) кнопки движения (вправо/влево) нога не начинала двигатся с блока №1, в котором, например, задано движение вниз, а с любого другого (например того, в котором движение вправо), используется этот параметр.
    AddSegment = Vector // первый блок. в нём задано:
     X = 0 // стопа не двигается по оси х
     Y = 2 // сдвиг стопы на 2 пикс. вниз *от последнего положения или от start offset, если этот блок первый* (start seg count = 1)
    AddSegment = Vector // блок второй
     X = 0 // по оси х не двигаемся
     Y = 2 // еще 2 пикселя вниз
    AddSegment = Vector // тут и далее - аналогично
     X = 0
     Y = 5
    AddSegment = Vector
     X = 0
     Y = 5
    AddSegment = Vector
     X = -6
     Y = 4
    AddSegment = Vector
     X = -4
     Y = 0
    AddSegment = Vector
     X = -4
     Y = 0
    AddSegment = Vector
     X = -4
     Y = 1
    AddSegment = Vector
     X = -3
     Y = 1
    AddSegment = Vector
     X = 0
     Y = -2
// *после окончания цикла, он повторяется , но начиная уже с  первого блока*
    SlowTravelSpeed = 1.5 // не используется
    NormalTravelSpeed = 2.5 // скорость движения (больше 5 не рекомендуется, актор будет просто месить землю под собой, но быстро)
    FastTravelSpeed = 4.5 // не используется
    PushForce = 6000 // сила ноги (см. выше)
   CrouchLimbPath = LimbPath // новый w.p. - приседание
    PresetName = Robot Crouch Path // имя w.p.
    StartOffset = Vector // обычно в w.p. приседания используется только start offset, он является точкой (относительно туловища), в которую переместятся стопы в момент нажатия кнопки приседаниия
     X = 12 // 12 пикс правее туловища
// значения х >= 0 заставляют актора поджать колени и плюхнутся задницой на землю
// меньше 0 - закинуть ноги за спину (не рекомендуется)
// значения у >= 0 - согнуть ноги
// у <= 0 - не рекомендуется
// такде нет смысла ставить *всем* start offset'ам значения х и у большие чем длина самих конечностей, в этом кик минимум нет смысла.
     Y = 0
    StartSegCount = 0 // у w.p. без блоков (только start offset) этот параметр должен = 0
    SlowTravelSpeed = 0.1 // не используется
    NormalTravelSpeed = 0.5 // скорость движения
    FastTravelSpeed = 1.5 // не используется
    PushForce = 5000 // сила ног
   CrawlLimbPath = LimbPath //новый w.p. - ползанье
    PresetName = Robot Crawl Path // имя w.p.
    StartOffset = Vector // думаю всё понятно из предидущих примеров
     X = -12
     Y = -8
    StartSegCount = 2
    AddSegment = Vector
     X = 12
     Y = 0
    AddSegment = Vector
     X = 8
     Y = 2
    AddSegment = Vector
     X = 0
     Y = 8
    AddSegment = Vector
     X = 0
     Y = 10
    SlowTravelSpeed = 1.5
    NormalTravelSpeed = 1.8
    FastTravelSpeed = 4.5
    PushForce = 8000
   ArmCrawlLimbPath = LimbPath // w.p. ползания *для рук*
    PresetName = Robot Arm Crawl Path // имя w.p.
    StartOffset = Vector // точка отсчета относительно sprite offset'а туловища
     X = -4 // 4 пикс. левее
     Y = -7 // 7 пикс выше
    StartSegCount = 2 // начальный блок - второй
    AddSegment = Vector // блок №1
     X = 0 // *кисть* по оси х не двигается
     Y = -4 // *кисть* переместится на 4 пикс. вверх относительно предидущего положения
    AddSegment = Vector // аналогично
     X = 3
     Y = -3
    AddSegment = Vector
     X = 4
     Y = 0
    AddSegment = Vector
     X = 4
     Y = 4
    AddSegment = Vector
     X = 0
     Y = 10
    SlowTravelSpeed = 1.5 // не исп.
    NormalTravelSpeed = 1.5 // скорость движения
    FastTravelSpeed = 4.5 // не исп.
    PushForce = 6000 // сила рук (так же как и с ногами)
   ClimbLimbPath = LimbPath // новый w.p. - лазанье по лестницам ( один для ног и для рук)
    PresetName = Robot Climb Path // всё как и везде
    StartOffset = Vector
     X = 0
     Y = -14
    StartSegCount = 13
    AddSegment = Vector
     X = 4
     Y = 4
    AddSegment = Vector
     X = 1
     Y = 2
    AddSegment = Vector
     X = 1
     Y = 2
    AddSegment = Vector
     X = 1
     Y = 1
    AddSegment = Vector
     X = 1
     Y = 1
    AddSegment = Vector
     X = 1
     Y = 1
    AddSegment = Vector
     X = 1
     Y = 1
    AddSegment = Vector
     X = 1
     Y = 1
    AddSegment = Vector
     X = 1
     Y = 1
    AddSegment = Vector
     X = 1
     Y = 1
    AddSegment = Vector
     X = 1
     Y = 1
    AddSegment = Vector
     X = 1
     Y = 1
    AddSegment = Vector
     X = 0
     Y = 1
    AddSegment = Vector
     X = 0
     Y = 3
    AddSegment = Vector
     X = -2
     Y = 5
    AddSegment = Vector
     X = -4
     Y = 5
    AddSegment = Vector
     X = -6
     Y = 5
    SlowTravelSpeed = 1.5
    NormalTravelSpeed = 1.5
    FastTravelSpeed = 4.5
    PushForce = 7000
   JumpLimbPath = LimbPath // w.p. прыжков (полётов). как перемещаются ноги в полёте.
    PresetName = Robot Jump Path // всё как и везде
    StartOffset = Vector
     X = 0
     Y = 8
    StartSegCount = 3
    AddSegment = Vector
     X = 0
     Y = -10
    AddSegment = Vector
     X = 0
     Y = 4
    AddSegment = Vector
     X = 0
     Y = 4
    AddSegment = Vector
     X = -8
     Y = 14
    SlowTravelSpeed = 3
    NormalTravelSpeed = 6
    FastTravelSpeed = 7
    PushForce = 7000
   DislodgeLimbPath = LimbPath // вот тут есть проблемка - полное отсутствие идей на счет назначения этого w.p.
// хотя... единственная зацепка - сами цифры. судя по ним, и цифрам из w.p. полётов, можно предположить, что отличие между этим и w.p. полётов - в направлении: тот - когда лицом вперед - на джетпаке, этот - когда чем-нибудь отшвырнуло.
// а так обычный w.p., всё как и везде
    PresetName = Robot Dislodge Path
    StartOffset = Vector
     X = 2
     Y = -10
    StartSegCount = 0
    AddSegment = Vector
     X = 0
     Y = 6
    SlowTravelSpeed = 1.5
    NormalTravelSpeed = 2.5
    FastTravelSpeed = 4.5
    PushForce = 10000

Прим.№1: "предидущее положение" - точка относительно start offset, к которой прибавятся значения текущего блока
Прим.№2: у крабов w.p. для передних и задних ног разные, и задаются с теми-же названиями что и у гуманоидов, но с добавлением L или R в начале (LStandLimbPath, RWalkLimbPath)

если ничего не понятно - постарайтесь написать что именно, пожалуйста. Вы поспособствуете улучшению статьи.


hey, i've just killed someone with the rock!

Сообщение отредактировал zoidberg - Воскресенье, 15.05.2011, 14:27
 
ZemaSergantДата: Воскресенье, 15.05.2011, 06:37 | Сообщение # 2
Манекен
Группа: Проверенные
Сообщений: 498
Награды: 8  +
Репутация:  ±
Замечания:  ±
Статус: Offline
ого!я даже и не знал что так можно!думал что такие изменения только с луа happy
 
Mad_AlexДата: Воскресенье, 15.05.2011, 10:56 | Сообщение # 3
Печальный Скнюссик
Группа: Главный Администратор
Сообщений: 1914
Награды: 38  +
Репутация:  ±
Замечания:  ±
Статус: Offline
С гуманоидами достаточно просто, а вот пути для крабов сделать почти нереально, я так и не смог уловить логики, по которой они работают.

Я верю, в одном из будущих билдов Даня перепишет эту часть или таки добавит точечный редактор.


Если вы читаете этот текст, значит вы посетили кладбище моей юности.
Прощай, cortexcommandru.3dn.ru, ты для меня много значил когда-то.
 
zoidbergДата: Воскресенье, 15.05.2011, 14:32 | Сообщение # 4
Манекен
Группа: Проверенные
Сообщений: 251
Награды: 2  +
Репутация:  ±
Замечания:  ±
Статус: Offline
исправил одну циферку

если кому интересно - могу еще дописать как разделить w.p. для каждой конечности отдельно
а туториал по atomgroups надо? (на дате панику подняли: "а-а! мой mosrotating не задевает акторов!")

и в конце концов, где мои плюсики? :3


hey, i've just killed someone with the rock!
 
METALalomДата: Воскресенье, 15.05.2011, 15:09 | Сообщение # 5
Ронин
Группа: Проверенные
Сообщений: 598
Награды: 15  +
Репутация:  ±
Замечания:  ±
Статус: Offline
Я скоро сделаю статью про эмитеры happy
 
WormctorДата: Понедельник, 19.09.2011, 16:56 | Сообщение # 6
Краб
Группа: Проверенные
Сообщений: 7
Награды: 0  +
Репутация:  ±
Замечания:  ±
Статус: Offline
Огромное тебе СПАСИБО) Наконец вышло сделать большого актора! Но есть проблема: он, (благодаря твоей статьи) может
ходить, но при наступании на любое препятствие спотыкается и падает фейсом об асфальт((( Пытался сделать шаги выше, но тогда он делает где-то 2-3 шага, становится на одну ногу и падает! Что делать?
Также, если тебе не трудно, напиши статью про deep и atomgroups, пожалуйста.
 
zoidbergДата: Понедельник, 19.09.2011, 21:09 | Сообщение # 7
Манекен
Группа: Проверенные
Сообщений: 251
Награды: 2  +
Репутация:  ±
Замечания:  ±
Статус: Offline
поэкспериментируй с pushforce.
на дате был мод с огромными человекоподобными роботами, можешь поискать в "older mods", посмотришь что там, как там.


hey, i've just killed someone with the rock!
 
AdmiN9372Дата: Вторник, 20.09.2011, 20:13 | Сообщение # 8
Краб
Группа: Проверенные
Сообщений: 4
Награды: 0  +
Репутация:  ±
Замечания:  ±
Статус: Offline
[color=red]кто нибудь объяснит мне куда чё нажимать
 
KazakДата: Среда, 21.09.2011, 13:53 | Сообщение # 9
Король спрайтов
Группа: Проверенные
Сообщений: 339
Награды: 11  +
Репутация:  ±
Замечания:  ±
Статус: Offline
AdmiN9372, Тут ничего нажимать не надо! Нужно открыть блокнот и писать коды, а потом сохранить его под именем "Название.ini"

http://kirillzak.deviantart.com/
 
Форум » Статьи » Создание модов » Туториал - walkpaths (впервые в истории)
  • Страница 1 из 1
  • 1
Поиск:
Статистика Форума
Последние темы Читаемые темы Последние зарегистрированные пользователи
Флудильня! [yksys147keti3626]

АнтиБК/Бойцовский клуб/Сombats [greendayone82]

The Sims 3 [greendayone82]

ЯДЕРНЫЙ ТРОН!!! [greendayone82]

Очень интересная игра [greendayone82]

Проблема с Loadouts [mekkievbk]

Русификатор Cortex Command Build 32 [puksus]

CC теперь в Open Source и B33 с мультиплеером !!! [gjrfytn]

игра обломи предыдущего [puksus]

Smarter AI Mod v1 [TerrariMan]

[1]>Флудильня! [4729]

[2]>Свалка арта. [843]

[3]>игра обломи предыдущего [360]

[4]>Фан-арт по Cortex Command [349]

[5]>Песенки или музыка. [268]

[6]>Russian Combat Small Arms {B24-B27} [246]

[7]>[UNITED TERRAN FORCES] [240]

[8]>Elzirs [229]

[9]>Выход 24 билда. [214]

[10]>Cortex Command - Online Deathmatch [208]

BlackShadow7755 [11.04.2024|22:28]

ghost4559 [28.03.2024|12:29]

rostislavpoarkov55 [21.03.2024|10:44]

dawidponomaryow [08.03.2024|21:16]

nekoplay18 [31.01.2024|20:10]

Provv [19.10.2023|20:58]

ranatolevnko200 [01.10.2023|17:56]

Silencer18 [24.07.2023|21:52]

yksys147keti3626 [30.01.2023|23:11]

islambabaev1100 [22.12.2022|01:14]


Вверх
Русский Фан Сайт Cortex Command © 2024.