Welcome to U.A.C. [O.S.A.]
login / register 
Status: Guest
Архивы форума | iddqd.ru
Wolf 3D
ПравилаПравила ПоискПоиск
18+
Тема для новичков. Вопросы по маппингу/моддингу - любые! Пред.  1, 2, 3 ... 17, 18, 19 ... 198, 199, 200  След.
   Список разделов - Флуд и устаревшие темы - Тема для новичков. Вопросы по маппингу/моддингу - любые!Ответить
АвторСообщение
alko
Marine
Next rank: Marine 1st class after 4 points
26

Doom Rate: 2

Ссылка на пост №341 Отправлено: 20.11.15 21:44:19
MaxED:
да и while там не нужен)


Это пока.
Но когда потребуется выполнение параллельно нескольких процедурок, внешний цикл всё же понадобится.
alekv
- Colonel -
Next rank: = Colonel = after 272 pointsМодератор форума
4168

Doom Rate: 1.87

Posts quality: +949
Ссылка на пост №342 Отправлено: 20.11.15 21:46:26
alko:
Спрайты пока стандартные - думовские, с моей индексацией палитры.
Спрайты я собираюсь рендерить со своих моделек (но пока есть лишь концепты, за моделинг ещё не брался).

Подробнее тут

Не дурно, концепты сам рисовал?

Если что можешь мне задавать вопросы, смогу ответить на многие надеюсь. Да, если что есть еще GZDoom и GLOOME порты, чуть лучше здума, последний может запускаться без ивада, гздум не помню..
1 3 1
alko
Marine
Next rank: Marine 1st class after 4 points
26

Doom Rate: 2

Ссылка на пост №343 Отправлено: 20.11.15 21:47:51
Гайд по АЦС мега-полезный. Буду вникать.

Добавлено спустя 4 минуты 41 секунду:

alko:
Не дурно, концепты сам рисовал?

Всё рисую сам. Текстуры тоже.

ГЗдум не интересует. Я леплю так, чтоб пахало даже на рэтро-машине, где нет аппаратного 3д-ускорителя. (пентиум ММХ на 225 мегагерц).
Правда у Здума оптимизация хромает (на пне даже в Хексене, запущенном на этом порте, на "открытых" пространствах фпс проседает до 12-ти кадров. С появлением 3д-полов в кадре та же петрушка. Причём в разрешении 400*300 или даже 320*240). У движка ку2 даже производительность раза в два выше, но он более андеграундовый , нет такого продвинутого комьюнити, как у ЗДума, увы. Потому мой выбор пал на Здум.

Добавлено спустя 2 минуты 54 секунды:

Тем более мне openGL рендерер не нравится. Из-за перспективы по оси Y (по вертикали) спрайты кажутся ещё более плоскими, да и из-за 24-ёх битного цвета теряется пиксель-арт. Тонирование в глубину тоже не очень...
alekv
- Colonel -
Next rank: = Colonel = after 272 pointsМодератор форума
4168

Doom Rate: 1.87

Posts quality: +949
Ссылка на пост №344 Отправлено: 20.11.15 22:33:34
Дак здум модели не поддерживает, а гздум тянет или ты хочешь сделать 3д модели, отрендерить и сделать спрайты?
Для какой машины делаешь?
OGL по желанию можно отключать в гздум, до 2ой версии гозза использует 2гл.
Если нужна атмосфера пиксельарта так это в настройках поклацай, по выключай фильтры и т.д.
Да по поводу плоскости спрайтов есть настройка Forceflexy , забыл -_-, но как-то так называлась, возможно такое понравится.
Но впрочем ладно, дело твое, просто с дин лайтами карты смотрелись бы красивее, а в место 3д полов, юзал бы 3д модели+ CustomBridge, значительный прирост производительности =)
1 3 1
alko
Marine
Next rank: Marine 1st class after 4 points
26

Doom Rate: 2

Ссылка на пост №345 Отправлено: 21.11.15 01:01:07
alekv:
Если нужна атмосфера пиксельарта так это в настройках поклацай, по выключай фильтры и т.д.

Градация цветов всё равно будет 24-ёх битной. Ни какой это не пиксель-арт уже. Скорее майнсрафт, или копатель онлайн.

alekv:
Да по поводу плоскости спрайтов есть настройка Forceflexy

В настройках нет отключения сдвига перспективы полигонального окружения по вертикали.


Дак здум модели не поддерживает, а гздум тянет

Тянет, но какие? *.md2 ? Много ли вы годных моделек в таком формате видели?
Скрытый текст:

:sad4:


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



alekv:
или ты хочешь сделать 3д модели, отрендерить и сделать спрайты?

Для анимированных - да.
Статические же 3д модели, типа айтемов и декораций, разбросанных на карте - конвертировать в воксели.

Добавлено спустя 5 минут 26 секунд:

alekv:
Для какой машины делаешь?


Хотелось бы, чтоб не шибко тормозило на Pentium MMX 225 MHz (видяха ATI Rage II поддерживает только директ икс до 5-ой версии. Но полигональный 3д графон она раза в два медленнее отрисовывает, нежели это делает проц. Тем более ей часто не хватает памяти на текстуры.)

Добавлено спустя 5 минут 27 секунд:

Вот, замерял только что фрейм-рейт на пентиуме.

Такая сценка 12 кадров


Ступеньки 3д-полами в профиль - 19 кадров


Простенькая вульфенштейно-подобная сценка ~60 кадров.


Добавлено спустя 10 часов 42 минуты 29 секунд:

А в этом чудо-движке есть возможность задать яркость отдельно взятой грани сектора. Знаю как менять яркость на полу и потолке независимо друг от друга, а есть что-то подобное для стен, чтоб на яркость пола и потолка не сказывалось?
alekv
- Colonel -
Next rank: = Colonel = after 272 pointsМодератор форума
4168

Doom Rate: 1.87

Posts quality: +949
Ссылка на пост №346 Отправлено: 21.11.15 13:49:25
alko:
На мой взгляд, то что во второй кваке - это предел того, что можно замоделить в таком формате. Да и то, я даже на таком уровне не осилю замоделить.

Эмм... Никогда не устану приводить в пример TotalChaos gzdoom
alko:
Тянет, но какие? *.md2 ? Много ли вы годных моделек в таком формате видели?

Ты что никогда 3д редактор не открывал? А ты в курсе что ты можешь открыть многие 3д модели в самых разных форматах и сохранить в .md2? К тому же gzdoom поддерживает .md3 формат. А здум тянет воксели? В любом случае воксельная модель нагрузит в несколько раз сильнее чем 3д модель.
alko:
На мой взгляд, то что во второй кваке - это предел того, что можно замоделить в таком формате. Да и то, я даже на таком уровне не осилю замоделить.

Нет предела совершенству =)
alko:
Вот, замерял только что фрейм-рейт на пентиуме.

Да.., для такого пентиума надо и в бум формате делать бе зо всяких 3д полов и прочих прелестей еще и с бубном танцевать что бы не лагало =)
В общем на этом и закончу, ты не думай что я тебя пытаюсь уговорить юзать гоззу, мне все равно, просто привел примеры почему гздум..
1 3 1
alko
Marine
Next rank: Marine 1st class after 4 points
26

Doom Rate: 2

Ссылка на пост №347 Отправлено: 21.11.15 14:02:14
alekv:
Никогда не устану приводить в пример TotalChaos gzdoom


Статические модели конечно круто, ни что не мешает с куда бОльшим удобством сделать это на каком-нибудь Юнити (мой геморрой оправдан тем, чтоб оно работало на рэтро-машыне. А геморрой создателя(-лей) той карты для ГЗдума даже не знаю чем оправдан. На слабой тачке, даже с какой-нибудь TNT Riva оно вряд ли будет пахать. А для относительно современных тачек есть современные более удобные движки).
Более того, там ни единого анимированного персонажа не увидел. Анимированные персонажи - эт вам не пару граней домика затекстурить фоточками.

alekv:
любом случае воксельная модель нагрузит в несколько раз сильнее чем 3д модель.

Там позаимствован сорс Кена Сильвермана, который писался ещё для компов середины 90-ых.
Не сказать бы что тот же Blood тормозил при разглядывании воксельных могилок.

Добавлено спустя 5 минут 20 секунд:

alko:
ни единого анимированного персонажа не увидел.



А. Там в конце типа анимированная модель. В кромешной темноте с кучей постобработок [Features such as 16x motion blur, bloom lighting and godrays] оно может и нормально. Но выведи её на свет, будет шляпа.(тем более намалякать какого-то кривого зомби с рандомными пятнами на текстуре, много ума не надо)
Таким образом разрабы "Амнезии" тоже поступили. Навесили кучу размытий и кромешную темноту, и норм.
Shadowman
UAC General
Next rank: Unavailable after 0 points
8391

Doom Rate: 2.08

Posts quality: +1995
Ссылка на пост №348 Отправлено: 21.11.15 16:29:01
Пытаюсь написать скрипт, который бы показывал на экране (для начала хотя бы в заданных координатах) параметры здоровья монстра при наведении на него курсора в виде: "Текущее здоровье / Максимальное здоровье".
Не могу разобраться, как правильно указывать SetActivatorToTarget.
Пробовал так, но не работает:
script "MonsterHealth" enter
{
setHudSize(1024,768,0);
setfont("bigfont");
SetActivatorToTarget(PlayerNumber()+5000);
delay(1);
if(ClassifyActor(0) & ACTOR_MONSTER && ClassifyActor(0) & ACTOR_ALIVE)
{
Target_MaxHealth = GetActorProperty (0, AProp_SpawnHealth);
Target_CurrentHealth = GetActorProperty (0, AProp_Health);
hudmessage(i:Target_CurrentHealth, s:"/", i:Target_MaxHealth;HUDMSG_plain,4000,CR_untranslated,512.0,64.0,0);
}
delay(1);
restart;
}
но ничего не работает, никаких надписей нет.

переменные были обозначены, также в другом ентер-скрипте игроку присваивается новый тид при старте:
script "StartCharacter" enter
{
Thing_ChangeTID (0, PlayerNumber()+5000);
и т.д...
}
1 7 2
alko
Marine
Next rank: Marine 1st class after 4 points
26

Doom Rate: 2

Ссылка на пост №349 Отправлено: 21.11.15 20:30:24
Как "застеклить" потолок ?
Скрытый текст:


Вот тут типу как-то удалось застеклить пол, но он в каком-то допотопном билдере шаманит, что нифига не понятно, как сделать это в современном ГЗдумбилдере.
https://www.youtube.com/watch?v=2vBTTEStSx0&list=PL8AF310A96A8AD4D3&index=36
MaxED
UAC Sergeant Major
Next rank: UAC Sergeant Major after 56 points
704

Doom Rate: 2.12

Posts quality: +39
Ссылка на пост №350 Отправлено: 22.11.15 00:20:46
При помощи полупрозрачного 3Д пола, например.
1
ZZYZX
- UAC Commissar -
Next rank: = UAC Commissar = after 16 pointsМодератор форума
6284

Doom Rate: 1.65

Posts quality: +1631
Ссылка на пост №351 Отправлено: 22.11.15 00:32:58
Шадовмен, SetActivator(0, AAPTR_PLAYER_GETTARGET) от имени игрока. Таргет под курсором и таргет монстра это разные указатели, SetActivatorToTarget это то же самое что SetActivator(0, AAPTR_TARGET).

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


Я очень злой. Я не могу написать >> и << больше одного раза в посте. Поэтому разъяснения как работает 8-битный шифт сегодня на pastebin.

http://pastebin.com/mCwpnfPE
2 2 1
Shadowman
UAC General
Next rank: Unavailable after 0 points
8391

Doom Rate: 2.08

Posts quality: +1995
Ссылка на пост №352 Отправлено: 22.11.15 12:54:56
ZZYZX:
SetActivator(0, AAPTR_PLAYER_GETTARGET) от имени игрока. Таргет под курсором и таргет монстра это разные указатели, SetActivatorToTarget это то же самое что SetActivator(0, AAPTR_TARGET).

Все-равно ничерта не понятно, как это правильно можно использовать.
Хорошо, дам кусок исходного кода, из которого пытаюсь вычленить нужное мне. Там же мои фопросы
Script "JP_HUD_Statusbar" (Int ActivatorID, Int Target_MaxHealth, Int Target_CurrentHealth)
{
	if ((ActivatorTID() == 0) || (ActivatorTID() != Player_TID [PlayerNumber()])) GetPlayerID ();  //Для чего эта строка нужна?
	While (PlayerInGame(PlayerNumber()) && GetActorProperty (Player_TID [PlayerNumber()], AProp_Health) > 0) //Обязательно ли проверять наличие игрока и то, что его здоровье больше нуля?
	{
		ActivatorID = GetPlayerID();  //Не понял, зачем переменной присваивать значение функции GetPlayerID()
		if ((GetUserCVar(PlayerNumber(), "hud_enemyhealthbar")) > 0)  //Это условие тоже непонятно
		{
			if (SetActivatorToTarget(ActivatorID)) //Не проще ли вместо ActivatorID написать таг игрока, который ему присвоили один раз ентер-скриптом?
			{
				if (ClassifyActor(0) & ACTOR_MONSTER  && ClassifyActor(0) & ACTOR_ALIVE && CheckFlag(0, "Shootable") && !(CheckFlag(0, "NoDamage") || CheckFlag(0, "Invulnerable"))) // Думаю, ряд условий можно убрать
				{
					Str Monster_ClassName = GetActorProperty(0, APROP_NameTag);
					Target_MaxHealth = GetActorProperty (0, AProp_SpawnHealth);
					Target_CurrentHealth = GetActorProperty (0, AProp_Health);
					if (ActivatorID != ActivatorTID()) //Вот это непонятно.
					{
						SetActivator(ActivatorID);
						
						DrawEnemyHealthBar(Target_CurrentHealth, Target_MaxHealth, Monster_ClassName); // Для начала проще написать в фиксированных координатах, чтобы проверить работу скрипта в целом, потом уже можно думать про спец. функцию.
					}
				}
				else if (ClassifyActor(0) & ACTOR_PLAYER && ClassifyActor(0) & ACTOR_ALIVE) // Players/bots Не нужно!
				{
					Str Player_Name = GetCVarString ("Name");
					Target_MaxHealth = GetActorProperty (0, AProp_SpawnHealth);
					Target_CurrentHealth = GetActorProperty (0, AProp_Health);
					
					// hacks to work around player health
					// apparently players have a default max health of 0
					if (Target_MaxHealth == 0)
					{
						if (Target_CurrentHealth > 100)
							Target_MaxHealth = Target_CurrentHealth;
						else
							Target_MaxHealth = 100;
					}
					SetActivator(ActivatorID);
					DrawEnemyHealthBar(Target_CurrentHealth, Target_MaxHealth, Player_Name);
				}
				else
				{
				SetActivator (ActivatorID);
				}
			Delay (1);
			}
			else
			{
				SetActivator (ActivatorID);
			}
		}
		
		Delay (1); // Prevents runaway script
	}
	Delay (1);
	Restart;
}
1 7 2
alko
Marine
Next rank: Marine 1st class after 4 points
26

Doom Rate: 2

Ссылка на пост №353 Отправлено: 22.11.15 18:47:32
MaxED:
При помощи полупрозрачного 3Д пола, например.

Точно, спасибо. Раньше не замечал этот атрибут у 3д-полов.

Добавлено спустя 22 минуты 34 секунды:

С 2д-скайбоксом фигня какая-то.
Когда загружаю с заменой RSKY1 картинку, она тайлится 256*128 четыре раза.
То есть на весь обзор в 360 градусов вместилась бы картинка 1024*512, но если картинку с таким разрешением импортировать, будет тайлиться 4 раза её угол 256*128.

Суть в том, что в оригинальном думе скайбокс повторяющийся.
Но если у меня на скайбоксе изображение одной планеты запланировано, то эта планета будет 4 раза повторяться (и два раза ещё по вертикали).
ZZYZX
- UAC Commissar -
Next rank: = UAC Commissar = after 16 pointsМодератор форума
6284

Doom Rate: 1.65

Posts quality: +1631
Ссылка на пост №354 Отправлено: 23.11.15 03:41:21
Рандомновад
http://www.mediafire.com/download/e9qgdm5ipbtr4im/HSVLAMP.wad

А это шадовмену
http://www.mediafire.com/download/eu3k6sctecb6f0u/MONSTERHP.wad
Единственное что, тебе явно надо будет прикрутить проверку на РЕАЛЬНОЕ нахождение монстра под курсором, потому что здум имеет в виду автоаим, когда ищет цель игрока.
И возможно прикрутить дальность между координатами игрока и монстром. Для этого SetActivator(ptid), сохраняешь координаты, потом SetActivator(ptid, AAPTR_PLAYER_GETTARGET), и сравниваешь текущие координаты с игроком (VectorLength функцией).

Да, исходный код выкинь, мой проще :)
Если хочешь, могу попробовать прикрутить 3D позиционирование текста рядом с монстром.

Добавлено спустя 5 часов 10 минут 45 секунд:

alko:
То есть на весь обзор в 360 градусов вместилась бы картинка 1024*512, но если картинку с таким разрешением импортировать, будет тайлиться 4 раза её угол 256*128.

Какой порт? И как у тебя выглядит текстура? Честно не помню, является ли небо текстурой из нескольких патчей в ванили. Если является, то почини размер текстуры кроме замены патча. Если не является, то ограничение порта.
2 2 1
alekv
- Colonel -
Next rank: = Colonel = after 272 pointsМодератор форума
4168

Doom Rate: 1.87

Posts quality: +949
Ссылка на пост №355 Отправлено: 23.11.15 10:50:52
ZZYZX:
Немного про битовый сдвиг людям, которые не понимают, зачем он нужен (и следовательно никак не могут запомнить).
Что такое битовый сдвиг наглядно как я себе представляю:

Спасибо за разъяснения, я так в целом понимал что если мне надо конвертировать целое число в фиксед, юзал <<16>>16, но то что >>8 для угла, не знал, это мне очень поможет.
ps. по таблице нифига не понял хД
1 3 1
Shadowman
UAC General
Next rank: Unavailable after 0 points
8391

Doom Rate: 2.08

Posts quality: +1995
Ссылка на пост №356 Отправлено: 23.11.15 11:51:29
ZZYZX:
http://www.mediafire.com/download/eu3k6sctecb6f0u/MONSTERHP.wad

Файл не скачивается.
1 7 2
VladGuardian
= Commissar =
Next rank: - UAC Commissar - after 263 points
5537

Doom Rate: 1.28

Posts quality: +1934
Ссылка на пост №357 Отправлено: 23.11.15 12:06:08
alekv:
но то что >>8 для угла, не знал, это мне очень поможет.

Угол, недаром он и называется в документации - не "fixed angle", а "byte angle".
4 10 23
alko
Marine
Next rank: Marine 1st class after 4 points
26

Doom Rate: 2

Ссылка на пост №358 Отправлено: 23.11.15 12:19:12
ZZYZX:
Какой порт?


ZDoom.

ZZYZX:
И как у тебя выглядит текстура?


2д-изображение в формате png разрешением 1024*512.
[LeD]Jake Crusher
= UAC Marshal =
Next rank: UAC General after 652 pointsАдмин форумаАдмин сайта
7548

Doom Rate: 1.59

Posts quality: +857
Ссылка на пост №359 Отправлено: 23.11.15 12:23:22
Shadowman
Перезалил.
1 1 4
Memfis
= Colonel =
Next rank: - Commissar - after 137 points
4753

Doom Rate: 1.8

Posts quality: +701
Ссылка на пост №360 Отправлено: 23.11.15 13:18:25
alko:
С 2д-скайбоксом фигня какая-то.
Когда загружаю с заменой RSKY1 картинку, она тайлится 256*128 четыре раза.
То есть на весь обзор в 360 градусов вместилась бы картинка 1024*512, но если картинку с таким разрешением импортировать, будет тайлиться 4 раза её угол 256*128.

Тебе видимо нужно открыть ламп TEXTURE1, найти там текстуру SKY1 и поставить ей ширину 1024. На небе отображается именно текстура SKY1, а не патч RSKY1. По дефолту у SKY1 прописана ширина 256 и она "не видит" что там дальше.

Добавлено спустя 1 минуту 19 секунд:

А, ну и высоту поправь на 512, раз у тебя нестандартная.
1 2 1
Страница 18 из 200Перейти наверх Пред.  1, 2, 3 ... 17, 18, 19 ... 198, 199, 200  След.
   Список разделов - Флуд и устаревшие темы - Тема для новичков. Вопросы по маппингу/моддингу - любые!