GTA Builder Форум

GTA Vice City => Моды => Тема начата: Eden от Апрель 09, 2014, 09:36:38 pm

Название: GTA 2672
Отправлено: Eden от Апрель 09, 2014, 09:36:38 pm
Приветствую всех!
Узнал про ваш сайт и форум буквально..сегодня :D Решил я все-таки и здесь поведать о своем долгострое, думаю единомышленники оценят. Собственно, суть мода - концепция sci-fi, или попросту научная фантастика: выжженная пустыня с разрушенным городом внизу, а наверху огромный город, с летающими машинами и прочими чудесами. В данный момент пилю домики наверху, все продумываю.. пока более-менее готов только город внизу и ландшафт вокруг, есть некоторые ошибки-недочеты, но я их оставлю на последний этап шлифовки карты, чтобы не отвлекаться.
Выложу скрины пустыря.. скринов города, пока, соответственно - нет, но будут позже, мод делаю уже давно, бросать не имею желания в любом случае ;)

(http://funkyimg.com/i/GMeV.jpg)

(http://funkyimg.com/i/GMeW.jpg)

(http://funkyimg.com/i/GMeX.jpg)

(http://funkyimg.com/i/GMeY.jpg)

(http://funkyimg.com/i/GMeZ.jpg)

(http://funkyimg.com/i/GMf1.jpg)

(http://funkyimg.com/i/GMf2.jpg)

Сообщение модератора: подправил размеры картинок, а то глаза разбегаются, используй IMG width=размер, увеличение по клику
Название: Re: GTA 2672
Отправлено: xanser от Апрель 10, 2014, 10:38:16 am
Долго присматривался, если это вайс, то совсем неузнаваемый, и это хорошо. Надеюсь, найдешь полезный материал для своего мода на этом сайте. А долгострой, это даже хорошо, значит получится красиво и качественно.
Название: Re: GTA 2672
Отправлено: Eden от Апрель 10, 2014, 11:54:45 am
Это 100% вайс, никаких движковых изменений, кроме прикрученного легкого блума от enb, для придания небольшого свечения небу:) Все остальное - просто оч. продуманные и качественные модели собственного изготовления. Каждый домик, кораблик, горочка, ну и остальное - делал сам. Есть конечно парочка домиков, изначально не моего изготовления, высунул из игр.. Но это чисто из за уважения к себе, потому как вначале когда начинал все делать, потратил немало времени для их конвертирования.. но их, можно сказать, процента 3 из общего массива зданий.
Название: Re: GTA 2672
Отправлено: Sektor от Апрель 10, 2014, 01:31:34 pm
Очень приятно видеть такие моды, а именно автор отлично постарался +5 !
Название: Re: GTA 2672
Отправлено: Eden от Апрель 10, 2014, 03:42:53 pm
Во избежание вопросов.. "а почему на вайс", сразу же отвечу, что в вайсе мне нравится изначально минимальная нагрузка на проц. и сочные краски. Простой скриптовый язык и геймплейная основа.
А так-же управление авто - еще не САшное, но уже не трешное. Оптимальная аркада - идеально для летающих машин. Да, некоторые аспекты реализовались-бы лучше на САшном движке, но только не транспорт и ночной город. В СА уже совершенно иная визуализация, даже со всевозможными поправками и обрезаниями. Про ГТА следующего поколения я даже и не заикаюсь. Другой механизм, другой движок, усложненное управление авто, построенное на "заземленной подвеске" уже полностью.
Название: Re: GTA 2672
Отправлено: xanser от Апрель 10, 2014, 08:25:41 pm
Да тут большинство фанаты вайсового движка, я считаю его достаточно, чтобы соорудить хорошую интересную игру, если постараться. Простой, привычный, красочный, удобный, много наработок по нему, а дальше все зависит от таланта и желания.
Название: Re: GTA 2672
Отправлено: Eden от Апрель 11, 2014, 05:49:45 pm
Вот что-что в движке ВС меня тревожит, так это камера в персе и в машине... Зачем разрабы ввели этот распроклятый ограничитель угла наклона камеры вверх макс. под 70 градусов? Из-за него, в моем городе наверху, просто невозможно понять где находишься, ибо наверх бошку не задрать, видно только половину зданий, высокие-ж...
В машине тоже.. ладно там если задрать вверх камеру в машине, будет видно ее внутренности, но ведь должна же быть возможность вида камеры, привязанного к заднему бамперу, без какого-либо смещения, чтобы была видна строго задница автомобиля..?

В гта 4 разрабы, вспомнив про это, сделали очень умно, при задирании камеры педа в зенит, fov увеличивается, тем самым стимулируя ощущение высоты наверху и избегая прохождения камеры сквозь модель педа. Но возможно ли это в ВС? Это было-бы крайне кстати в моем городе, я-бы даже сказал - необходимо.. Но я ума не приложу даже как сделать стабильный вид на жопу у машины, не говоря уж о FOV на педе...

Всвязи с тем, что в игре есть стационарная блокировка "70 градусов" как я ее обзываю, возможно, оптимальным выходом будет создание собственного вида для ГГ, при активации которого камера смотрит ровно под 90 градусов, либо из-за спины, так чтобы не проходила через модель, либо увеличивая FOV, или все вместе. Но у меня недостаточно знания скриптового языка, чтобы это реализовать... Однако, может кто-то знает как это сделать?
Название: Re: GTA 2672
Отправлено: xanser от Апрель 12, 2014, 04:01:54 pm
А не получится ли так, что если снять ограничение в 70 градусов, то вид будет из-под задницы игрока, или ты хочешь поднимать в этот момент камеру в район спины/головы. По поводу камеры сквозь игрока, тут предлагали решение (http://forum.gtabuilder.ru/index.php?topic=137.15), чтобы не "съедало". FOV мне вообще в вайсе не понятен, сколько не менял его, все равно выглядит как-то не так, нет ощущения присутствия от первого лица, какое-то все несколько игрушечное вокруг, и искажение объектов от угла обзора мне кажется неправильным.
Название: Re: GTA 2672
Отправлено: Eden от Апрель 12, 2014, 10:50:50 pm
Нет, ну можно конечно и без FOV обойтись, так или иначе, это для красоты, если, скажем, сделать вид камеры, направленный под 90 градусов, скажем со спины, чтобы видно было перса, но не его внутренности.. Это вариант хороший, но даже то что написано по ссылке, мне увы не понятно) Как прописать новый вид камеры ГГ и машине, как я писал и по нажатию V переключаться на него?
Название: Re: GTA 2672
Отправлено: xanser от Апрель 13, 2014, 12:02:31 pm
По ссылке опкод, чтобы камера не обрезала педа на ближнем плане, пригодится для близкой камеры, чтобы внутренностей не было. А чтобы менять координаты самой камеры и ее фокуса, надо лезть в код, искать это место и переписывать по-своему. Хорошо бы написать универсальный плагин, чтобы настройками определить все виды камер.
Название: Re: GTA 2672
Отправлено: Shagg_E от Апрель 16, 2014, 01:10:07 am
Чуваааак... а ведь когда мы говорили, ты не говорил про FOV ))))
Попробую накатать такое(тру идея кстати).
Вот пока потести мой старый мод Speed FOV (http://www.gtagarage.com/mods/show.php?id=22935) - там FOV зависит от скорости авто. Но я там поставил ограничение, т.к. при продолжении увеличения FOV багиfovfovfovсклишкоммногоfovвэтомпредложovfovfov
Название: Re: GTA 2672
Отправлено: Eden от Апрель 16, 2014, 02:35:41 pm
Так я не говорил, потому что только совсем недавно заметил, что эти ограничения в камере очень сильно мешают наверху. Ну FOV это аналогия с ГТА 4.. я просто как пример привел, как там это реализовано) А мод кстати ничего, выглядит эффектно)
Название: Re: GTA 2672
Отправлено: Shagg_E от Апрель 17, 2014, 01:50:09 am
Вот, в общем, скрипт на плавное увеличение FOV при взгляде вверх, когда ходишь пешком(еще прикрепил готовый CLEO скрипт):
:PEDFOV
thread 'PEDFOV'
wait 1000   // ждем инициализации скрипта Proper Widescreen Fix от ThirteenAG, если такой имеется. На всякий случай - секунду.

:PEDFOV_1
wait 100
if// and
   Player.Defined($PLAYER_CHAR)
//00E0:   player $PLAYER_CHAR driving
else_goto @PEDFOV_1
set_camera_near_clip 0.1   // Привет, наш любимый опкод, убирающий проблему "пожирания" камерой предметов!
05E0: 0@ = read_memory 0x00400040 size 4 virtual_protect 0
05DF: write_memory 0x00400040 size 4 value 0@ virtual_protect 1
05DF: write_memory 0x00400044 size 4 value 0x004005D8 virtual_protect 1
05DF: write_memory 0x00400048 size 4 value 0x1DD90040 virtual_protect 1
05DF: write_memory 0x0040004C size 4 value 0x00696658 virtual_protect 1
05DF: write_memory 0x00400050 size 4 value 0x14A295E9 virtual_protect 1
05DF: write_memory 0x00400054 size 1 value 0x00 virtual_protect 1
05E5: 1@ = game_version
if
  1@ == 0 // integer values
else_jump @PEDFOV_2
05DF: write_memory 0x0054A2E4 size 4 value 0xEB5D5BE9 virtual_protect 1                     
05DF: write_memory 0x0054A2E8 size 2 value 0x90FF virtual_protect 1
jump @PEDFOV_3

:PEDFOV_2
05DF: write_memory 0x0054A304 size 4 value 0xEB5D3BE9 virtual_protect 1                     
05DF: write_memory 0x0054A308 size 2 value 0x90FF virtual_protect 1

:PEDFOV_3
0087: 1@ = 0@ // floating-point values only
jump @PEDFOV_5

:PEDFOV_4
wait 100
if and
   Player.Defined($PLAYER_CHAR)
80E0:   NOT player $PLAYER_CHAR driving
8112:   NOT wasted_or_busted
else_goto @PEDFOV_4

:PEDFOV_5
wait 0
if and
   Player.Defined($PLAYER_CHAR)
80E0:   NOT player $PLAYER_CHAR driving 
8112:   NOT wasted_or_busted
else_jump @PEDFOV_WASTEDORBUSTEDORDRIVE
set_camera_near_clip 0.1   // Снова привет, наш любимый опкод, убирающий проблему "пожирания" камерой предметов!
04C4: create_coordinate 2@ 3@ 4@ from_actor $PLAYER_ACTOR offset 0.0 0.0 0.85
05E0: 8@ = read_memory 0x7E46B8 size 4 virtual_protect 0   // camera z coordinate
05E0: 9@ = read_memory 0x7E46BC size 4 virtual_protect 0   // camera z coordinate
05E0: 10@ = read_memory 0x7E46C0 size 4 virtual_protect 0   // camera z coordinate
0086: 5@ = 8@ // floating-point values only
0086: 6@ = 9@ // floating-point values only
0086: 7@ = 4@ // floating-point values only
000B: 7@  += 0.1  // floating-point values   // доработка, чтобы в дальнейшем скрипт не выдавал косинус, равный 0
// задаем вектора
0067: 8@ -= 5@ // floating-point values
0067: 9@ -= 6@ // floating-point values
0067: 10@ -= 7@ // floating-point values
0067: 5@ -= 2@ // floating-point values
0067: 6@ -= 3@ // floating-point values
0067: 7@ -= 4@ // floating-point values
// т.к. опкода, вычисляющего угол между векторами в ТРЕХМЕРНОМ пространстве в Вайсе нет - извращаемся своими силами
// а именно - находим косинус между ними при помощи учебника по геометрии за 9 класс
0086: 2@ = 5@ // floating-point values only
0069: 2@ *= 5@ // floating-point values
0086: 3@ = 6@ // floating-point values only
0069: 3@ *= 6@ // floating-point values
0086: 4@ = 7@ // floating-point values only
0069: 4@ *= 7@ // floating-point values
0086: 12@ = 2@ // floating-point values only
0059: 12@ += 3@ // floating-point values
0059: 12@ += 4@ // floating-point values
01FB: 12@ = square_root 12@
0086: 2@ = 8@ // floating-point values only
0069: 2@ *= 8@ // floating-point values
0086: 3@ = 9@ // floating-point values only
0069: 3@ *= 9@ // floating-point values
0086: 4@ = 10@ // floating-point values only
0069: 4@ *= 10@ // floating-point values
0086: 11@ = 2@ // floating-point values only
0059: 11@ += 3@ // floating-point values
0059: 11@ += 4@ // floating-point values
01FB: 11@ = square_root 11@
0069: 12@ *= 11@ // floating-point values
0086: 2@ = 5@ // floating-point values only
0069: 2@ *= 8@ // floating-point values
0086: 3@ = 6@ // floating-point values only
0069: 3@ *= 9@ // floating-point values
0086: 4@ = 7@ // floating-point values only
0069: 4@ *= 10@ // floating-point values
0086: 11@ = 2@ // floating-point values only
0059: 11@ += 3@ // floating-point values
0059: 11@ += 4@ // floating-point values
0071: 11@ /= 12@ // floating-point values
11@ *= 1000.0 // floating-point values (never used in VC or GTA 3)
//0092: 12@ = float 11@ to_integer
//01E5: text_1number_highpriority 'NUMBER' 12@ flag 100 time 1  // Этот пункт для тестов - показывает косинус умноженный на 1000
if
0023:   -50.0 > 11@ // floating-point values
else_goto @PEDFOV_7
0013: 11@ *= -1.0  // floating-point values
000F: 11@ -= 40.0  // floating-point values
jump @PEDFOV_8

:PEDFOV_7
if
0023:   -30.0 > 11@ // floating-point values
else_goto @PEDFOV_WASTEDORBUSTEDORDRIVE
0013: 11@ *= -1.0  // floating-point values
000F: 11@ -= 30.0  // floating-point values
0013: 11@ *= 0.5  // floating-point values

:PEDFOV_8
if
0021:   11@ > 42.0 // floating-point values
else_goto @PEDFOV_9
0007: 11@ = 42.0 // floating-point values

:PEDFOV_9
0087: 1@ = 0@ // floating-point values only
005B: 1@ += 11@ // (float)
05DF: write_memory 0x00400040 size 4 value 1@ virtual_protect 1
jump @PEDFOV_5

:PEDFOV_WASTEDORBUSTEDORDRIVE
0087: 1@ = 0@ // floating-point values only
05DF: write_memory 0x00400040 size 4 value 1@ virtual_protect 1
jump @PEDFOV_4

Скрипт совместим с Proper Widescreen Fix от ThirteenAG (http://www.gtagarage.com/mods/show.php?id=15521)(там тоже меняется FOV, так что совместимость была необходима).

Один минус - если при взгляде вверх(когда FOV увеличен) выйти в меню и начать новую игру(или загрузку) - при старте уже будет по-дефолту искаженный FOV, и при взгляде вверх он исказится еще больше.
Я уже нашел решение этой проблемы - профиксю при объединении этого скрипта со speedFOV(это для отдельного релиза скрипта).

Так что пока протести, и если всё работает как нужно - скажи, нужно ли еще что-то подобное для авто конкретно в твоем моде, и я сделаю версию спецом под мод, с фиксом бага, описанного выше.
Название: Re: GTA 2672
Отправлено: Eden от Апрель 17, 2014, 12:36:48 pm
Все круто! Яб даже сказал шикарно! Но одно но... вайсовский движок, такой вайсовский.. в разрушенном городе объекты по углам экрана - пропадают. То есть обзорность оч. хорошая, все как и должно быть, но местами пропадающие объекты.. очень портят картину. Может, как вариант, попробывать прикрутить скрипт к другому моду для широкоформатников? Вот - http://www.gtagarage.com/mods/show.php?id=23407, (http://www.gtagarage.com/mods/show.php?id=23407,) например, вроде как аналог, собственно, я с ним и бегал до этого, хотя, вполне возможно, это ничего не даст. Просто больше ничего в голову не лезет, разве что ломать этот лимит в 70 градусов, или делать спец. вид камеры на клавише V для взгляда вверх, как в моде gta2style, только наоборот :D

Хотя, к слову сказать, в других местах, объекты никуда не пропадают, пропадают только в разрушенном городе, в местах где высотные дома, которые по сути - объекты разделенные на кусочки. Такой принцип экспортирования модели я использовать буду и наверху.. так-что, вполне возможно, что по углам и там будут объекты пропадать, но пока я не доделаю город в максе и не запихну в вайс, сказать наверняка ничего нельзя. Пока это лучшее, что можно придумать и сделать ;)
Название: Re: GTA 2672
Отправлено: Shagg_E от Апрель 17, 2014, 06:37:26 pm
ааа. Я так понял - у тебя пропадают лоды. А ты оцентровываешь каждый объект, когда экспортишь такие "разделенные" участки? Ну всмысле, чтобы центр объекта был ровно в его центре, а не на расстоянии от него.

Если это не делаешь - проблемы будут не только с этим модом: при передвижении на больших скоростях у тебя будут мигать лоды(произвольно становиться то светлее, то темнее), просто виснуть и т.д.
Название: Re: GTA 2672
Отправлено: Shagg_E от Апрель 17, 2014, 07:43:18 pm
Также проблема может решаться путем выставления меньшего FOV в widescreen fix.
Сменить значение можно так: файл 20widescreenfix.cs переименовать в 10widescreenfix.cs , где 20 и 10 - значения FOV
Название: Re: GTA 2672
Отправлено: Eden от Апрель 17, 2014, 09:06:01 pm
 Ну я делаю обычно так - делаю дом целиком, выставляю центр, иксформу, а потом, вручную, отделяю от него куски, в итоге получая как-бы мозайку-объект, но с единым центром. Я знаю почему пропадает.. но если, скажем, играть просто с widescreen fix, даже со значением fov 20, то при большой скорости, при простой пробежке.. в любой ситуации - объекты у меня не пропадают. Я-бы не стал оставлять один центр, не будь я уверен наверняка, что в игре это будет нормально отображаться.. но теперь, когда ситуация поменялась.. я могу сделать иначе - те объекты, которые будут наверху, каждому из них, я присвою свой центр и форму соответственно, это до примитива легко, даже на стадии экспортирования в игру - ничего особо сложного.
 Объекты внизу: я в любом случае собираюсь сделать полномасштабную ревизию внизу всех объектов и локаций на определенных этапах, поэтому много чего буду доделывать-переделывать, это обычная практика у меня. К слову сказать, город внизу я переделывал уже 3 раза, а ландшафт и подавно - 4 раза.
Название: Re: GTA 2672
Отправлено: Shagg_E от Апрель 17, 2014, 09:44:18 pm
Дело в том, что чтобы такие глюки появились просто с widescreen fix(без моего PedFOV) - нужно выставить значение не 20, а 60:
это из-за того, что в моем моде максимальное число, на которое прибавляется fov - 40, итого с widescreen, выставленным на 20 будет 60.

У меня в сборке вайса также есть пара объектов с неправильными центрами, и они также глючат, если суммарный FOV более 50-60.
В любом случае - я написал автору Widescreen Fix Remake(он же автор старой версии Proper Widescreen Fix), так что мб совместными усилиями можно будет добиться оптимальной работы PedFOV.

В любом случае, спасибо за тест - в финальной версии этих глюков не будет, я думаю... но объекты всё же лучше делать с норм центрами.
Название: Re: GTA 2672
Отправлено: Eden от Апрель 17, 2014, 10:28:47 pm
Ну в то время, я использовал несколько другую логику застройки и отображения, поэтому единые центры для поделенных домов были необходимы. Это сложно объяснить :)