• Уважаемые гости и новички, приветствуем Вас на нашем форуме
    Здесь вы можете найти ответы практически на все свои вопросы о серии игр «Готика» (в том числе различных модах на нее), «Ведьмак», «Ризен», «Древние свитки», «Эра дракона» и о многих других играх. Можете также узнать свежие новости о разработке новых проектов, восхититься творчеством наших форумчан, либо самим показать, что вы умеете. Ну и наконец, можете обсудить общие увлечения или просто весело пообщаться с посетителями «Таверны».

    Чтобы получить возможность писать на форуме, оставьте сообщение в этой теме.
    Удачи!

Gothic ½ Humans-ремастер

alex_draven


Модостроитель
Регистрация
13 Сен 2007
Сообщения
2.183
Благодарности
2.880
Баллы
420
  • Первое сообщение
  • #1
СТЕПЕНЬ ГОТОВНОСТИ СБОРКИ ДЛЯ ГОТИКИ 1/2 - 100%

Важно!

В Готике 2 дублируются блоки Lab (алхимия) и Pray (молитва). Разработчики таким образом вместо болотного алхимического стола и молитвы идолам и гуру сделали алхимический стол нового мира и поклонение Инносу. В сборке я переименовал эти блоки следующим образом:
LAB ---> LABNW
PRAY ----> PRAYFP

Если вы хотите использовать универсальный вариант и ваш проект предполагает оба варианта алхимии и молитвы, вам нужно для Pray в скриптах расписаний персонажей исправить указатель на анимацию с "Pray" на "PrayFP". А для алхимии исправить в спейсере идентификатор стола с Lab на LabNW.


Если вам не нужны блоки Готики 1, то удаляете Lab и Pray из MDS скрипта, а LabNW и PrayFP переименовываете в Lab и Pray соответственно.

В Готике 2 зачем-то поменяли инстанцию кузнечного молота. Поэтому нужно открыть Humans.MDS и поменять его имя тут:

Код:
// Gothic I
{
*eventTag    (4    "DEF_INSERT_ITEM"    "ZS_LEFTHAND")
*eventTag    (4    "DEF_CREATE_ITEM"    "ZS_RIGHTHAND"    "ItMw_1H_Sledgehammer_01")
}
// Gothic II
{
*eventTag (4 "DEF_INSERT_ITEM" "ZS_LEFTHAND")      
*eventTag (4 "DEF_CREATE_ITEM" "ZS_RIGHTHAND" "Itmw_1H_Mace_L_04")
}

Чтобы сменить в Готике 2 уровень новичка одноручного оружия, надо содержимое оверлея HUMANS_1HST0.MDS перенести в HUMANS.MDS, предварительно удалив соответствующие блоки Г1 оттуда. Для кастомных проектов можно через скрипт при старте игры единовременно наложить HUMANS_1HST0.MDS на героя.

У скелетов-магов заблокирован по умолчанию отскок ввиду проблем с AI.
aniDisable ("t_MagJumpB")
Чтобы отскок включить, надо удалить этот код, и расскомментировать строчку отскока, находящуюся выше этой строки.

Возможные пути решения проблем с зомби в GII описаны тут:
тыц
Делать отдельную модель зомби из-за странной реализации их в скриптах Г2а я не буду. Рекомендую вариант №3 решения проблемы, т.е. просто оденьте Торуса в новую броню через скрипты своего мода.

В Г1 и Г2 есть отличия в части анимаций кузнечного дела. При компиляции под Г2 надо внимательно проверить все ивент-теги для анимаций кузнеца. Я оставил в Humans.MDS комментарии, что раскомментировать, а что закомментировать. Отличия связаны с разной скриптовой реализацией кузнечного дела в обоих частях игры. Внимательно с этим!!!
Подробно тут:
тыц

ВСЕ тесты можно найти тут:

 

Вложения

  • Humans_Remaster_v1.05.7z
    56 MB · Просмотры: 1.306
  • G1 Demo.7z
    5,1 MB · Просмотры: 221
  • G2 Demo.7z
    6 MB · Просмотры: 361
Последнее редактирование:

alex_draven


Модостроитель
Регистрация
13 Сен 2007
Сообщения
2.183
Благодарности
2.880
Баллы
420
В г1 этот блок криво сделан на кровне анимаций. И скрипт кривоват. Похоже, его корни уходят глубоко в ранние версии игры. В г2 этот кривой кусок овна никто не стал (или уже не смог) доводить до ума, и его тупо вырезали.
 

Trazege

Участник форума
Регистрация
20 Фев 2008
Сообщения
1.760
Благодарности
1.394
Баллы
340
Ничего он не сломан.
Просто в humans_g2.mds отсутствуют
Daedalus:
// Fireplace
            ani            ("c_FP_Stand_2_S0_1"        1    ""                    0.0    0.0    ..    "Hum_FirePlace_M01.asc"        F    0    8)
            ani            ("c_FP_Stand_2_S0_2"        1    ""                    0.0    0.0    ..    "Hum_FirePlace_M01.asc"        F    20    28)
            ani            ("c_FP_Stand_2_S0_3"        1    ""                    0.0    0.0    ..    "Hum_FirePlace_M01.asc"        F    40    48)
            aniComb        ("t_FIREPLACE_Stand_2_S0"    1    "s_FIREPLACE_S0"    0.0    0.0    M.    "c_FP_STAND_2_S0_"            3)
            {
                *eventTag    (0    "DEF_INSERT_ITEM"    "ZS_RIGHTHAND")
            }

            ani            ("c_FP_S0_1"                1    ""                    0.0    0.0    ..    "Hum_FirePlace_M01.asc"        F    9    9)
            ani            ("c_FP_S0_2"                1    ""                    0.0    0.0    ..    "Hum_FirePlace_M01.asc"        F    29    29)
            ani            ("c_FP_S0_3"                1    ""                    0.0    0.0    ..    "Hum_FirePlace_M01.asc"        F    49    49)
            aniComb        ("s_FIREPLACE_S0"            1    "s_FIREPLACE_S0"    0.0    0.0    M.    "c_FP_S0_"                    3)

            ani            ("c_FP_S0_2_Stand_1"        1    ""                    0.0    0.0    ..    "Hum_FirePlace_M01.asc"        R    0    8)
            ani            ("c_FP_S0_2_Stand_2"        1    ""                    0.0    0.0    ..    "Hum_FirePlace_M01.asc"        R    20    28)
            ani            ("c_FP_S0_2_Stand_3"        1    ""                    0.0    0.0    ..    "Hum_FirePlace_M01.asc"        R    40    48)
            aniComb        ("t_FIREPLACE_S0_2_Stand"    1    ""                    0.0    0.0    M.    "c_FP_STAND_2_S0_"            3)
            {
                *eventTag    (0    "DEF_REMOVE_ITEM")
            }

            ani            ("c_FP_S0_2_S1_1"            1    ""                    0.0    0.0    ..    "Hum_FirePlace_M01.asc"        F    10    18)
            ani            ("c_FP_S0_2_S1_2"            1    ""                    0.0    0.0    ..    "Hum_FirePlace_M01.asc"        F    30    38)
            ani            ("c_FP_S0_2_S1_3"            1    ""                    0.0    0.0    ..    "Hum_FirePlace_M01.asc"        F    50    58)
            aniComb        ("t_FIREPLACE_S0_2_S1"        1    "s_FIREPLACE_S1"    0.0    0.0    M.    "c_FP_S0_2_S1_"                3)

            ani            ("c_FP_S1_1"                1    ""                    0.0    0.0    ..    "Hum_FirePlace_M01.asc"        F    19    19)
            ani            ("c_FP_S1_2"                1    ""                    0.0    0.0    ..    "Hum_FirePlace_M01.asc"        F    39    39)
            ani            ("c_FP_S1_3"                1    ""                    0.0    0.0    ..    "Hum_FirePlace_M01.asc"        F    59    59)
            aniComb        ("s_FIREPLACE_S1"            1    "s_FIREPLACE_S1"    0.0    0.0    M.    "c_FP_S1_"                    3)

            ani            ("c_FP_S1_2_Stand_1"        1    ""                    0.0    0.0    ..    "Hum_FirePlace_M01.asc"        R    0    18)
            ani            ("c_FP_S1_2_Stand_2"        1    ""                    0.0    0.0    ..    "Hum_FirePlace_M01.asc"        R    20    38)
            ani            ("c_FP_S1_2_Stand_3"        1    ""                    0.0    0.0    ..    "Hum_FirePlace_M01.asc"        R    40    58)
            aniComb        ("t_FIREPLACE_S1_2_Stand"    1    ""                    0.0    0.1    M.    "c_FP_S1_2_Stand_"            3)
            {
                *eventTag    (0    "DEF_REMOVE_ITEM")
            }

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

Ты уже пробовал заставить это заработать на движке г2?
 

Trazege

Участник форума
Регистрация
20 Фев 2008
Сообщения
1.760
Благодарности
1.394
Баллы
340
Flee оставил старый. Он немного комичный, что компенсирует его кривость.

Тут просто вопрос, чем заменить адекватным. Если есть у кого интересные подходящие mocap или fbx, кидайте в личку. Может смогу удачно приделать замену.

Да его комичность добавляет ему некоторую ламповость. Гляну на миксамо... Мб там есть вменяемая анима спринта. Хотя в том же спринте хорошая анима. Чего ее не использовать.
 

Trazege

Участник форума
Регистрация
20 Фев 2008
Сообщения
1.760
Благодарности
1.394
Баллы
340

Raswen

Гражданин Хориниса
Регистрация
18 Фев 2014
Сообщения
1.352
Благодарности
784
Баллы
260
alex_draven
Сейчас у меня только ремастер кукла, не могу сравнивать с оригиналом, по этому показываю, что кажется не совсем нормальным.
В общем пока так:
- Отсутствует анимация ''убрать меч'' при повороте камеры. (1/2h)

- Резкий, дёрганный поворот/возврат камеры к центру без анимации. (скорее всего с оригинала)


- Поломанная модель руки при 1-2 замахах 1h.30%. Ещё отсутствует 4й удар комбо бойца - Наскок вперёд. (или просто в G1 её нет).
боец 30.jpg
- Остался старый баг между ног при прыжках. Модель искажается в этой области. У всех доспех в этой области по-разному.
межног.jpg
- Ещё эта область искажается при альпинизме. На скрине плохо видно, но в игре задница исполняет странные вытягивания :).
БАГ 1.jpg
 

Myxomop

Почетный форумчанин
Регистрация
28 Май 2005
Сообщения
3.239
Благодарности
2.581
Баллы
455
Ничего он не сломан.
Просто в humans_g2.mds отсутствуют
Daedalus:
// Fireplace
            ani            ("c_FP_Stand_2_S0_1"        1    ""                    0.0    0.0    ..    "Hum_FirePlace_M01.asc"        F    0    8)
            ani            ("c_FP_Stand_2_S0_2"        1    ""                    0.0    0.0    ..    "Hum_FirePlace_M01.asc"        F    20    28)
            ani            ("c_FP_Stand_2_S0_3"        1    ""                    0.0    0.0    ..    "Hum_FirePlace_M01.asc"        F    40    48)
            aniComb        ("t_FIREPLACE_Stand_2_S0"    1    "s_FIREPLACE_S0"    0.0    0.0    M.    "c_FP_STAND_2_S0_"            3)
            {
                *eventTag    (0    "DEF_INSERT_ITEM"    "ZS_RIGHTHAND")
            }

            ani            ("c_FP_S0_1"                1    ""                    0.0    0.0    ..    "Hum_FirePlace_M01.asc"        F    9    9)
            ani            ("c_FP_S0_2"                1    ""                    0.0    0.0    ..    "Hum_FirePlace_M01.asc"        F    29    29)
            ani            ("c_FP_S0_3"                1    ""                    0.0    0.0    ..    "Hum_FirePlace_M01.asc"        F    49    49)
            aniComb        ("s_FIREPLACE_S0"            1    "s_FIREPLACE_S0"    0.0    0.0    M.    "c_FP_S0_"                    3)

            ani            ("c_FP_S0_2_Stand_1"        1    ""                    0.0    0.0    ..    "Hum_FirePlace_M01.asc"        R    0    8)
            ani            ("c_FP_S0_2_Stand_2"        1    ""                    0.0    0.0    ..    "Hum_FirePlace_M01.asc"        R    20    28)
            ani            ("c_FP_S0_2_Stand_3"        1    ""                    0.0    0.0    ..    "Hum_FirePlace_M01.asc"        R    40    48)
            aniComb        ("t_FIREPLACE_S0_2_Stand"    1    ""                    0.0    0.0    M.    "c_FP_STAND_2_S0_"            3)
            {
                *eventTag    (0    "DEF_REMOVE_ITEM")
            }

            ani            ("c_FP_S0_2_S1_1"            1    ""                    0.0    0.0    ..    "Hum_FirePlace_M01.asc"        F    10    18)
            ani            ("c_FP_S0_2_S1_2"            1    ""                    0.0    0.0    ..    "Hum_FirePlace_M01.asc"        F    30    38)
            ani            ("c_FP_S0_2_S1_3"            1    ""                    0.0    0.0    ..    "Hum_FirePlace_M01.asc"        F    50    58)
            aniComb        ("t_FIREPLACE_S0_2_S1"        1    "s_FIREPLACE_S1"    0.0    0.0    M.    "c_FP_S0_2_S1_"                3)

            ani            ("c_FP_S1_1"                1    ""                    0.0    0.0    ..    "Hum_FirePlace_M01.asc"        F    19    19)
            ani            ("c_FP_S1_2"                1    ""                    0.0    0.0    ..    "Hum_FirePlace_M01.asc"        F    39    39)
            ani            ("c_FP_S1_3"                1    ""                    0.0    0.0    ..    "Hum_FirePlace_M01.asc"        F    59    59)
            aniComb        ("s_FIREPLACE_S1"            1    "s_FIREPLACE_S1"    0.0    0.0    M.    "c_FP_S1_"                    3)

            ani            ("c_FP_S1_2_Stand_1"        1    ""                    0.0    0.0    ..    "Hum_FirePlace_M01.asc"        R    0    18)
            ani            ("c_FP_S1_2_Stand_2"        1    ""                    0.0    0.0    ..    "Hum_FirePlace_M01.asc"        R    20    38)
            ani            ("c_FP_S1_2_Stand_3"        1    ""                    0.0    0.0    ..    "Hum_FirePlace_M01.asc"        R    40    58)
            aniComb        ("t_FIREPLACE_S1_2_Stand"    1    ""                    0.0    0.1    M.    "c_FP_S1_2_Stand_"            3)
            {
                *eventTag    (0    "DEF_REMOVE_ITEM")
            }

Ну типо зачем? Да там есть баг с бесконечной генерацией факелов, но фиксится просто созданием мобси-диалога, хотя эвент стоит на удаление предмета.
В твоем скрипте факел вставляется в руку, а затем удаляется. У меня скрипт используется БЕЗ этих фаз.
Daedalus:
// ---------------------------------------------------------------------------------------------------------------
// Fireplace

    ani        ("c_FP_Stand_2_S0_1"            1    ""                0.0    0.0    .    "Hum_FirePlace.asc"        F    0    0)
    ani        ("c_FP_Stand_2_S0_2"            1    ""                0.0    0.0    .    "Hum_FirePlace.asc"        F    0    0)
    ani        ("c_FP_Stand_2_S0_3"            1    ""                0.0    0.0    .    "Hum_FirePlace.asc"        F    0    0)
    aniComb        ("t_FIREPLACE_Stand_2_S0"        1    "s_FIREPLACE_S0"        0.0    0.0    M.    "c_FP_STAND_2_S0_"        3)
   
    ani        ("c_FP_S0_1"                1    ""                0.0    0.0    .    "Hum_FirePlace.asc"        F    0    0)
    ani        ("c_FP_S0_2"                1    ""                0.0    0.0    .    "Hum_FirePlace.asc"        F    0    0)
    ani        ("c_FP_S0_3"                1    ""                0.0    0.0    .    "Hum_FirePlace.asc"        F    0    0)
    aniComb        ("s_FIREPLACE_S0"            1    "s_FIREPLACE_S0"        0.0    0.0    M.    "c_FP_S0_"            3)

    ani        ("c_FP_S0_2_Stand_1"            1    ""                0.0    0.0    .    "Hum_FirePlace.asc"        R    0    0)
    ani        ("c_FP_S0_2_Stand_2"            1    ""                0.0    0.0    .    "Hum_FirePlace.asc"        R    0    0)
    ani        ("c_FP_S0_2_Stand_3"            1    ""                0.0    0.0    .    "Hum_FirePlace.asc"        R    0    0)
    aniComb        ("t_FIREPLACE_S0_2_Stand"        1    ""                0.0    0.0    M.    "c_FP_S0_2_STAND_"        3)
   
    ani        ("c_FP_S0_2_S1_1"            1    ""                0.0    0.0    .    "Hum_FirePlace.asc"        F    0    18)
    ani        ("c_FP_S0_2_S1_2"            1    ""                0.0    0.0    .    "Hum_FirePlace.asc"        F    30    48)
    ani        ("c_FP_S0_2_S1_3"            1    ""                0.0    0.0    .    "Hum_FirePlace.asc"        F    60    78)
    aniComb        ("t_FIREPLACE_S0_2_S1"            1    "s_FIREPLACE_S1"        0.0    0.0    M.    "c_FP_S0_2_S1_"            3)

    ani        ("c_FP_S1_1"                1    ""                0.0    0.0    .    "Hum_FirePlace.asc"        F    18    18)
    ani        ("c_FP_S1_2"                1    ""                0.0    0.0    .    "Hum_FirePlace.asc"        F    48    48)
    ani        ("c_FP_S1_3"                1    ""                0.0    0.0    .    "Hum_FirePlace.asc"        F    78    78)
    aniComb        ("s_FIREPLACE_S1"            1    "s_FIREPLACE_S1"        0.0    0.0    M.    "c_FP_S1_"            3)

    ani        ("c_FP_S1_2_Stand_1"            1    ""                0.0    0.0    .    "Hum_FirePlace.asc"        F    18    29)
    ani        ("c_FP_S1_2_Stand_2"            1    ""                0.0    0.0    .    "Hum_FirePlace.asc"        F    48    59)
    ani        ("c_FP_S1_2_Stand_3"            1    ""                0.0    0.0    .    "Hum_FirePlace.asc"        F    78    89)
    aniComb        ("t_FIREPLACE_S1_2_Stand"        1    ""                0.0    0.0    M.    "c_FP_S1_2_Stand_"        3)
   
// ---------------------------------------------------------------------------------------------------------------
В объекте стойки факела в спейсере установлено требование наличия уже заженного в руке ГГ факела из инвентаря.
Все работает, никаких багов не наблюдается и не нужны мобси диалоги. Уже и не помню когда вставлял этот блок в свой мод на движке Г2.
 
Последнее редактирование:

Scarecrow

Участник форума
Регистрация
11 Авг 2014
Сообщения
162
Благодарности
85
Баллы
220
В общем, хотелось бы поделиться инфой по поводу саркофагов. Не знаю, надо это ли кому или нет, но если хоть одному пригодится - уже не зря.
Анимация со сталкиванием крышки гроба была изначально в оригинале г1 (и в г2 тоже кстати), в humans.mds она обозначена как orc-grave, вот так выглядит:

// Orc-Grave
ani ("t_GRAVE_Stand_2_S0" 1 "s_GRAVE_S0" 0.1 0.0 M. "Hum_OrcGrave_M01.asc" F 0 24)
ani ("s_GRAVE_S0" 1 "s_GRAVE_S0" 0.0 0.0 M. "Hum_OrcGrave_M01.asc" F 25 25)
aniAlias ("t_GRAVE_S0_2_Stand" 1 "" 0.0 0.1 M. "t_GRAVE_Stand_2_S0" R)

ani ("t_GRAVE_S0_2_S1" 1 "s_GRAVE_S1" 0.0 0.0 M. "Hum_OrcGrave_M01.asc" F 26 84 FPS:10)
ani ("s_GRAVE_S1" 1 "s_GRAVE_S1" 0.0 0.0 M. "Hum_OrcGrave_M01.asc" F 85 85)
ani ("t_GRAVE_S1_2_Stand" 1 "" 0.0 0.0 M. "Hum_OrcGrave_M01.asc" R 85 85)

в ремастере такого не было, но после того как добавил это в мдс и кинул HUM_ORCGRAVE_M01.ASC в anims/compiled, все заработало и с ремастером (прикреплю этот файл сюда на всякий).
Аналогично с другим саркофагом, который только приоткрывается (как в в2), он валяется на воге и тоже добавляется в ремастер без особых проблем.

Как бы то ни было, еще раз благодарю за столь большую и кропотливую работу. Действительно качественно сделанная и очень нужная вещь для готана.
 

Вложения

  • HUM_ORCGRAVE_M01.rar
    69,8 KB · Просмотры: 3

alex_draven


Модостроитель
Регистрация
13 Сен 2007
Сообщения
2.183
Благодарности
2.880
Баллы
420
- Отсутствует анимация ''убрать меч'' при повороте камеры. (1/2h)
Ее перекрывает анимация разворота 20 слоя. Можно вылечить только доработкой движка, запретив прятать оружие на развороте.
- Резкий, дёрганный поворот/возврат камеры к центру без анимации.
Это blend. В рамках матмодели человеков на этом движке нормальное поведение.
- Остался старый баг между ног при прыжках. Модель искажается в этой области.
Про руки, ноги, жопы и пр. Движок игры некорректно воспроизводит привязку меша к скелету. Неправильно развесовка вершин работает. С этим сделать ничего нельзя.
В сравнении с оригиналом у моих болванчиков еще все хорошо. Стоит учесть также тот факт, что мы имеем дело с low poly, где не всегда хватает полигонов для адекватной деформации.
 

Raswen

Гражданин Хориниса
Регистрация
18 Фев 2014
Сообщения
1.352
Благодарности
784
Баллы
260
Жалко конечно, не хватает готану плавности. Но что поделать.
 

N1kX


Модостроитель
Регистрация
13 Ноя 2009
Сообщения
6.124
Благодарности
5.622
Баллы
910
Вот так завис НПС при попытке выполнения рутины ZS_RepairHut
88:23 Warn: 0 D: zModel.cpp(zCModel::StartAni): Ani not found: T_REPAIR_STAND_2_S1 .... <zModel.cpp,#2407>

Понаблюдал за анимацией Repair mob
В итоге НПС сколько-то бьет, как начинается проигрывание T_REPAIR_RANDOM_1
происходит сбрасывание анимации и НПС встает то есть он не переходит s_Repair_S1

Тестирую на Г1 на голых скриптах снежков. (Ну только чуть чуть подправил скрипты, на которые ругался ГС)
Проверял на ориг анимации, нпс правильно переходит в s_Repair_S1 после T_REPAIR_RANDOM_1

Ремастер
1605196168558.png

Оригн
1605196291770.png

Подозрение на кривую функцию ZS_RepairHut
 

Trazege

Участник форума
Регистрация
20 Фев 2008
Сообщения
1.760
Благодарности
1.394
Баллы
340
Жалко конечно, не хватает готану плавности. Но что поделать.

Мне интересно зачем вобще смотреть между ног? :) Это ж еще камеру надо выкрутить в соотвествующее положение. Сколько раз играл ни разу не замечал этого бага.
 

Trazege

Участник форума
Регистрация
20 Фев 2008
Сообщения
1.760
Благодарности
1.394
Баллы
340

Raswen

Гражданин Хориниса
Регистрация
18 Фев 2014
Сообщения
1.352
Благодарности
784
Баллы
260
Мне интересно зачем вобще смотреть между ног?
да меня это не парит, я просто ошибки модели высматривал во всех движениях. А так, броня с платьем решает ошибку)
 

Raswen

Гражданин Хориниса
Регистрация
18 Фев 2014
Сообщения
1.352
Благодарности
784
Баллы
260
Ага... запретим значит.
Кстати, в оригинале это не так обрывисто воспроизводится.
Там анимация завершается, но чуть в ускоренном виде при повороте (но тоже не всегда). В ремастере он её завершает мгновенно.
 
Последнее редактирование:

Trazege

Участник форума
Регистрация
20 Фев 2008
Сообщения
1.760
Благодарности
1.394
Баллы
340
Кстати, в оригинале это не так обрывисто воспроизводится.
Там анимация завершается, но чуть в ускоренном виде при повороте. В ремастере он её завершает мгновенно.

Под г1 или г2?
 

Raswen

Гражданин Хориниса
Регистрация
18 Фев 2014
Сообщения
1.352
Благодарности
784
Баллы
260
В г2.
Ещё я показывал видео ''Резкий, дёрганный поворот/возврат камеры к центру без анимации.''
Дак вот в оригинале нет такого движения к центру вообще, за счёт чего выглядит плавнее ремастера (сейчас видео запишу).
 

Trazege

Участник форума
Регистрация
20 Фев 2008
Сообщения
1.760
Благодарности
1.394
Баллы
340
В г2.
Ещё я показывал видео ''Резкий, дёрганный поворот/возврат камеры к центру без анимации.''
Дак вот в оригинале нет такого движения к центру вообще, за счёт чего выглядит плавнее ремастера (сейчас видео запишу).

В г2 вполне...такие вещи обычно движок отслеживает. В г1 видимо он это делает более корректно
 
Сверху Снизу