При хостинг поддержке Интернет-сообщества VBIOS CS-Mapping.com.ua
Вернуться   CS-Mapping.com.ua > Forum > Разработка игр > Кодинг > Кодинг для Half-Life 1
Ник
Пароль
Регистрация Правила форума FAQ Пользователи Администрация Календарь Поиск За 24 часа Пометить все разделы прочитанными

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
Старый 17.02.2019, 16:52  #1
Yo Den
Yo Den
Капитан
Регистрация: 02.10.2013
Возраст: 28
Сообщения: 902
Замечания: 1


Ok Минимальный размер хулла монстров

Как уменьшить размер хулла у нпс и игрока (в том числе на сервере) при взаимодействии друг с другом? Понадобилось уменьшить их размеры, и хотя карта скомпилирована с меньшим размером хулла и в настройках монстров стоит что-то вроде UTIL_SetSize( pev, Vector( -1, -1, 0 ), Vector( 1, 1, 2 ) ); это влияет лишь на взаимодействие с геометрией уровня, т.е. модели проходят в узкие коридоры, но когда у них на пути встречается другая модель, то они сталкиваются друг с другом стандартными (в данном случае большими) хуллами шириной в 32 юнита. Может, можно сделать что-то с pev->solid или ещё как-то пофиксить?

Для примера скрин: вид сверху, по центру виден маленький игрок, его хулл уменьшен до пары юнитов (как и сама модель), размер клеток равен стандартному человеческому хуллу 32 юнита (для наглядности), справа сверху - нпс (барни). Если я подойду к барни, то упрусь в невидимый хулл равный размеру клетки, т.е. между нами будет расстояние ~16 юнитов (расстояние от центра хулла до его края). При этом барни спокойно может подойти в упор к любой стене (хулл то я уменьшал по-идее). Если я подойду к мультиплеерному игроку, то я упрусь почему-то стандартным хуллом в его стандартный хулл, и между нами расстояние будет 32 юнита (пол его хулла и пол моего). При этом опять же могу спокойно подойти к стене в упор. Вот так странно это работает. Хл стандартная, очень надеюсь на помощь
[ Миниатюры ]
gggg.jpg Просмотров: 125 Размер:  138.4 Кбайт  

Последний раз редактировалось Yo Den, 10.03.2019 в 17:58.
Yo Den вне форума Ответить с цитированием
Старый 17.02.2019, 18:17  #2
Ku2zoff
Ku2zoff
Старший сержант
Регистрация: 12.08.2010
Возраст: 30
Сообщения: 312


По умолчанию

Меняй размеры хуллов насильно в PM_Move, пробегаясь по субмоделям мира:
Код:
void PM_FixHullsMinsMaxs()
{
	if (g_hulls_fixed)
		return;

	int i, j;

	if (!g_worldmodel)
		g_worldmodel = pmove->physents[0].model;

	for (i = 1; i < 4; i++)
	{
		VectorCopy(hull_mins[i - 1], g_worldmodel->hulls[i].clip_mins);
		VectorCopy(hull_maxs[i - 1], g_worldmodel->hulls[i].clip_maxs);
	}

	for (j = 0; j < 512; j++)
	{
		if (g_worldmodel[j].type == mod_brush)
		{
			for (i = 1; i < 4; i++)
			{
				VectorCopy(hull_mins[i - 1], g_worldmodel[j].hulls[i].clip_mins);
				VectorCopy(hull_maxs[i - 1], g_worldmodel[j].hulls[i].clip_maxs);
			}
		}
	}
	pmove->Con_DPrintf("Fixing hulls' mins/maxs.\n");
	g_hulls_fixed = 1;
}
Если надо, могу дать полный код.

Ku2zoff, подумав, добавил 17.02.2019 в 18:32
А, стоп. GetHullBounds переписывал?

Последний раз редактировалось Ku2zoff, 17.02.2019 в 18:32.
Ku2zoff вне форума Ответить с цитированием
Старый 17.02.2019, 18:53  #3
Yo Den
Yo Den
Капитан
Регистрация: 02.10.2013
Возраст: 28
Сообщения: 902
Замечания: 1


По умолчанию

[ Цитата ] Сообщение от Ku2zoff: Меняй размеры хуллов насильно в PM_Move, пробегаясь по субмоделям мира:
Код:
void PM_FixHullsMinsMaxs()
{
	if (g_hulls_fixed)
		return;

	int i, j;

	if (!g_worldmodel)
		g_worldmodel = pmove->physents[0].model;

	for (i = 1; i < 4; i++)
	{
		VectorCopy(hull_mins[i - 1], g_worldmodel->hulls[i].clip_mins);
		VectorCopy(hull_maxs[i - 1], g_worldmodel->hulls[i].clip_maxs);
	}

	for (j = 0; j < 512; j++)
	{
		if (g_worldmodel[j].type == mod_brush)
		{
			for (i = 1; i < 4; i++)
			{
				VectorCopy(hull_mins[i - 1], g_worldmodel[j].hulls[i].clip_mins);
				VectorCopy(hull_maxs[i - 1], g_worldmodel[j].hulls[i].clip_maxs);
			}
		}
	}
	pmove->Con_DPrintf("Fixing hulls' mins/maxs.\n");
	g_hulls_fixed = 1;
}
Если надо, могу дать полный код.

Ku2zoff, подумав, добавил 17.02.2019 в 18:32
А, стоп. GetHullBounds переписывал?

GetHullBounds пробовал менять, но не осилил... лучше, конечно, полный код
Yo Den вне форума Ответить с цитированием
Старый 17.02.2019, 20:25  #4
Ku2zoff
Ku2zoff
Старший сержант
Регистрация: 12.08.2010
Возраст: 30
Сообщения: 312


По умолчанию

Код:
int CL_DLLEXPORT HUD_GetHullBounds( int hullnumber, float *mins, float *maxs )
{
//	RecClGetHullBounds(hullnumber, mins, maxs);

	int iret = 0;

	switch ( hullnumber )
	{
	case 0:				// Normal player
		VEC_HULL_MIN.CopyToArray(mins);
		VEC_HULL_MAX.CopyToArray(maxs);
		iret = 1;
		break;
	case 1:				// Crouched player
		VEC_DUCK_HULL_MIN.CopyToArray(mins);
		VEC_DUCK_HULL_MAX.CopyToArray(maxs);
		iret = 1;
		break;
	case 2:				// Point based hull
		Vector( 0, 0, 0 ).CopyToArray(mins);
		Vector( 0, 0, 0 ).CopyToArray(maxs);
		iret = 1;
		break;
	}

	return iret;
}

int GetHullBounds( int hullnumber, float *mins, float *maxs )
{
	int iret = 0;

	switch ( hullnumber )
	{
	case 0:				// Normal player
		VEC_HULL_MIN.CopyToArray(mins);
		VEC_HULL_MAX.CopyToArray(maxs);
		iret = 1;
		break;
	case 1:				// Crouched player
		VEC_DUCK_HULL_MIN.CopyToArray(mins);
		VEC_DUCK_HULL_MAX.CopyToArray(maxs);
		iret = 1;
		break;
	case 2:				// Point based hull
		g_vecZero.CopyToArray(mins);
		g_vecZero.CopyToArray(maxs);
		iret = 1;
		break;
	}

	return iret;
}

int g_hulls_fixed = 0;
model_t *g_worldmodel = NULL;

// фикс размеров хуллов
vec3_t hull_mins[4] = {
		{ -8.0f, -8.0f, -18.0f, },
		{ -16.0f, -16.0f, -16.0f, },
		{ -8.0f, -8.0f, -9.0f, }
};
vec3_t hull_maxs[4] = {
		{ 8.0f, 8.0f, 18.0f, },
		{ 16.0f, 16.0f, 16.0f, },
		{ 8.0f, 8.0f, 9.0f, }
};

void PM_FixHullsMinsMaxs()
{
	if (g_hulls_fixed)
		return;

	int i, j;

	if (!g_worldmodel)
		g_worldmodel = pmove->physents[0].model;

	for (i = 1; i < 4; i++)
	{
		VectorCopy(hull_mins[i - 1], g_worldmodel->hulls[i].clip_mins);
		VectorCopy(hull_maxs[i - 1], g_worldmodel->hulls[i].clip_maxs);
	}

	for (j = 0; j < 512; j++)
	{
		if (g_worldmodel[j].type == mod_brush)
		{
			for (i = 1; i < 4; i++)
			{
				VectorCopy(hull_mins[i - 1], g_worldmodel[j].hulls[i].clip_mins);
				VectorCopy(hull_maxs[i - 1], g_worldmodel[j].hulls[i].clip_maxs);
			}
		}
	}
	pmove->Con_DPrintf("Fixing hulls' mins/maxs.\n");
	g_hulls_fixed = 1;
}

// фикс размеров игрока
vec_t player_mins[4][3] = {
		{ -8.0f, -8.0f, -18.0f, },
		{ -8.0f, -8.0f, -9.0f, },
		{ 0.0f, 0.0f, 0.0f, },
		{ -16.0f, -16.0f, -16.0f, }
};
vec_t player_maxs[4][3] = {
		{ 8.0f, 8.0f, 18.0f, },
		{ 8.0f, 8.0f, 9.0f, },
		{ 0.0f, 0.0f, 0.0f, },
		{ 16.0f, 16.0f, 16.0f, }
};

void PM_FixPlayerMinsMaxs(void)
{
	for (int i = 0; i < 4; i++)
	{
		pmove->player_mins[i][0] = player_mins[i][0];
		pmove->player_mins[i][1] = player_mins[i][1];
		pmove->player_mins[i][2] = player_mins[i][2];
		pmove->player_maxs[i][0] = player_maxs[i][0];
		pmove->player_maxs[i][1] = player_maxs[i][1];
		pmove->player_maxs[i][2] = player_maxs[i][2];
	}
	pmove->Con_DPrintf("Fixing player's mins/maxs.\n");
}
PM_FixHullsMinsMaxs вызывать из PM_Move перед вызовом PM_PlayerMove. PM_FixPlayerMinsMaxs из PM_Init перед вызовом PM_CreateStuckTable. У меня все объекты прекрасно скейлятся. Одна проблема - на выделенном сервере без игрока PM_Move не вызывается, и скейл произойдёт только когда кто-то зайдёт на сервер хоть один раз. g_hulls_fixed = 0; в CWorld::Precahe и CHud::MsgFunc_ResetHUD.

Последний раз редактировалось Ku2zoff, 17.02.2019 в 20:30.
Ku2zoff вне форума Ответить с цитированием
Старый 17.02.2019, 21:56  #5
Yo Den
Yo Den
Капитан
Регистрация: 02.10.2013
Возраст: 28
Сообщения: 902
Замечания: 1


По умолчанию

ага, спасибо, сейчас буду пробовать

Yo Den, подумав, добавил 17.02.2019 в 22:39
[ Цитата ] Сообщение от Ku2zoff:
Код:
int CL_DLLEXPORT HUD_GetHullBounds( int hullnumber, float *mins, float *maxs )
{
//	RecClGetHullBounds(hullnumber, mins, maxs);

	int iret = 0;

	switch ( hullnumber )
	{
	case 0:				// Normal player
		VEC_HULL_MIN.CopyToArray(mins);
		VEC_HULL_MAX.CopyToArray(maxs);
		iret = 1;
		break;
	case 1:				// Crouched player
		VEC_DUCK_HULL_MIN.CopyToArray(mins);
		VEC_DUCK_HULL_MAX.CopyToArray(maxs);
		iret = 1;
		break;
	case 2:				// Point based hull
		Vector( 0, 0, 0 ).CopyToArray(mins);
		Vector( 0, 0, 0 ).CopyToArray(maxs);
		iret = 1;
		break;
	}

	return iret;
}

int GetHullBounds( int hullnumber, float *mins, float *maxs )
{
	int iret = 0;

	switch ( hullnumber )
	{
	case 0:				// Normal player
		VEC_HULL_MIN.CopyToArray(mins);
		VEC_HULL_MAX.CopyToArray(maxs);
		iret = 1;
		break;
	case 1:				// Crouched player
		VEC_DUCK_HULL_MIN.CopyToArray(mins);
		VEC_DUCK_HULL_MAX.CopyToArray(maxs);
		iret = 1;
		break;
	case 2:				// Point based hull
		g_vecZero.CopyToArray(mins);
		g_vecZero.CopyToArray(maxs);
		iret = 1;
		break;
	}

	return iret;
}

int g_hulls_fixed = 0;
model_t *g_worldmodel = NULL;

// фикс размеров хуллов
vec3_t hull_mins[4] = {
		{ -8.0f, -8.0f, -18.0f, },
		{ -16.0f, -16.0f, -16.0f, },
		{ -8.0f, -8.0f, -9.0f, }
};
vec3_t hull_maxs[4] = {
		{ 8.0f, 8.0f, 18.0f, },
		{ 16.0f, 16.0f, 16.0f, },
		{ 8.0f, 8.0f, 9.0f, }
};

void PM_FixHullsMinsMaxs()
{
	if (g_hulls_fixed)
		return;

	int i, j;

	if (!g_worldmodel)
		g_worldmodel = pmove->physents[0].model;

	for (i = 1; i < 4; i++)
	{
		VectorCopy(hull_mins[i - 1], g_worldmodel->hulls[i].clip_mins);
		VectorCopy(hull_maxs[i - 1], g_worldmodel->hulls[i].clip_maxs);
	}

	for (j = 0; j < 512; j++)
	{
		if (g_worldmodel[j].type == mod_brush)
		{
			for (i = 1; i < 4; i++)
			{
				VectorCopy(hull_mins[i - 1], g_worldmodel[j].hulls[i].clip_mins);
				VectorCopy(hull_maxs[i - 1], g_worldmodel[j].hulls[i].clip_maxs);
			}
		}
	}
	pmove->Con_DPrintf("Fixing hulls' mins/maxs.\n");
	g_hulls_fixed = 1;
}

// фикс размеров игрока
vec_t player_mins[4][3] = {
		{ -8.0f, -8.0f, -18.0f, },
		{ -8.0f, -8.0f, -9.0f, },
		{ 0.0f, 0.0f, 0.0f, },
		{ -16.0f, -16.0f, -16.0f, }
};
vec_t player_maxs[4][3] = {
		{ 8.0f, 8.0f, 18.0f, },
		{ 8.0f, 8.0f, 9.0f, },
		{ 0.0f, 0.0f, 0.0f, },
		{ 16.0f, 16.0f, 16.0f, }
};

void PM_FixPlayerMinsMaxs(void)
{
	for (int i = 0; i < 4; i++)
	{
		pmove->player_mins[i][0] = player_mins[i][0];
		pmove->player_mins[i][1] = player_mins[i][1];
		pmove->player_mins[i][2] = player_mins[i][2];
		pmove->player_maxs[i][0] = player_maxs[i][0];
		pmove->player_maxs[i][1] = player_maxs[i][1];
		pmove->player_maxs[i][2] = player_maxs[i][2];
	}
	pmove->Con_DPrintf("Fixing player's mins/maxs.\n");
}
PM_FixHullsMinsMaxs вызывать из PM_Move перед вызовом PM_PlayerMove. PM_FixPlayerMinsMaxs из PM_Init перед вызовом PM_CreateStuckTable. У меня все объекты прекрасно скейлятся. Одна проблема - на выделенном сервере без игрока PM_Move не вызывается, и скейл произойдёт только когда кто-то зайдёт на сервер хоть один раз. g_hulls_fixed = 0; в CWorld:recahe и CHud::MsgFunc_ResetHUD.

первый участок когда я заменил в cldll_int.cpp, второй в client.cpp, последующие две (void PM_FixPlayerMinsMaxs и void PM_FixHullsMinsMaxs) в пм шэред же писать? Пишут, мол
1>..\pm_shared\pm_shared.c(3164) : error C2065: 'g_hulls_fixed' : undeclared identifier
1>..\pm_shared\pm_shared.c(3167) : error C2143: syntax error : missing ';' before 'type'
1>..\pm_shared\pm_shared.c(3169) : error C2065: 'g_worldmodel' : undeclared identifier
1>..\pm_shared\pm_shared.c(3170) : warning C4047: '=' : 'int' differs in levels of indirection from 'model_s *'
что-то я не туда вбил

Последний раз редактировалось Yo Den, 17.02.2019 в 22:40.
Yo Den вне форума Ответить с цитированием
Старый 17.02.2019, 23:04  #6
Ku2zoff
Ku2zoff
Старший сержант
Регистрация: 12.08.2010
Возраст: 30
Сообщения: 312


По умолчанию

Забыл сказать, что надо подключить com_model.h в pm_shared.c, и удалить оттуда декларации hull_s и ещё чего-то там, что уже есть в com_model.h.
По поводу первой ошибки, хз, как ты её вообще умудрился получить, потому что g_hulls_fixed объявлена до PM_FixHullsMinsMaxs и PM_FixPlayerMinsMaxs.

Ku2zoff, подумав, добавил 17.02.2019 в 23:10
Не будет компилиться - скину аттачем все файлы, где заюзан этот код, скопипастишь точно в те места, где у меня.

Ku2zoff, подумав, добавил 17.02.2019 в 23:30
От затеи с уменьшением масштаба я отказался, т.к. на выделенном сервере хуллы не меняются, пока хотя бы один игрок не зайдёт, а мод я хочу попытаться сделать кооперативным. В результате, многие энтити могут застрять при спавне. Я снял ограничение на размер карты. Китайские компиляторы вполне нормально компилят уровни со стороной куба 32768 юнитов. Глянь эту тему, если ещё не видел.

Последний раз редактировалось Ku2zoff, 17.02.2019 в 23:30.
Ku2zoff вне форума Ответить с цитированием
Старый 18.02.2019, 07:01  #7
Yo Den
Yo Den
Капитан
Регистрация: 02.10.2013
Возраст: 28
Сообщения: 902
Замечания: 1


По умолчанию

Ага, хорошо, попробую, позже отпишусь. С уменьшенным масштабом удобнее мапить, можно юзать обычный хаммер + это ограничит маппера от чрезмерной детализации (ведь теперь один юнит это аж пара метров). Если сделать плоскость в террейн генераторе холмистой, деревья модельками, машины трейнами, дорогу отдельной затемнённой текстурой, то думаю будет более менее выглядеть
[ Миниатюры ]
1.jpg Просмотров: 109 Размер:  473.4 Кбайт  2.jpg Просмотров: 118 Размер:  492.1 Кбайт  3.jpg Просмотров: 108 Размер:  589.9 Кбайт  
Yo Den вне форума Ответить с цитированием
Старый 18.02.2019, 18:21  #8
Ku2zoff
Ku2zoff
Старший сержант
Регистрация: 12.08.2010
Возраст: 30
Сообщения: 312


По умолчанию

[ Цитата ] Сообщение от Yo Den: можно юзать обычный хаммер + это ограничит маппера от чрезмерной детализации (ведь теперь один юнит это аж пара метров)
Да кто ж в здравом уме будет юзать в 2019 году обычный хаммер, когда есть джек? Даже бесплатная его версия почти ничем не отличается от стимовской. 1 юнит = пара метров, это весьма сильно. И годно лишь для сингла. Потому что в мультиплеере передача координат может ошибаться на несколько юнитов. Если ты делаешь мод с машинками и покатушками по городу, то это вполне себе сойдёт. Но если это шутер, тады ой.
Ku2zoff вне форума Ответить с цитированием
Старый 18.02.2019, 18:24  #9
Дядя Миша
Дядя Миша
Регистрация: 28.03.2010
Адрес: Кубань
Сообщения: 15,383


По умолчанию

2 Ku2zoff: да хватит эту выдумку распространять, якобы в hlrally был уменьшенный хулл. Халфовские там хуллы, а самая большая карта как раз 8192х8192.
Дядя Миша вне форума Ответить с цитированием
Старый 18.02.2019, 18:30  #10
Ku2zoff
Ku2zoff
Старший сержант
Регистрация: 12.08.2010
Возраст: 30
Сообщения: 312


По умолчанию

Масштаб у тебя невероятно маленький. Если уж охота чего-то такого, сделай нпс ростом 18 юнитов, а шириной 8. Получится такое же соотношение, как 72 к 32-ум в оригинале. Не будет погрешностей в расчётах. Заодно, и размер игрока в присяде сможешь указать без дробных значений. Как раз будет 9 юнитов вместо 36 в оригинале. Короче, уменьшение в 4 раза (потому что деление 36 на 9 даёт 4 без остатка) - самый лучший вариант. У тебя карты получатся как 32768, т.к. всё в 4 раза уменьшится. А это, поверь мне, очень дофига.

Ku2zoff, подумав, добавил 18.02.2019 в 18:32
2 Дядя Миша:
Я, кажется, нигде не утверждал, что в хлралли хуллы нестандартные. Если там машинка шириной 32 юнита, она вполне нормально смотрится на обычных картах, если опустить камеру к земле.

Последний раз редактировалось Ku2zoff, 18.02.2019 в 18:32.
Ku2zoff вне форума Ответить с цитированием
Старый 18.02.2019, 18:38  #11
Дядя Миша
Дядя Миша
Регистрация: 28.03.2010
Адрес: Кубань
Сообщения: 15,383


По умолчанию

[ Цитата ] Я, кажется, нигде не утверждал, что в хлралли хуллы нестандартные
Так это единственный пример машинок под халфу.
Дядя Миша вне форума Ответить с цитированием
Старый 18.02.2019, 18:43  #12
Ku2zoff
Ku2zoff
Старший сержант
Регистрация: 12.08.2010
Возраст: 30
Сообщения: 312


По умолчанию

2 Дядя Миша:
Я не провожу аналогию с хлралли. Может, у ТСа мод вроде гта, где каждая карта - район города. А здания и всякие пешеходные локации - отдельные карты.
Дело вот в чём. Уберегать маппера от чрезмерной детализации подобным способом - нелогично. Как ни крути, нагрузка зависит от скейла текстур. И здесь уже нет разницы, уменьшаешь ты все объекты в 4 раза относительно стандартной сетки, или увеличиваешь сетку в 4 раза. Один хрен, всё вывалится в AllocBlock: full, если на карте будет больше 16 тыщ патчей. И, как оказалось, увеличение сетки проще, чем уменьшение масштаба. Элементарно, писанины в коде меньше и модели скейлить не надо. Скорости там подбирать, высоту камеры и ещё кучу мелочей подгонять.

Ku2zoff, подумав, добавил 18.02.2019 в 18:44
В таком случае сразу надо переходить на ксаш, с его повышенными лимитами.

Последний раз редактировалось Ku2zoff, 18.02.2019 в 18:46.
Ku2zoff вне форума Ответить с цитированием
Старый 18.02.2019, 18:54  #13
Дядя Миша
Дядя Миша
Регистрация: 28.03.2010
Адрес: Кубань
Сообщения: 15,383


По умолчанию

[ Цитата ] Я не провожу аналогию с хлралли
Ты даёшь советы про мод с машинками, сам ты такой мод не делаешь, на хлралли не ссылаешься, тогда про какой мод вообще речь? Если у тебя нет подобного опыта, но ты при этом уверенно приводишь его в пример, значит это твои стереотипы.
Дядя Миша вне форума Ответить с цитированием
Старый 18.02.2019, 19:04  #14
NarutoUA
NarutoUA
Хокаге
Регистрация: 17.11.2010
Адрес: Ukraine
Возраст: 24
Сообщения: 948
Замечания: 2


По умолчанию

Возможно оффтоп, но как в гс работает трейсинг по хуллам? Для двух точек понятно, тут луч. А в случае с кубами как? Пускает 4(?) луча в направлении ендпоинта? (Я про PM_PlayerTrace)

Последний раз редактировалось NarutoUA, 18.02.2019 в 19:08.
NarutoUA вне форума Ответить с цитированием
Старый 18.02.2019, 19:06  #15
Ku2zoff
Ku2zoff
Старший сержант
Регистрация: 12.08.2010
Возраст: 30
Сообщения: 312


По умолчанию

[ Цитата ] Сообщение от Дядя Миша: тогда про какой мод вообще речь?
Логическая цепочка: топикстартер уже несколько лет не может решить проблему с масштабом хуллов. Топикстартер спрашивал на хлфх про развороты модели игрока по yaw от третьего лица, прилагая гифки с моделями машинок из хлралли. Значит, он делает мод с машинками, и хочет уменьшить хуллы, чтобы машинки в его моде могли достаточно долго кататься по прямой в пределах стандартной сетки.

Ku2zoff, подумав, добавил 18.02.2019 в 19:11
[ Цитата ] Сообщение от Дядя Миша: но ты при этом уверенно приводишь его в пример, значит это твои стереотипы.
Это (уменьшение масштаба) одно из возможных решений. Которое я опробовал, и остался недоволен. Опыт негативный. И предложил я намного более удобное решение со снятием ограничения на размер карты. А ещё проще перейти на ксаш. Тогда целая куча проблем отпадёт.

Последний раз редактировалось Ku2zoff, 18.02.2019 в 19:11.
Ku2zoff вне форума Ответить с цитированием
Старый 18.02.2019, 19:25  #16
Дядя Миша
Дядя Миша
Регистрация: 28.03.2010
Адрес: Кубань
Сообщения: 15,383


По умолчанию

2 NarutoUA: пускает луч, толщиной в хулл. Для этого геометрию надувают на толщину хулла.
2 Ku2zoff: да топикстартер, когда делал свои весёлые моды, ни у кого советов не спрашивал. А тут спрашивает и ничего не делает.
[ Цитата ] Которое я опробовал, и остался недоволен. Опыт негативный.
Помоему ты наоборот был в восторге, покрайней мере первое время.
Дядя Миша вне форума Ответить с цитированием
Старый 18.02.2019, 19:38  #17
Ku2zoff
Ku2zoff
Старший сержант
Регистрация: 12.08.2010
Возраст: 30
Сообщения: 312


По умолчанию

[ Цитата ] Сообщение от Дядя Миша: Помоему ты наоборот был в восторге, покрайней мере первое время.
Вот именно, что первое время, пока не попробовал это дело в мультиплеере, да ещё и на выделенном сервере. Для сингла, повторюсь, такой способ вполне хорош, достаточно написать парочку хаков.
Ku2zoff вне форума Ответить с цитированием
Старый 18.02.2019, 20:37  #18
Flash
Flash
Регистрация: 21.09.2004
Адрес: Кривой Рог, Украина
Возраст: 38
Сообщения: 16,697


По умолчанию

[ Цитата ] Сообщение от Ku2zoff: Да кто ж в здравом уме будет юзать в 2019 году обычный хаммер, когда есть джек?
Много кто. Есть фишки к которым я привык с хаммера и которых лично мне не хватало в джеке.
Из того что могу вспомнить, например фокус на активных окнах, наследование свойств объектов не нужное, со временем работы джека он начинал у меня тормозить. Это основные причины по которым я не использую джек, "находясь в твёрдом уме и здравой памяти".
Flash вне форума Ответить с цитированием
Старый 18.02.2019, 21:19  #19
Ku2zoff
Ku2zoff
Старший сержант
Регистрация: 12.08.2010
Возраст: 30
Сообщения: 312


По умолчанию

2 Flash:
С твоим мапперским опытом я спорить не могу. Но, насчёт фокуса окнах, например, я не разу не испытывал проблем с этим. Какие окна ты имеешь в виду? Окна отдельных запущенных версий редактора, или четыре (или меньше) окна в интерфейсе редактора?
Наследование свойств объектов, это при копировании энтити и изменении её класснейма?
Насчёт тормозить вообще ХЗ, джек у меня никогда не тормозит со временем. Уровень undo стоит 100, память не забивается, по крайней мере на небольших картах.
Ku2zoff вне форума Ответить с цитированием
Старый 18.02.2019, 22:56  #20
Flash
Flash
Регистрация: 21.09.2004
Адрес: Кривой Рог, Украина
Возраст: 38
Сообщения: 16,697


По умолчанию

2 Ku2zoff:
Например у тебя активно окно текстур, в хамере достаточно убрать курсор с окна и можно например свободно пользоваться к примеру передвижением в 3д, в джеке емнип надо было сделать дополнительный клик, что бы убрать фокус с окошка.
Ксерокс тогда говорил что не сможет это исправить.
Насчет наследования свойств, кто-то недавно писал о баге энтити, из-за того что остались свойства от предыдущей.
По поводу тормозов, Ксерокс пенял на то, что много текстур подключено, мол одного-двух вадников хватит всем.
В принципе всё это не существенно и лишь бы было желание пользоваться новым софтом.
Flash вне форума Ответить с цитированием
Ответ

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход



Часовой пояс GMT +3, время: 03:25.


Designed by FT-502, [email protected] Originally by Ulric Spaak
Hosted by: VBIOS.COM, Powered by: vBulletin
copyright © 2002 - 2021 by CS-Mapping.com.ua Community