1. Друзья, в это тяжёлое и непонятное для всех нас время мы просим вас воздержаться от любых упоминаний политики на форуме, - этим ситуации не поможешь, а только возникнут ненужные ссоры и обиды. Это касается также шуток и юмора на тему конфликта. Пусть войны будут только виртуальными, а политики решают разногласия дипломатическим путём. С уважением, администрация Old-Games.RU.

    Скрыть объявление
  2. Пожалуйста, внимательно прочитайте правила раздела.
  3. Если Вы видите это сообщение, значит, вы ещё не зарегистрировались на нашем форуме.

    Зарегистрируйтесь, если вы хотите принять участие в обсуждениях. Перед регистрацией примите к сведению:
    1. Не регистрируйтесь с никами типа asdfdadhgd, 354621 и тому подобными, не несущими смысловой нагрузки (ник должен быть читаемым!): такие пользователи будут сразу заблокированы!
    2. Не регистрируйте больше одной учётной записи. Если у вас возникли проблемы при регистрации, то вы можете воспользоваться формой обратной связи внизу страницы.
    3. Регистрируйтесь с реально существующими E-mail адресами, иначе вы не сможете завершить регистрацию.
    4. Обязательно ознакомьтесь с правилами поведения на нашем форуме, чтобы избежать дальнейших конфликтов и непонимания.
    С уважением, администрация форума Old-Games.RU
    Скрыть объявление

Римейк оригинального Unreal на движке Unreal Engine 3

Тема в разделе "Мастерская", создана пользователем Vermillion ][, 23 фев 2009.

?

Как Вы отнеслись бы к римейку легендарного Unreal?

  1. Я ЗА!!! Ждал этого 10 лет! Когда начинаем делать?))

    26,5%
  2. Идея хорошая... Посмотрим, что получится.

    44,7%
  3. Может, и поиграл бы...

    11,4%
  4. Не катит. Unreal не нуждается в римейках.

    11,4%
  5. Unreal? Это ещё кто такой?!

    5,9%
Статус темы:
Закрыта.
  1. Vermillion ][

    Vermillion ][

    Регистрация:
    22 фев 2009
    Сообщения:
    143
    Basic Scripting Tutorial for UT3


    [​IMG]


    Изначально писать туториал по теме скриптинга я не планировал. Но сам столкнулся с целым рядом проблем в этой области - и понял, что человеку работаюему в Ut3Ed хотя бы базовые знания в скриптинге необходимы. Основой послужили два туториала (YouTube - UT3 - Create New Script и вот этот) переведённых мной на язык Пушкина и Толстого, улучшенные и дополненные собственными наблюдениями и информацией с форумов. В статье очень подробно,с картинками;), разбираются базовые понятия. Если вы хоть что-то понимаете в Unreal Script - вряд ли вы найдёте тут полезную информацию. Однако для большинства (как и для меня самого) скриптинг это Terra Incognito - на них этот материал и рассчитан в первую очередь.

    *Что такое компиляция/декомпиляция*

    Компиляция — преобразование программой-компилятором (в прежних версиях она называлась ucc; сейчас это Unreal Editor с параметром make) исходного текста программы, написанного на языке высокого уровня в машинный язык, в язык, близкий к машинному, или в объектный модуль.
    Говоря русским языком - программа преобразует наш текстовый файл (он будет иметь вид *.uc) в некий модуль (файл типа *.u) который сможет понять игра.

    Декомпиляция - обратный процесс (т.е. перевод *.u файлов в редактируемые *.uc).
    Для начала научимся декомпилировать (экспортировать) скрипты - это несложно - открываем редактор, Actor Browser - жмём File/Export All Script.

    [​IMG]

    После чего машина задумается и через 3-5 минут выдаст вам скрипты всех загруженных на тот момент классов (обратите внимание - чтобы экспортировались скрипты нестандартной модели - нам надо сначала её и её скрипты загрузить в редакторе; ну или прописать в ini-шке чтобы они загружались с редактором). В UTGame появилась папка ExportedScript - там лежат экспортированные скрипты также рассортированные по папкам. Декомплияция пригодиться вам в дальнейшем. Эта опция нужна для извлечения уже скомпилированных (разработчиками, другими пользователями) скриптов, просмотра их содержимого, дальнейшей их доработкой, использования интересующего вас кода с последующей компиляцией.

    *Создание простейшего скрипта*


    1) В Documents\My Games\Unreal Tournament 3\UTGame создайте папку Src, в ней папку TestPackage, в ней папку classes, и в папке classes создайте простой текстовый файл (*.txt). Общий путь выглядит так Documents\My Games\Unreal Tournament 3\UTGame\Src\TestPackage\classes\Новый Текстовый Документ.txt.

    Теперь поясню - в папке Src будут находиться файлы подготовленные к компиляции, разложенные по папкам, название которых будет определять имя файла. То есть пакэдж (файл) содержищий наш готовый скрипт после компиляции будет называться TestPackage.u. Редактор предназначен для компиляции разных типов ресурсов, но в нашем случае мы компилируем скрипт - поэтому подпапка у нас называется classes.

    2) Переименуйте файл Новый Текстовый Документ.txt в TestActor.uc. Подтвердите смену расширения файла.

    3) Откройте файл любым текстовым редактором (лучше простым - Блокнотом; или ещё лучше специально заточенным под программирование - типа Notepad++).
    Напишите с первой строки:

    class TestActor extends Actor;

    В переводе на человеческий язык эта команда значит вот что - класс TestActor (созданный нами субкласс; совпадает с именем файла) расширяет(дополняет) группу Actor. ; - значит окончание скрипта.

    [​IMG]

    Сохраните этот файл. По идее сохранять надо в кодировке Юникод, но я не обратил на это внимание и сохранил как было по умолчанию (ANSI). В дальнейшем проблем не было - скрипт скомпилировался. Так произошло потому, что у АNSI и Юникода коды латинских букв и простых символов совпадают (для русских уже различаются). Ну а поскольку все команды на латинском тут то...

    4) Теперь идите в папку Documents\My Games\Unreal Tournament 3\UTGame\Config и открывайте файл UEditor.ini. Нажмите Ctrl+F и наберите в поиске [ModPackages].
    В этой секции нижней строчкой допишите ModPackages=TestPackage. Итоговый результат будет быглядеть примерно так
    ...

    [ModPackages]
    ModPackagesInPath=..\UTGame\Src
    ModOutputDir=..\UTGame\Unpublished\CookedPC\Script
    ModPackages=TestPackage

    ...
    Сохраните файл.
    Не делайте синтаксических ошибок - я написал ModPackage=TestPackage и потом удивлялся почему компилятор не работает.
    Обратите внимание имя которое мы тут пишем (TestPackage) соответствует имени папки в Documents\My Games\Unreal Tournament 3\UTGame\Src\, и соответственно имени нашего будующего пакэджа.

    5) Теперь перейдём к компиляции - компилировать можно аж тремя способами:
    > Можно просто запустить редактор. При старте он проверит файл UEditor.ini, увидит вашу строчку ModPackages=TestPackage, поищет что лежит в папку Src и если вы всё сделали правильно - выдаст вам вот такое сообщение. При нажатии "Yes" - запустится процесс компиляции - для такого простого пака он займёт пару секунд.

    [​IMG]

    > Можно компилировать из коммандной строки уже открытого редактора.

    > Самое удобное - создать копию ярлычка UT3 и в свойствах дописать make. Вот как это выглядит.

    [​IMG]

    При запуске этого ярлыка - автоматически откроется окно компиляции - не надо каждый раз запускать редактор. В любом случае - если вы все сделали правильно по предыдущим пунктам то увидите надпись Success - 0 error<s>, 0 warning<s>. Если что-то не так - то у вас либо не получиться скомпилировать пак - компилятор напишет что-нибудь вроде Failure - 2 error<s>, 0 warning<s> и причины по которым это произошло; либо получиться но с ошибками. Подробнее о типовых ошибках в конце туториала.

    6) В папке UTGame\Unpublished\CookedPC\Script ищите файл TestPackage.u - в принципе вот этого мы и добивались.
    Ради интереса можно скопировать его в Documents\My Games\Unreal Tournament 3\UTGame\Published\cookedpc\Script, запустить редактор. Открыть Actor Classes Browser - File/Open/ и откройте TestPackage.u. Если вы снимите флажок "Show Only Placeble Actors", то увидите наш класс. Конечно никакой функции он не несёт.

    [​IMG]

    *Создание мутатора*


    Теперь, попробуем создать простой мутатор. Мутатор - это тоже скрипт. Наш мутатор будет называться Super Rocket Launcher. Зверское оружие, скажу я вам. :yes:

    Приступим:
    1) В Documents\My Games\Unreal Tournament 3\UTGame у вас должна быть папка Src из предыдущего туториала, в ней создайте папку SuperRocket, в ней папку classes, и в папке classes создайте три текстовых файла. Путь к ним получается такой C:\Users\1\Documents\My Games\Unreal Tournament 3\UTGame\Src\SuperRocket\Classes.

    2) Первый текстовый файл переименуйте в UTWeap_SuperRocketLauncher.uc - он будет отвечать за наше оружие - Супер Рокет Лаунчер. Откройте файл блокнотом и с первой строки впишите (или скопируйте, но предпочтительней печатать самому - лучше усваивается информация и тренируется внимание) следующий текст:

    class UTWeap_SuperRocketLauncher extends UTWeap_RocketLauncher;

    DefaultProperties
    {
    WeaponProjectiles(0)=class'UTProj_SuperRocket'
    WeaponProjectiles(1)=class'UTProj_SuperRocket'
    }​

    Сохраните в кодировке Unicode. Закройте.
    Как видно из этого скрипта - Супер Рокет Лаунчер является подклассом Рокет Лаунчера. И стреляет ракетами SuperRocket.

    3) Теперь создадим эти самые убойные ракеты - ведь сам по себе RL урона не наносит - его наносят именно ракеты. Переименуйте второй текстовый файл в UTProj_SuperRocket.uc, откройте и впишите:

    class UTProj_SuperRocket extends UTProj_Rocket;

    DefaultProperties
    {
    Damage = 500
    DamageRadius = 1000
    }​
    Как можно заметить новые ракеты наносят максимальный урон 500 (то есть при прямом попадании убъют даже полностью отожранного игрока; исходное значение 100), и бъют по огромной площади радиусом 1000 unreal units (220 исходно). Сохраните файл.

    4) Переименуйте третий текстовый файл в RocketMutator.uc - нужно решить проблему откуда игрок возьмёт такое мощное оружие. Открывайте и пишите с первой строки:

    class RocketMutator extends UTMutator;

    function InitMutator(string Options, out string ErrorMessage)
    {
    if (UTGame(WorldInfo.Game) !=None)
    {
    UTGame(WorldInfo.Game).DefaultInventory[0]=class'UTWeap_SuperRocketLauncher';
    }

    Super.InitMutator(Options, ErrorMessage);
    }

    function bool CheckReplacement(Actor Other)
    {
    if(Other.IsA('UTWeap_RocketLauncher')&&!Other.IsA('UTWeap_SuperRocketLauncher'))
    {
    ReplaceWith(Other,"UTWeap_SuperRocketLauncher");
    }

    return true;
    }

    DefaultProperties
    {
    }​
    Смысл этого скрипта в том что он заменяет стартовое оружие на Super Rocket Launcher.

    5) В папке Documents\My Games\Unreal Tournament 3\UTGame\Config и откройте файл UEditor.ini. И в секции [ModPackages] допишите ModPackages=SuperRocket. Сохраните файл.

    6) Запускайте компилятор если вы всё сделали правильно - то на выходе получите файл SuperRocket.u (располагается в папке Documents\My Games\Unreal Tournament 3\UTGame\Unpublished\CookedPC\Script) и файл UTSuperRocket.ini (лежит в Documents\My Games\Unreal Tournament 3\UTGame\Config).
    Обратите внимание что в этот раз мы скомпилировали три uc файла в один.

    [​IMG]

    7) Файл UTSuperRocket.ini - это файл конфигурации. В принципе он не имеет критичного значения - даже если его удалить - мутатор будет работать. Этот файл имеет следующее содержание:

    [RocketMutator UTUIDataProvider_Mutator]
    ClassName=SuperRocket.RocketMutator
    FriendlyName=RocketMutator
    Description=Super RL
    GroupNames=
    UIConfigScene=
    bStandaloneOnly=False
    BitValue=0
    bRemoveOn360=False
    bRemoveOnPC=False
    bRemoveOnPS3=False

    [UTWeap_SuperRocketLauncher UTUIDataProvider_Weapon]
    ClassName=SuperRocket.UTWeap_SuperRocketLauncher
    AmmoClassPath=
    Flags=
    FriendlyName=UTWeap_SuperRocketLauncher
    Description=
    MeshReference=
    bRemoveOn360=False
    bRemoveOnPC=False
    bRemoveOnPS3=False​

    Здесь можно подредактировать имя мутатора в игровом меню (FriendlyName=) и его описание (Description=). Настройка bStandaloneOnly отвечает за несовместимость с другими мутаторами - в данном случае он совместим. Сохраните файл.

    8) Теперь т.н. publish - скопируйте файл SuperRocket.u в папку Documents\My Games\Unreal Tournament 3\UTGame\published\cookedpc\Script; если таковой нет - создайте. Если вы не перенесёте SuperRocket.u в папку published - мутатор будет отображаться среди доступных в меню, но в самой игре его не будет.

    9) Испытывайте написанный своими руками мутатор в игре )))​
    Итак что мы получили на выходе? Игрок появляется с RL в руках, стреляющим очень мощными ракетами с большим радиусом поражения. Визуально мутатор ничего не изменяет - то есть взрывов на пол-карты как от редимера не будет. Но даже если ракета попадёт достаточно далеко от врага - его заденет невидимой взрывной волной и порвёт на куски.
    Тактика игры меняется радикально - достаточно хотя бы выстрелить в сторону врага и можно быть уверенным что фраг (а зачастую и дабл/мульти-килл) обеспечен. Счёт растёт как на дрожжах; как и суициды. Однако, надо помнить что у ботов такие же пушки - правда пользуются они ими не особо умело.
    Обратите внимание что в данном мутаторе присутствует немало "ляпов" (на самом деле так и задумано - т.к. этот мутатор чисто очень простой, чисто обученческий - при желании их все можно устранить) - ракеты пущенные альтернативным режимом или кинутые как гранаты - наносят прежний ущерб (т.к. они являются другим классом); то же самое с рокет лаунчерами у Титанов - они остаются прежними (это другой класс) - становиться Титаном теперь не выгодно :p; если в игре подхватить обычный RL - то у вас окажется и он и SuperRocketLauncher...Ну да бог с геймплейной составляющий - всё таки не для этого мутатор делали.

    *Распространённые Ошибки*


    При запуске редактора не появляется заветная табличка предлагающая скомпилировать изменённые скрипты, а при запуске непосредственно ярлыком выдает

    [​IMG]

    С 99.9% вероятностью вы или неправильно написали (не там/не написали вовсе) строчку ModPackages=TestPackage в UEditor.ini; либо не создали собственно скрипт в Src\...\classes.

    ____________________________________________________________________________________________________​

    Если компилятор выдаёт такую ошибку Error, Unexpected 'i' - значит сохраните .uc файл в кодировке Юникод. У меня повторюсь этой проблемы не наблюдалось - но на форумах народ об этом пишет.

    ____________________________________________________________________________________________________​

    Если компилятор начинает компилировать скрипт о потом выдаёт warning'и или error'ы (при этом скрип может скомпилироваться или не скомпилироваться - в зависимости от ошибки) - внимательно читайте лог и ищите ошибки внутри .uc файла. Например если вы забудете поставить ; в конце строки - то компилятор так и напишет.
    Исправьте ошибку и запускайте компилятор снова - пока не получите строчку Success - 0 error<s>, 0 warning<s> .

    *The End*

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





    Vermillion ][​
     

    Вложения:

    Yosomono, M210, Timonza-kun и 2 другим нравится это.
  2. Vermillion ][

    Vermillion ][

    Регистрация:
    22 фев 2009
    Сообщения:
    143
    Забавный эксперимент

    В Unreal Engine 3 как известно довольно мощный физический движок Nvidia (в девичистве Aegia) PhysX.

    Решил я его испытать на прочность :rolleyes: Взял вот такой вот достаточно простенький деревянный ящик - 360 треугольников, простая боксовая коллизия (коллизия вообще чем проще тем лучше), размер ящика (32*32*32 uu - т.е. небольшие) - кстати копия маленького деревянного ящика из Unreal.

    Выяснилось не зря люди в Aegia трудились - физика не подкачала. Имеется обширное колличество настроек - можно изменить массу объекта (по умолчанию рассчитывается исходя из размеров); трение; и т.п. Можно настроить звуки при движении. Можно сделать объекты разрушаемыми. Всё просчитывается очень и очень качественно - например, колонна из ящиков рушиться как надо согласно законам притяжения (т.е. рассчитывается масса давления всех ящиков друг на друга; если выстрелить в самый нижний ящик - его будет выбить из стопки сложнее и т.п.). Уверен что вполне реально сделать например какое-нибудь домино - и это будет работать.

    Конечно не обошлось и без нескольких ляпов - 1) Не очень корректное отображение decals (следов от выстрелов, крови) и взрывов ракет на движущихся физических объектах - у меня деколы моргали, а взрывы (видимо потому что постоянно пересчитывается положение точки взрыва) - прыгали то в одну то в другую сторону.
    2) Простые меши (например металлический ящик - куб) при постановке на ребро в редакторе (под 45 градусов) и старте уровня - он так и остовался стоять (разумеется была галка wake up on level start) - что в природе явно невозможно. Более того при расположении его на высоте последующем старте уровня - падает, несколько раз отскакивает ребром и так и приземляется ))) Один раз вообще курьёз был когда я "гонял" ящик по карте он сам стал на ребро - но это конечно случай редчайший. И возможный только для простых мешей.
    3) У меня почему то труп игрока проваливался сквозь ящик - впрочем это может быть я не нашёл нужную галочку...
    4) На движущихся физических объектах игрок ведёт себя не совсем корректно - то есть например если сесть на ящик и выстрельнуть в него - то тебя скидывает причём как то странно - рывками.

    Ну разумеется в конце концов не обошлось и без экстрима:yes: На скриншоте 3584 маленьких деревянных ящика (не считая пары десятков больших). В каждом ящике напомню 360 полигонов и у каждого простая коллизия (куб). На моей не особо мощной системе (ноутбук Asus M50VM - Intel® Core 2 Duo 2.4 ГГц, DDR2 800 - 4096 Мб, NVIDIA® GeForce™ 9600M GS) при запуске в редакторе игра выдавала порядка 2-3 кадров в секунду.
    Забавно конечно всё это выглядит - видно как ящики между собой взаимодействуют, труться, от выстрела из редимера разлетаются (кстати удивился - редимер придаёт достаточно слабый импульс физическим объектам, как и рокет например; зато флак наоборот) по всей комнате и т.п. Конечно 3 фпс в секунду - не айс - но это 3500 физических объектов в одной комнатушке! А в реалиях в комнатке ну максимум будет 20 этих ящиков. Если сделать например отбиваемую от стен плитку, все оъекты в комнате разрушаемые и т.п. - то и тогда думаю получиться объектов 300-500 на экране. А, на данный момент, этого более чем достаточно.

    Вот такой вот прикольный опыт с физикой получился.

    PS: кстати насчёт физики - есть карта по мотивам Lego для ут3 - где всё состоит из конструктора и "разрушаемо" (кроме стен ограждающих карту, ёлок и некторых других объектов). Прикольная но совершенно неиграбельная (а тем более с ботами). Кому интересно - обязательно гляньте.
    Также существует Aegia Physix MapPack (вроде так называется) - в котором если мне не изменяет память 3 карты с продвинутой физикой (больше разрушаемых объектов, больше частиц и т.п.) - DM-HeatRay, Tornado и ещё какая-то CTF карта. У меня эти карты тормозили очень сильно на компе (по идее для них надо был физический ускоритель - от которого отказалась индустрия) - но конечно впечатляет.
    На DM_HeatRay_PhysX например - идёт град причём градины не спрайтовые а настоящие сферические, какающиеся по земле сообразно всем законам физики; и если например выстрельнуть из Gravity Wave Gun'а (так на этих картах называется модифицированный Shock Rifle, выстрел из которого создаёт за собой волну гравитации) - эти градины закрутившись вихрем понесуться вслед за выстрелом. Кроме того добавлена куча ящиков/мусорных баков; все стёкла бьются; вывески сносятся и гаснут; добавлены газовые баллоны которые при попадании сначала летают а потом взрываются; деревянные строительные леса и т.п. На скриншотах это не особо видно - а в игре отлично смотриться.
     

    Вложения:

    Последнее редактирование: 11 июл 2009
    M210, Yosomono, unreal doom и 2 другим нравится это.
  3. Timonza-kun

    Timonza-kun

    Регистрация:
    11 ноя 2008
    Сообщения:
    430
    Хорошее исследование провел, и толково отписал, респект. Возникает вопрос: позволит ли движок сделать убедительно ломающееся дерево (второй фаркрай в этом неплох, но не более)? Я имею в виду балки мостов в шахте, чтоб проламывались каждый раз уникально. Хочется так же, чтобы врагов разрывало в физическом соответствии со взрывом таридиумной бочки, когда пользуешься такой техникой. Далее. Храм Вандоры и Каньон Змей, места, где пользуешься лодкой: можно ли заставить ее покачиваться на воде согласно перемещению по ней? При возросших возможностях движка хочется и большей достоверности в поведении физических объектов. На фоне этого проблемы с декалями кажутся несущественными.
     
    M210, Yosomono и Vermillion ][ нравится это.
  4. Vermillion ][

    Vermillion ][

    Регистрация:
    22 фев 2009
    Сообщения:
    143
    Отвечу по порядку.
    В фар край я не играл - но играл в крайзис (тот же движок CryEngine2). Деревья там сделаны по технологии speedtree как и в UnrealTournament3 (например на Торлане). Одно но - ни в одной игре на UE3 я не видел ломающихся (как в Crysis) деревьев... И если в UT3 можно объяснить - мультиплеер всё таки; то в в других играх сложнее. Так что не уверен что это возможо реализовать - даже на уровне FarCry 2.
    Балки чтобы ломались по разному каждый раз думаю сделать вполне реально (правда надо будет в максе скелет делать).
    Не совсем понятно что ты подразумевал под "врагов разрывало в физическом соответствии со взрывом таридиумной бочки". В современных играх вообще во всех когда персонажа разрывает - его моделька пропадает а на её месте появляются куски тела (gibs). Всё это происходит моментально - поэтому игрок подмены не замечает. На мой взгляд лучше всего это было реализовано в ут2004 - где отстреливались конечности. Видимо из соображений уменьшения насилия в игре этой фичи нет в ут3 - чтобы детки после игры в UT3 на PS3 спали спокойней - хотя реализовать её вполне возможно.
    Насчёт лодки - сделать так чтобы её покачивало - думаю возможно.

    Вообще чтобы представлять на что способен физический движок ут3 надо просто напросто смотреть на уже сделанные на нём игры - UT3, Gears of War, Mass Effect, Airborn, Roboblitz и т.п.
     
    Последнее редактирование: 12 июл 2009
    Timonza-kun и Yosomono нравится это.
  5. Timonza-kun

    Timonza-kun

    Регистрация:
    11 ноя 2008
    Сообщения:
    430
    я видел демки возможностей движка, и полагаю, что он ничуть не хуже крайтековского, а значит и разделение объекта на части в указанной точке вполне возможно. для пущей похожести на дерево срез для разделения частей бруска можно реализовать не плоским, а "колючим", в том же максе это дело нескольких кликов. По идее, эти мосты можно вообще сделать разрушаемой частью архитектуры уровня.
    про разлетающиеся гибы имею в виду, что скорость и направления разлета должны соответствовать направлению на взрыв и расстоянию до него. а то в оригинале куски просто летят в разные стороны, как будто скар шашку динамита проглотил. оговорюсь, что при выстреле зениткой, пучком ракет или шоковой комбой фрагменты летят "куда велено".
    другое огорчение - что в оригинале нельзя спасти всех четырехруких, а для них имхо надо предусмотреть такую возможность. и еще косяк с ними, если хоть немного заденешь, начинают бояться что демона с небес и уже не помогают, но на следующем уровне словно забывают об этом. а коль скоро на нас возложена нелегкая доля мессии, мы должны с ними считаться, а они должны это чувствовать.
     
    Yosomono и Vermillion ][ нравится это.
  6. Vermillion ][

    Vermillion ][

    Регистрация:
    22 фев 2009
    Сообщения:
    143
    Хе, в максе то колючим реализовать разумеется можно - но тогда это дерево будет колоться в том месте где мы сделали. В крайзисе же возможность рубки растений реализована на более сложном уровне - там дерево ломается именно там куда попада пуля (разумеется в труху нельзя разбить - ограничения есть).
    В любом случае на На Пали пальмочек не так много, да и делать ли их разрушаемыми - это ещё вопрос.
    Четырёхруких всех действительно спасти нельзя - есть там заскриптованные смерти. Но большинство (процентов 95 если не больше) возможно, хотя и сложно. Не знаю как на Easy, но на Unreal придётся save/load не раз и не два делать - уж очень монстры любят беззащитных бить. Иногда у меня нали шугались даже без видимого в них попадания - просто от того что перестрелка рядом шла - и не открывали тайники.
     
    Yosomono и Timonza-kun нравится это.
  7. Timonza-kun

    Timonza-kun

    Регистрация:
    11 ноя 2008
    Сообщения:
    430
    я имею в виду в максе сделать саму форму разлома, перенести в УЕ и помещать на балке в соответствии с наступанием, разве движок это не осилит? А пальмы ломать и правда смысла нет, мы не в джунглях. хотя отдельные растения можно сделать разрушаемыми, например на терраниуксе. разрушаемость хороша именно для мостов. особенно шикарной будет возможность проломить балку перед Спайром и совершить затяжной прыжок в лаву на пару со сброшенным Нали (этого уж точно не спасти).
     
    Yosomono, unreal doom и Vermillion ][ нравится это.
  8. Yosomono

    Yosomono

    Регистрация:
    19 июн 2009
    Сообщения:
    13
    Я на некоторое время отойду от проекта, поэтому выкладываю то, что уже готово - а именно, первую альфа-версию ремейка карты Sky Caves.

    Что имеется на данный момент:
    - Текстуры высокого разрешения с бамп-мэппингом и прочими "вкусностями", которые предоставляет движок UE3. Для некоторых стандартных материалов (скалистые стены и каменистый пол в пещере, металл и т. п.) использовались восстановленные по оригинальной текстуре карты нормалей + те, что есть в UT3. Для некоторых других (каменнная кладка, плитка, декорации) востановленные карты нормалей вручную доводились до ума в фотошопе (за не именеем подходящих аналогов в стандартном UT3) для их более естественного и чёткого вида.
    - Пламя теперь представляет собой не просто две перекрещивающиеся плоскости, а действительно реалистичное пламя благодаря использованию системы частиц.
    - Реалистичная шейдерная вода, анимированная в соответсвии с движением потока и обладающая соответствующими свойствами.
    - Освещение в целом повторяет оригинал, при этом, само собой, оно более реалистичное.
    - Переработаны водопады. Вместо плоскостей поставлены статик-меши (опять же, позаимствованные из UT3), добавлен эффект брызг с помощью системы частиц.
    - Практически все статические объекты (геометрия) не изменялись, кроме фонарей, которые были позаимствованы из UT3.
    - Динамические объекты (муверы) полностью соответствуют оригиналам из U1. Геометрия их также не менялась.
    - Сделано многослойное цветное небо, но пока отсутствуют парящие вдали острова и луны на небе.
    - Всё звуковое окружение в точности повторяет оригинал. Разумеется, в более высоком качестве за счёт более продвинутой звуковой составляющей движка. Изменены только звуки водопадов, которые были позаимствованы, понятное дело, из UT3.
    - Музыка из оригинала (Surfacing), с улучшенным качеством звучания. Для экспорта в wav использовался ModPlug Tracker.
    - Зеркальные поверхности реализовать так и не удалось.

    На данном этапе не вижу смысла детализировать геометрию из-за субтрактивного способа посторения уровней (а в U1 все уровни так построены), так как это чревато неприятными неожиданностями в виде пропадания в случайных местах участков уровня при её добавлении. Лучше уж воссоздать её с нуля в аддитивном режиме.

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

    http://ifolder.ru/13102259

    Пароль на скачивание:
    alphamaptest
     
    M210, unreal doom и Vermillion ][ нравится это.
  9. Vermillion ][

    Vermillion ][

    Регистрация:
    22 фев 2009
    Сообщения:
    143
    Ммм... Всякие обстоятельства бывают - я бывало тож неделями к редактору не притрагивался - до того он мне надоедал. В любом случае обязательно посмотрю твою работу, напишу свои комментарии и надеюсь на твоё скорое возвращение.
     
  10. Vermillion ][

    Vermillion ][

    Регистрация:
    22 фев 2009
    Сообщения:
    143
    Yosomono, внимательно изучил твою карту - в целом хорошо. Напишу свои впечатления и рекомендации.

    Во-первых понравилось что ты реализовал эффект падения (т.е. когда камера останавливается - а труп продолжает падать) - идея отличная. На SkyCaves и SkyTown то что надо. Обнаружил забавный глюк - в самом начале уровня - при падении в дырку куда прилетает небесный лифт и нажатии кнопки Feign Dead - героя почему то не телепортирует в локацию "падения" - т.е. можно встать потом и побегать по небу. Странность заключается в том что при падении с остальных балкончиков - всё в порядке.
    Вообще по-хорошему конечно надо делать открытым аддитивным этот уровень - тогда и персонаж падать далеко будет, и телепортацию убрать нафиг, и небо красивое сделать можно будет. Сложность как я понимаю в том что браши сложной формы и просто так сконвертить их в аддитивные не получиться.
    То что лифт ты сделал статик мешем это тож грамотно. Вообще их надо побольше на уровне делать - я бы также балки перекрытий в пещерах/ мосты т.п. сделал статиками.
    В общем и целом детализацию надо будет повышать.
    Смотря карту в редакторе мне не очень понравилось отсуствие групп в пакэйдже - там их только две для звуков - все текстуры, материалы и т.п. свалены в кучу - что конечно не есть хорошо.

    Зеркальные поверхности можно реализовать с помощью Scene Capture Cube Map Actor.

    Насчёт музыки - у меня вообще идея некоторые композиции (те которые выпускались в составе OST) - из FLAC перекодировать. В частноcти Surfacing там есть.

    PS: Не мог бы ты выложить ещё и Unpublished версию. На всякий случай... И как решишь продолжить - черкани мне в личку.
     

    Вложения:

    Последнее редактирование: 16 июл 2009
    Timonza-kun и unreal doom нравится это.
  11. Vermillion ][

    Vermillion ][

    Регистрация:
    22 фев 2009
    Сообщения:
    143
    Создание Voice Pack для UT3, часть 1

    Создание Voice Pack для UT3


    [​IMG]


    Не нашёл в интернете материалов по данному, достаточно узкому, вопросу - поэтому решил разобраться сам и заодно помочь людям. Я обожаю озвучку в Unreal Tournament 99 (хотя надо сказать, что и в ut2004 и в ut3 она по своему хороша) - поэтому мой выбор пал на неё - а конкретней на Female 1 Voice.

    В данной статье очень подробно рассказано о том, как я делал voice pack для ут3 - что в дальнейшем, при создании своего пака, снимет многие (если не все) вопросы; заодно рассматриваются принципы работы в звуковом редакторе (что также будет актуально и при добавлении звуков на свою карту и, в меньшей степени, при импортировании музыки) и связанный с этим скриптинг. Думаю что 99% людей работающих в Ut3Ed этот материал будет интересен и полезен. Для удобства разбил свой рассказ на 3 поста - просто хотелось побольше ключевых картинок прикрепить к теме - левые хостинги могут закрыться, срок размещения картинки истечёт и т.п. - а Old-Games вечен:yes:. Наверняка в нём есть ошибки и неточности - прошу высказывать мне в личку если найдёте что-то по-существу, либо если хотите дополнить - будем править.

    Для начала немного теории - голоса в УТ3 "намертво" привязаны к персонажам. Почти у каждой фракции есть свои два стандартных голоса - мужской и женский (за исключением Краллов и Лиандри - они не различаются полом); и "сюжетные" персонажи тоже имеют свой голос - Джестер, Рипер, Отелло и т.п. Я считаю эту привязку безусловной деградацией - как многие помнят раньше (ут99/ут2004) можно было выбирать войс пак по желанию - непонятно по каким причинам разработчики отказались от этого.
    Соответственно чтобы испытать свой voice pack в игре надо: или привязать этот голос к стандартной модели, или к кастомной модели. Я предпочёл второй путь - дабы не изменять оригинал.

    Вот такой общий план действий у нас получиться:
    1) Находим произвольную модельку персонажа (со стандартной, или возможно с другой озвучкой - это не имеет значения).
    2) Экспортируем звуки из УТ99 и импортируем в УТ3.
    3) Работа со звуком - приведение voice pack'a в человеческий вид, создание cue-файлов, и т.п.
    4) Работа со скриптами - ибо привязка саунд пака к модели (а точнее к family) делается здесь.
    5) Корректировка громкости.​


    *Модель персонажа*


    [​IMG]

    Найти модельку персонажа - это самое простое...
    Конечно в идеале нужно бы экспортировать из UT99 и модели - чем я возможно и займусь позже, но для примера я взял уже готовую. Модель некой мисс Солковой от Bartosz Danielak (оригинал качать тут) - вот каких женщин предпочитает автор:)
    И за что нас, русских, так "любят"? :unknw:
    Впрочем с технической стороны выполнена моделька отлично - и даже участвовала в Make Something Unreal. A уж какая тут анимация (это надо видеть в игре) - таких удачных работ мало:good: А вот про голос автор пишет "voicepack not so good, but..." (войс пак не так хорош, но... он есть) Хмм... действительно не так - насколько я понял делался с помощью Виндовского Text-to-Speech - эмоций нуль. Попробуем исправить ;)

    *Экспорт и импорт звуков*


    Экспортировать звуки из UT99 (не только из UT99, но из любой игры на Unreal Engine - к примеру из Clive's Barker Undying; и не только звуки - а вообще практически что угодно) удобно великолепной программой Unreal Tournament Package Tool (скачать можно, например, здесь). Звуки надо выдирать из двух паков: FemaleSounds (все женские звуки, кроме голоса - прыжки, смерть, падения и т.п. - в ут99 одинаковы для всех персонажей женского пола), Female1Voice (собственно голос на основе которого делаем воис пак) - всего у меня получилось 83 звука.
    На выходе получаем wav файлы, правда в неподходящем качестве (8000 Гц, 8 бит, моно) - игре то уже 10 лет - такие звуковые файлы редактор УТ3 импортировать откажется. Обратите внимание что звуки надо импортировать в формате wav c параметрами 16bit stereo 44100Hz PCM.
    Для изменения битрейта можно воспользоваться любым, даже самым простым, аудиоредактором - лично я использовал Mystic Media AudioEdit Deluxe. Он прост как три копейки и имеет возможность пакетной обработки файлов.

    Теперь импорт - ничего сложного тут нету - открываем в редакторе Generic Browser и жмём File/Import. Для того чтобы не сортировать потом по подгруппам сначала выбираем все звуки из пакэйджа FemaleSounds - они без приставки f1. В открывшемся окне пишем название будующего пакэджа (в моём случае A_Character_UT99Female1Voice.upk), и сразу пишем подгруппу Effort (то бишь это звуки падений/ранений - не голоса). Имена отдельных файлов и настройки менять не нужно. Кликаем Ok to All.
    Вторым заходом я импортировал имена в группу Names - они есть в звуках персонажей ут99 (Able, Baker, Fox, Dog, Charlie, Romeo, Tango, Victor, Zulu а также Red/Blue/Green/Gold Leader). Нам они в принципе не надо - можно их и не импортировать, но для сохранения оригинала - я импортнул их в группу Names - они не используются в игре, но вдруг кому пригодятся.
    Третим заходом идут в группу BotStatus идут файлы - все фразы бота "по делу" (включая не только - "Враг захватил флаг", но и "в меня попали" и т.д.) кроме насмешек.
    Последним заходом импортируем в группу Taunts собственно насмешки (всё что осталось).

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

    На выходе мы получили пакэдж по имени A_Character_UT99Female1Voice в котором 4 группы:
    BotStatus - 28 звуков
    Effort - 19 звуков
    Names - 13 звуков
    Taunts - 23 звука​

    Сохраните его - и не забывайте сохраняться почаще - это общий совет при работе с редактором. Вылетает он редко, но метко (при работе со звуком у меня, правда, ни разу).
    Второй общий совет - обладателям Висты - то у вас может быть глюк - при закрытии SoundEditor'a/Material Editor'a и т.п. редактор выдаёт диалог "Сохранить изменения?". Вы жмёте "Да" - по идее пакэйдж должен сохраниться - но под Вистой редактор выдаёт ошибку ("Can't save ..."). Решается сия проблема запуском программы от имени администратора (В свойствах ярлыка, на закладке Совместимость - поставьте галку напротив "Выполнять эту программу от имени администратора").
    Третий и последний совет - Никогда ничего не изменяйте в директории инсталляции игры (C:\Program Files\Новый Диск\Unreal Tournament 3\ у обладателей лицензионной русской версии) - это чревато переустановкой игры.
    Все любительские и готовые свои карты/моды/звуки/скрипты и т.п. должны лежать в C:\Users\Username\Documents\My Games\Unreal Tournament 3\UTGame\Published.
    Все не готовые (находящиеся в процессе работы) карты/моды/звуки/скрипты в C:\Users\Username\Documents\My Games\Unreal Tournament 3\UTGame\Unpublished.

    В общем этот этап занял буквально пять-десять минут.

    ----------------------------------------
    Продолжение следует
    ----------------------------------------
     

    Вложения:

    Последнее редактирование: 16 июл 2009
    M210, unreal doom и LipSheZ нравится это.
  12. Teron Lifeslayer Malkavian

    Teron Lifeslayer

    Регистрация:
    14 ноя 2004
    Сообщения:
    7.603
    Да уж, представляю как она бегает с рокет лаунчером наперевес... *ужасается*

    P.S.
    Кстати физикс в утке3 спокойно работает на картах от Nvidia.
     
  13. Vermillion ][

    Vermillion ][

    Регистрация:
    22 фев 2009
    Сообщения:
    143
    Teron Lifeslayer, он и на Радеонах работет - PhysX это физический драйвер, который устанавливается вместе с игрой. Карты эти (Aegia Physix MapPack) пойдут и на обычной машине но будут тормозиииить. Чтобы ощутить всю их прелесть (динамика, много искр/осколков, более точный расчёт коллизий) - нужен собственно ускоритель (который снят с производства) или очень мощная система (соответственно будет рассчитывать видюха и ЦП).
     
    Последнее редактирование: 17 июл 2009
  14. Teron Lifeslayer Malkavian

    Teron Lifeslayer

    Регистрация:
    14 ноя 2004
    Сообщения:
    7.603
    Под "работать" я имел ввиду аппаратное ускорение. И очень мощной системы для этого не надо, ты даже на ноубучном 9600GS увидишь неплохой прирост и ЦП там физику обсчитывать не будет.
     
  15. M210

    M210

    Регистрация:
    19 мар 2008
    Сообщения:
    670
    Yosomono, отличная карта! Мне очень понравилась :)
    В релизе карты хочется видеть, как при выстреле фонари на потолке покачивались, если это конечно возможно:) Желательно с динамическим освещением, как в FEAR например.
    Кстати, зачем ты сделал ворота под водой закрывающимися во времени? (это где возле снайперки жмешь рычаг и открываются ворота на другой стороне) В оригинале они не закрывались.
    И еще заметил, что деревянные ящики тонут под водой и их не уносит течением :D

    Vermillion ][, жду продолжение тутора по VoicePak'у, пак я сделал, да и мог сделать его уже давно(этим UnrealED2 ничем от 3го не отличается) а вот как приписать это все к модели?
     
    Vermillion ][ нравится это.
  16. Vermillion ][

    Vermillion ][

    Регистрация:
    22 фев 2009
    Сообщения:
    143
    M210, будет. Всё будет - просто тутор не только на тебя рассчитан ;) Лень, писанина и оформление отжирают гораздо больше времени чем само создание этого воис пака.
     
    Последнее редактирование: 17 июл 2009
  17. Vermillion ][

    Vermillion ][

    Регистрация:
    22 фев 2009
    Сообщения:
    143
    Забавный случай

    Всем привет! Давно не появлялся на форуме - был вдали от цивилизации )))
    Забавный случай в U произошёл со мной на днях - не знаю было ли у кого то что то подобное. Мне надо было посмотреть на одно место на NyLeve's Falls в обычном качестве (у меня установлен U c S3TC только) - соответственно инстальнул Анрыл свеженький и не забивая управление не меняя настроек решил не набирать в консоли open nyleve.unr а по быстренькому пробежать Вортекс (благо это занимает пару минут).
    Как извесно всем на вортексе два скаржа - один в вентиляции и один около Dispersion Pistol. Оба исчезают и как я думал не могут причинить игроку вреда. Оказывается могут.

    Я знал что у скаржа который находиться в комнате у Диспершна и якобы раздирает людей - скрипт "бежать за угол" срабатывает как только он увидит (или услышит) игрока, поэтому просто ради любопытства в предбаннике забился в угол где скарж меня (и я его соответственно) не видит и решил подождать. Дверь открылась, скарж порычал и (как я услышал) пошёл гулять. Я подождал ещё некоторое время, выбежал схватил диспершн; скаржа нет нигде - я подумал что он пропал уже (хотя характерного рыка не слышал - который он издаёт когда начинает убегать - но я не обратил на это внимания тогда).
    Я побежал дальше к углу и столкнулся с ним нос к носу ))) Удивились оба. Испугаться не успел - первой мыслью было "сейчас развернётся, отбежит на пару метров и исчезнет" - но инстинктивно успел отскочил в сторону и даже попал два раза в него из диспершна (после выстрела из диспершна он тоже должен был начать убегать - как я думал) - к моему удивлению скарж пошёл на сближение и я был убит одним ударом - т.к. аптечек не отжирал на уровне. Всё это заняло меньше секунды - я сидел с отвисшей челюстью - не думал что такое возможно. Сколько раз бегал по Вортексу ни разу такого не было. После этого скарж принялся патрулировать округу - а я снял скриншоты.

    Виной всему конечно же не сработавший скрипт. Пытался повторить эту ситуацию - даже возможно убить скаржа. Уж очень интересно было - а что если я отожрал бы аптечку-другую - первый убитый скарж на Вортексе?! Но у меня никак не получалось - скарж убегал. Видимо такое бывает раз в жизни))

    У кого-нибудь было такое???
     

    Вложения:

    • Shot0003.jpg
      Shot0003.jpg
      Размер файла:
      250,5 КБ
      Просмотров:
      634
    • Shot0011.jpg
      Shot0011.jpg
      Размер файла:
      219,2 КБ
      Просмотров:
      630
    • Shot0012.jpg
      Shot0012.jpg
      Размер файла:
      120,2 КБ
      Просмотров:
      396
    • Shot0014.jpg
      Shot0014.jpg
      Размер файла:
      210,6 КБ
      Просмотров:
      720
    Последнее редактирование: 9 авг 2009
    Timonza-kun, unreal doom и LipSheZ нравится это.
  18. unreal doom

    unreal doom

    Регистрация:
    1 мар 2006
    Сообщения:
    4.939
    Такого не было, но при одном из первых, а может быть и первом прохождении игры скаардж отказался убегать когда открылась дверь. Правда потом когда я приблизился он все-таки убежал.
     
    Vermillion ][ нравится это.
  19. M210

    M210

    Регистрация:
    19 мар 2008
    Сообщения:
    670
    А у меня было и не раз...ну и так как я очень много проходил Unreal, то постоянно пытаюсь достать его и побить из дисперса)))))))
    Раза 2-3 я его всегда бью :)
    На счет убить не помню, но кажется убивал...т.к. если за ним бежать то он разворачивается и пытается атаковать, и пока он разворачивается, я его и бью:) Забавно получается
     
    unreal doom и Vermillion ][ нравится это.
  20. Timonza-kun

    Timonza-kun

    Регистрация:
    11 ноя 2008
    Сообщения:
    430
    у меня воистину страшный случай есть в практике, правда не с синглом, а с турниром, но это один из редких примеров загадочных ошибок в самом движке. бьюсь с ханом, до победы остается пара фрагов, однако враг словно стал осторожничать. я минут пять бегал по всему гипербласту, но так и не наткнулся на паршивца, тогда тупо встал на золотой броне и ждал еще минут 10 - тот же результат! гад просто пропал с уровня. я перезапустил. но его опять не оказалось! помог только перезапуск самой игры (хорошо хоть, не переустановка). со скаржом на вортексе, думаю, можно сыграть в "беги, если успеешь", пройдя в коридор после него сквозь стены и вернувшись в нормальном режиме. только дисперсу еще надо будет суметь добыть;)
     
    unreal doom и Vermillion ][ нравится это.
Статус темы:
Закрыта.
  1. На этом сайте используются файлы cookie, чтобы персонализировать содержимое, хранить Ваши предпочтения и держать Вас авторизованным в системе, если Вы зарегистрировались.
    Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie.
    Скрыть объявление