Welcome to U.A.C. [O.S.A.]
login / register
Status: Guest
Архивы форума | iddqd.ru
Wolf 3D
ПравилаПравила ПоискПоиск
18+
Вопросы по переносу ресурсов из других портов в GZDoom Пред.  1, 2, 3 ... 20, 21, 22
   Список разделов - Местечко мапперов и моддеров - Вопросы по переносу ресурсов из других портов в GZDoomОтветить
АвторСообщение
theleo_ua
= 1st Lieutenant =
Next rank: - Captain - after 68 points
2022

Doom Rate: 1.82

Posts quality: +166
Ссылка на пост №421 Отправлено: 16.12.17 03:14:38
aivar242 :
theleo_ua
ВОТ

Код с непрозрачностью, применил только на Soul сфере. Остальные пока не трогал. Со скоростью передвижения сфер, более менее понятно, вполне устраивает с 6-кой, пока.


Глянул твой мод:

1) 6 и 36 у меня ведут себя одинаково
2) У тебя в моде какого-то черта старая версия ACS скрипта, которая просто не умела в параметр 6 (она его вообще игнорила), и вращала сферу к игроку раз в 6 тиков

Вот какой скрипт в твоем моде:

Скрытый текст:


script "FaceAngleAndPitchToPlayer" (void)
{

int distx = GetActorX(PlayerTID)-GetActorX(0);
int disty = GetActorY(PlayerTID)-GetActorY(0);
int distz = GetActorZ(PlayerTID)-GetActorZ(0);

ChangeActorAngle(0 , VectorAngle(distx, disty), true);
ChangeActorPitch(0 , VectorAngle(VectorLength(distx, disty), -distz), true);


SetResultValue(1);

}//script "FaceAngleAndPitchToPlayer" (void)



А вот правильная версия скрипта, взятая с ТВОЕГО ПРЕДЫДУЩЕГО МОДА, который ты мне когда-то кидал что-то там тестить:

Скрытый текст:


script "FaceAngleAndPitchToPlayer" (int TicsCount)
{

SetResultValue(1);

for (int I = 1; I <= TicsCount; I++)
{

int distx = GetActorX(PlayerTID)-GetActorX(0);
int disty = GetActorY(PlayerTID)-GetActorY(0);
int distz = GetActorZ(PlayerTID)-GetActorZ(0);

ChangeActorAngle(0 , VectorAngle(distx, disty), true);
ChangeActorPitch(0 , VectorAngle(VectorLength(distx, disty), -distz), true);

Delay(1);

}//for (int I = 1; I <= TicsCount; I++)

//SetResultValue(1);

}//script "FaceAngleAndPitchToPlayer" (void)



Я взял, заменил у тебя в TEST.ACS на корректную версию скрипта (не забыв запустить батник для перекомпиляции файла TEST.O ), и все стало плавно при значении 6 в декорейте

На всякий случай, выкладываю тебе то, что ты должен кинуть себе в папку ACS, заменяя те файлы что там есть: ACS 6 36 FIX

На будущее, будь внимательней!

Рейтинг сообщения: +1, отметил(и): aivar242
2 1
aivar242
- 2nd Lieutenant -
Next rank: = 2nd Lieutenant = after 92 points
1348

Doom Rate: 1.63

Posts quality: -1
Ссылка на пост №422 Отправлено: 16.12.17 17:49:43
theleo_ua :
На будущее, будь внимательней!

Как я могу быть внимательней, если я не шарю в ACS? Только что от тебя узнал, что был - хороший код, стал - плохим. Немало удивлён конечно, где это я плохой подцепил?

P.S. Только что проверил - у меня то же самое. Небольшие подёргивания. Ну да ладно, это не критично.

Как быстро обучиться и ПОНЯТЬ этот ACS скрипт? Не подскажешь? Гайд выше был представлен, он у меня есть, но мне кажется он не для начинающих, а тех, кто уже понимает что к чему.

Рейтинг сообщения: -1, отметил(и): VladGuardian
theleo_ua
= 1st Lieutenant =
Next rank: - Captain - after 68 points
2022

Doom Rate: 1.82

Posts quality: +166
Ссылка на пост №423 Отправлено: 16.12.17 20:50:48
aivar242 :
Как я могу быть внимательней, если я не шарю в ACS?


Как минимум - старайся сделать так, чтобы версия файла TEST.ACS, которую я тебе кидал 2 года назад, на заменила собою версию файла TEST.ACS, которую я тебе кидал 1 год назад

aivar242 :
Только что от тебя узнал, что был - хороший код, стал - плохим. Немало удивлён конечно, где это я плохой подцепил?


"Плохой" код - это код, который был до того момента, как у тебя начались проблемы с подергиванием сферы еще около года назад (время говорю от балды, точное лень смотреть). "Хороший" код - это код, которым я обновил тебе "плохой" код 2 года назад, чтобы твои сферы перестали дергаться

Каким образом получилось так, что ты заменил новую версию кода старой версией - одному аллаху известно

aivar242 :
Только что проверил - у меня то же самое. Небольшие подёргивания. Ну да ладно, это не критично.


Есть мнение, что эти небольшие подергивания не вылечить (тобишь твои глаза видят разницу в 35 фпс и 60 фпс, а сфера вращается за тобой в 35 фпс)

Мой код вращает сферу к игроку не чаще чем в 35 фпс (как сделать чаще, я не знаю)

И да - попробуй декорейт код заменить на такой, может поможет:

Скрытый текст:


Actor Soulsphere_Sphere : Soulsphere replaces Soulsphere
{
Renderstyle Translucent
alpha 0.3
+BRIGHT //Cпорная нужность этого флага.(проверить) Если он не применён, то скорей всего он всегда так и так работает.

States
{
Spawn:
SOUL A 0
SOUL A 1 //A_SpawnItemEx("Soulsphere_Face", 0, 0, 0, 0,0,0, angle, SXF_NOCHECKPOSITION)
SOUL A 0 A_SpawnItemEx("Soulsphere_Face", 0, 0, 0, 0,0,0, angle, SXF_NOCHECKPOSITION)
Idle:
SOUL ABCDCB 6 ACS_NamedExecuteWithResult("FaceAngleAndPitchToPlayer", 6)
Loop
}
}
Actor Soulsphere_Face : CustomInventory
{
+BRIGHT //Cпорная нужность этого флага.(проверить) Если он не применён, то скорей всего он всегда так и так работает.

States
{
Spawn:
MUS1 ABCDCB 6 ACS_NamedExecuteWithResult("FaceAngleAndPitchToPlayer", 6)
Loop
PickUp:
TNT1 A 0 A_Log("")
Stop
}
}



Я там немного подправил стейт Spawn для Soulsphere_Sphere чтобы синхронизировать запуск ACS в обоих акторах

aivar242 :
Как быстро обучиться и ПОНЯТЬ этот ACS скрипт? Не подскажешь? Гайд выше был представлен, он у меня есть, но мне кажется он не для начинающих, а тех, кто уже понимает что к чему.


1) Задай этот вопрос здесь
2) Касательно скрипта - я потом, как будет желание и время, попробую рассказать что он делает (ну рассказать так чтобы было понятно), хотя задача непростая, так как ACS сложнее декорейта
2 1
aivar242
- 2nd Lieutenant -
Next rank: = 2nd Lieutenant = after 92 points
1348

Doom Rate: 1.63

Posts quality: -1
Ссылка на пост №424 Отправлено: 16.12.17 22:04:44
theleo_ua :
Касательно скрипта - я потом, как будет желание и время, попробую рассказать что он делает (ну рассказать так чтобы было понятно), хотя задача непростая, так как ACS сложнее декорейта

Cудя из названия - ACS (Action Code Scrypt) это скрипт на выполнение какой-то команды, я правильно понимаю? Например, сидит Кибер в клетке и этот скрипт может открыть её, вупустив Кибера, хотя в оригинальной игре это не возможно. Такое пояснение было в гайде.

Код проверил, вроде тоже самое.
DOOMFOREVER
Marine
Next rank: Marine 1st class after 10 points
20

Doom Rate: 2

Ссылка на пост №425 Отправлено: 21.01.18 19:28:27
Как с помощью моделей делать оружие?точнее как спрайт и модель связаны?Объясните пожалуйста , желательно с примером
aivar242
- 2nd Lieutenant -
Next rank: = 2nd Lieutenant = after 92 points
1348

Doom Rate: 1.63

Posts quality: -1
Ссылка на пост №426 Отправлено: 21.01.18 19:56:01
DOOMFOREVER
Ничего сложного. Связаны так же как и другие модели, тех же монстров. Находишь нужного актора оружия в Decorate порта и смотришь, порядок фреймов. Те же фреймы, указываешь анимированой 3D модели оружия в файле Modeldef. Каждой позиции анимации 3D модели оружия, свой фрейм. Всё так же как и со спрайтами.

Честно сказать я как раз на этой проблеме сейчас сижу. Подключаю в одном моде 3D модели оружия, но виден только 1-ый фрейм с 3D моделью, остальные показываются как оригинальные спрайты. Код прописан правильно - не знаю что делать? Главное что с более старой версии этого мода, все модели оружия работают правильно. Хм.
DOOMFOREVER
Marine
Next rank: Marine 1st class after 10 points
20

Doom Rate: 2

Ссылка на пост №427 Отправлено: 21.01.18 20:21:26
aivar242 :
указываешь анимированой 3D модели оружия в файле Modeldef. Каждой позиции анимации 3D модели оружия, свой фрейм.
Можно поподробнее?
то есть за места спрайта делается модель ? и как это прописывать?
aivar242
- 2nd Lieutenant -
Next rank: = 2nd Lieutenant = after 92 points
1348

Doom Rate: 1.63

Posts quality: -1
Ссылка на пост №428 Отправлено: 21.01.18 23:21:57
DOOMFOREVER
Да, именно так - за место спрайта, делается модель. Прописывать просто. Создаёшь обычный мод, то есть архив .pk3, в нём, папка с 3D моделями рук со стволами. Рядом с папкой с моделями создаёшь файл Modeldef.txt, в который вводишь параметры моделей рук с оружием. Например:

Скрытый текст:

Model Pistol
{
Path "Models\weapons\pistol"
Model 0 "pistol_h.md3"
Skin 0 "pistol_h.png"
Scale 1.0 1.0 1.0

FrameIndex LUGR A 0 0
FrameIndex LUGR B 0 1
FrameIndex LUGR C 0 2
FrameIndex LUGR D 0 3
FrameIndex LUGR E 0 4
}


Надеюсь основы Декорейт и Моделдеф ты знаешь? Если нет, то тут уже сложнее.
DOOMFOREVER
Marine
Next rank: Marine 1st class after 10 points
20

Doom Rate: 2

Ссылка на пост №429 Отправлено: 22.01.18 09:59:53
aivar242 :
моделей рук с оружием
Вот я сделал кнопку , 2 модели , 1 сдивинута по х , 2 тоже но -х, всё прописал , но появляется 2 модели сразу , как так?
aivar242
- 2nd Lieutenant -
Next rank: = 2nd Lieutenant = after 92 points
1348

Doom Rate: 1.63

Posts quality: -1
Ссылка на пост №430 Отправлено: 22.01.18 20:22:58
DOOMFOREVER
Да. Нужно делать анимацию, каждого фрейма 3D модели, полностью соответствующую анимации спрайтовым фреймам. 1. Пушка в режиме котовности А - фрейм. 2. Пушка стреляет, идёт отдача с пламенем у ствола B - фрейм. и.т.д. 3D модель должна иметь эти кадры анимации. Если её прокручиваешь, от 1 фрейма до 5-го, должны проигрываться весь цикл выстрела, полностью повторяющий спрайтовую анимацию выстрела.

Там где-то 5 кадров (фреймов) анимации получается, у пистолета например. Значит надо полностью повторять их в 3D реализации. Не знаю как понятней объяснить.
Я кое что сейчас делаю как раз, по этой теме. Скоро выкачу видос.
DOOMFOREVER
Marine
Next rank: Marine 1st class after 10 points
20

Doom Rate: 2

Ссылка на пост №431 Отправлено: 22.01.18 20:40:18
aivar242 :

Там где-то 5 кадров (фреймов) анимации получается, у пистолета например. Значит надо полностью повторять их в 3D реализации. Не знаю как понятней объяснить.
Я кое что сейчас делаю как раз, по этой теме. Скоро выкачу видос.


Это я понял , но вот почему у меня не получается сделать кнопку настенную , всего 2 модели и они появляются одновременно , почему?
Скрытый текст:

Model Knop// Name of actor in DECORATE { Path "models/decoration" Model 0 "Knop.md3" Model 1 "Knop2.md3" Skin 0 "terrainbm.png" Skin 1 "terrainbm.png" Scale 0.06 0.15 0.12 ZOffset 0.0//14 FrameIndex ELEC A 0 0 FrameIndex ELEF A 1 0 } Actor knop 10998 { Health 1 Mass 0 Speed 0 PainChance 0 Monster +BUMPSPECIAL +USESPECIAL +VULNERABLE +nogravity +SOLID +friendly +SHOOTABLE +NOBLOOD +friendly Radius 4 Height 5 states { spawn: ELEC A -1 stop death: ELEF A 1 loop } }


:book:
aivar242
- 2nd Lieutenant -
Next rank: = 2nd Lieutenant = after 92 points
1348

Doom Rate: 1.63

Posts quality: -1
Ссылка на пост №432 Отправлено: 23.01.18 00:31:03
DOOMFOREVER :
всего 2 модели и они появляются одновременно , почему?

Возможно потому, что - Knop 1 и Knop 2, надо прописывать под разными акторами, например - Knop_on и Knop_off. У тебя получается, что обе субмодели, находятся под одним актором Knop. Попробуй, может получится. Обратись к TheLeо, он точно поможет. Я сам начинающий в модинге, мало что знаю, а ACS - так вообще никак.
theleo_ua
= 1st Lieutenant =
Next rank: - Captain - after 68 points
2022

Doom Rate: 1.82

Posts quality: +166
Ссылка на пост №433 Отправлено: 23.01.18 03:40:09
DOOMFOREVER :
Это я понял , но вот почему у меня не получается сделать кнопку настенную , всего 2 модели и они появляются одновременно , почему?


декорейт не меняй, в моделдеф сделай так:

Скрытый текст:


Model Knop// Name of actor in DECORATE
{
Path "models/decoration"
Model 0 "Knop.md3"
Skin 0 "terrainbm.png"
Scale 0.06 0.15 0.12
ZOffset 0.0//14
FrameIndex ELEC A 0 0
}

Model Knop// Name of actor in DECORATE
{
Path "models/decoration"
Model 0 "Knop2.md3"
Skin 0 "terrainbm.png"
Scale 0.06 0.15 0.12
ZOffset 0.0//14
FrameIndex ELEF A 0 0
}

2 1
Guest
= Warrant Officer =
Next rank: - 2nd Lieutenant - after 91 points
1199

Doom Rate: 2.71

Posts quality: +16
Ссылка на пост №434 Отправлено: 23.01.18 08:21:12
Может кто-нибудь объяснить, что такое SurfaceSkin? В здумвики определение дается, но кратко и без примеров. Не догоняю что это и как работает.
3 1
theleo_ua
= 1st Lieutenant =
Next rank: - Captain - after 68 points
2022

Doom Rate: 1.82

Posts quality: +166
Ссылка на пост №435 Отправлено: 23.01.18 11:04:31
Guest :
Может кто-нибудь объяснить, что такое SurfaceSkin? В здумвики определение дается, но кратко и без примеров. Не догоняю что это и как работает.


Я не в курсе, но задай этот вопрос здесь, там думаю найдется тот кто шарит:

http://i.iddqd.ru/viewtopic.php?t=361&page=1

http://i.iddqd.ru/viewtopic.php?t=175&page=1
2 1
Guest
= Warrant Officer =
Next rank: - 2nd Lieutenant - after 91 points
1199

Doom Rate: 2.71

Posts quality: +16
Ссылка на пост №436 Отправлено: 23.01.18 13:37:49
theleo_ua :
Я не в курсе, но задай этот вопрос здесь, там думаю найдется тот кто шарит

Не думаю, что имеет смысл спаммить вопрос по темам (даже если изначально выбрал не самую удачную) - форум маленький и все новые сообщения и так видны всем.

Пошерстил zdoom форум и кое-что нашел:
https://forum.zdoom.org/viewtopic.php?f=18&t=52879&p=925626&hilit=SurfaceSkin#p925626

Там же в первом сообщении есть демонстрационный вад, в котором изображение пистолета заменяется на анимированную плазмапушку. Оказывается, в GLDEFS можно писать шейдеры, вот новость...
https://zdoom.org/wiki/GLDEFS

Правда так и не понял функционального отличия Skin от SurfaceSkin, возможно просто второе имеет больше опций, чем первое.
3 1
Страница 22 из 22Перейти наверх Пред.  1, 2, 3 ... 20, 21, 22
   Список разделов - Местечко мапперов и моддеров - Вопросы по переносу ресурсов из других портов в GZDoom