Форумы на Наша-Life
Home user CP  
Календарь событий Найти других пользователей Часто задаваемые Вопросы Поиск  
Автор
Тема
Создать Новую Тему    Ответить
Breever
(Добываю фероподы из мирмидонта)

Зарегистрирован: Jun 2009
Проживает: Россия/Красноярск
Написал: 95 сообщений

Оценка: 3 Votes 3 чел.

Вид от 3-го лица Оо
Сообщение #872036
Вообщем, я занялся созданием довольно большого мода с видом от 3-го лица, парюсь уже весь день, не могу понять что такое Оо

В CS:S это делается всего парой операторов (thirdperson и дальнейшая регулировка положения камеры), в хл же модель игрока говяненькая, я попытался ее заменить для примера на Combine Soldier'а, компилю dll-ки, копирую, запускаю мод, вылетает с ошибкой
Engine error
code:1/ - player: UTIL_SetModel: not precached: models/combine_soldier.mdl

WTF?? Oo

Вообще, надо добиться такого же результата, как в КСС
Old Post 16-06-2009 15:21
Breever отсутствует Посмотреть данные 'Breever' Отправить Приватное Сообщение для 'Breever' Посетить домашнюю страничку Breever Найти другие сообщения 'Breever' Добавить Breever в Список Друзей
Править/Удалить Сообщение Ответить с Цитированием
realspaik
(Particle Ghost)

Зарегистрирован: Jun 2006
Проживает: Украина/
Написал: 1247 сообщений

Оценка: 83 Votes 83 чел.

Сообщение #872051
перед тем как заспавнить модель ее нужно прекэшить(как то так произносится ), функция PrecacheModel
Модель игрока в хл2 прекэшится в server\hl2\hl2_client.cpp
Old Post 16-06-2009 15:32
realspaik отсутствует Посмотреть данные 'realspaik' Отправить Приватное Сообщение для 'realspaik' Посетить домашнюю страничку realspaik Найти другие сообщения 'realspaik' Добавить realspaik в Список Друзей
Править/Удалить Сообщение Ответить с Цитированием
Breever
(Добываю фероподы из мирмидонта)

Зарегистрирован: Jun 2009
Проживает: Россия/Красноярск
Написал: 95 сообщений

Оценка: 3 Votes 3 чел.

Сообщение #872108
Спасибо, помогло, даже оружие прямо в руку суется, вообще норм
Кстати, как я понял, прекачение - это типо определения в памяти места, как для обьявления переменных?

Только вот что-то с анимацией: он висит в рагдолле и не совершает никаких действий. В консоле сообщений о том, что мол не найден такой-то файл анимации (как это бывает, если кому-нить назначаешь в хамере не его анимацию) не отображается, значит по логике в моделе player и не используется анимация.
Поэтому как научить его двигаться? Я понимаю, что нужно где-то написать типо onPlayerMoved туда-то, присвоить модели нужную анимацию. Только вот где это конкретно?
Не существует границ, есть лишь препятствия
Old Post 16-06-2009 16:53
Breever отсутствует Посмотреть данные 'Breever' Отправить Приватное Сообщение для 'Breever' Посетить домашнюю страничку Breever Найти другие сообщения 'Breever' Добавить Breever в Список Друзей
Править/Удалить Сообщение Ответить с Цитированием
realspaik
(Particle Ghost)

Зарегистрирован: Jun 2006
Проживает: Украина/
Написал: 1247 сообщений

Оценка: 83 Votes 83 чел.

Сообщение #872124
Почитай статьи
о прекэше
http://developer.valvesoftware.com/...ecaching_Assets

о виде от третьего лица(об анимации там тоже есть)
http://developer.valvesoftware.com/...d_Person_Camera
Old Post 16-06-2009 17:10
realspaik отсутствует Посмотреть данные 'realspaik' Отправить Приватное Сообщение для 'realspaik' Посетить домашнюю страничку realspaik Найти другие сообщения 'realspaik' Добавить realspaik в Список Друзей
Править/Удалить Сообщение Ответить с Цитированием
Breever
(Добываю фероподы из мирмидонта)

Зарегистрирован: Jun 2009
Проживает: Россия/Красноярск
Написал: 95 сообщений

Оценка: 3 Votes 3 чел.

Сообщение #872144
Хм, спасибо, я уже и по гуглу пытался найти как делается нормально с анимацией, завтра внимательно изучу.
Не существует границ, есть лишь препятствия
Old Post 16-06-2009 17:32
Breever отсутствует Посмотреть данные 'Breever' Отправить Приватное Сообщение для 'Breever' Посетить домашнюю страничку Breever Найти другие сообщения 'Breever' Добавить Breever в Список Друзей
Править/Удалить Сообщение Ответить с Цитированием
Breever
(Добываю фероподы из мирмидонта)

Зарегистрирован: Jun 2009
Проживает: Россия/Красноярск
Написал: 95 сообщений

Оценка: 3 Votes 3 чел.

Сообщение #872442
Изучил, разобрался, оказывается не все так просто в сурсе, есть определенные активитис, с помощью которых модель "выбирает свое поведение"

Только вот вопрос: тестю я на примере combine_soldier, с "родными" оружиями (SMG, дробан, АР2 и др) он бегает нормально, а вот с другими (монтировка та же) - в рагдолле, хотя вроде даже активитис присваивается на бег, т.е. разницы не должны быть поидее с чем бежать.

Вот на всякий случай функция анимации, (с)перта из валвовского вики.

code:
// ===================================================================================
// ================================ A N I M A T I O N ================================
// ===================================================================================

// Set the activity based on an event or current state
void CHL2_Player::SetAnimation( PLAYER_ANIM playerAnim )
{
int animDesired;

float speed;

speed = GetAbsVelocity().Length2D();



if ( GetFlags() & ( FL_FROZEN | FL_ATCONTROLS ) )
{
speed = 0;
playerAnim = PLAYER_IDLE;
}

Activity idealActivity = ACT_RUN;

// This could stand to be redone. Why is playerAnim abstracted from activity? (sjb)
if ( playerAnim == PLAYER_JUMP )
{
idealActivity = ACT_JUMP;
}
else if ( playerAnim == PLAYER_DIE )
{
if ( m_lifeState == LIFE_ALIVE )
{
return;
}
}
else if ( playerAnim == PLAYER_ATTACK1 )
{
if ( GetActivity( ) == ACT_HOVER ||
GetActivity( ) == ACT_SWIM ||
GetActivity( ) == ACT_HOP ||
GetActivity( ) == ACT_LEAP ||
GetActivity( ) == ACT_DIESIMPLE )
{
idealActivity = GetActivity( );
}
else
{
idealActivity = ACT_GESTURE_RANGE_ATTACK1;
}
}
else if ( playerAnim == PLAYER_RELOAD )
{
idealActivity = ACT_GESTURE_RELOAD;
}
else if ( playerAnim == PLAYER_IDLE || playerAnim == PLAYER_WALK )
{
if ( !( GetFlags() & FL_ONGROUND ) && GetActivity( ) == ACT_JUMP ) // Still jumping
{
idealActivity = GetActivity( );
}
/*
else if ( GetWaterLevel() > 1 )
{
if ( speed == 0 )
idealActivity = ACT_HOVER;
else
idealActivity = ACT_SWIM;
}
*/
else
{
if ( GetFlags() & FL_DUCKING )
{
if ( speed > 0 )
{
idealActivity = ACT_WALK_CROUCH;
}
else
{
idealActivity = ACT_COVER_LOW; //ACT_IDLE_CROUCH;
}
}
else
{
if ( speed > 0 )
{
idealActivity = m_fIsSprinting ? ACT_WALK : ACT_RUN;
}
else
{
idealActivity = ACT_IDLE_ANGRY;
}
}
}

//idealActivity = TranslateTeamActivity( idealActivity );
}

if ( idealActivity == ACT_GESTURE_RANGE_ATTACK1 )
{
RestartGesture( Weapon_TranslateActivity( idealActivity ) );

// FIXME: this seems a bit wacked
Weapon_SetActivity( Weapon_TranslateActivity( ACT_RANGE_ATTACK1 ), 0 );

return;
}
else if ( idealActivity == ACT_GESTURE_RELOAD )
{
RestartGesture( Weapon_TranslateActivity( idealActivity ) );
return;
}
else
{
SetActivity( idealActivity );

animDesired = SelectWeightedSequence( Weapon_TranslateActivity ( idealActivity ) );

if (animDesired == -1)
{
animDesired = SelectWeightedSequence( idealActivity );

if ( animDesired == -1 )
{
animDesired = 0;
}
}

// Already using the desired animation?
if ( GetSequence() == animDesired )
return;

m_flPlaybackRate = 1.0;
ResetSequence( animDesired );
SetCycle( 0 );
return;
}

// Already using the desired animation?
if ( GetSequence() == animDesired )
return;

//Msg( "Set animation to %d\n", animDesired );
// Reset to first frame of desired animation
ResetSequence( animDesired );
SetCycle( 0 );

}


Ну и вопрос: как сделать, чтобы без разницы с каким оружием, все равно была анимация бега?
Не существует границ, есть лишь препятствия
Old Post 17-06-2009 09:49
Breever отсутствует Посмотреть данные 'Breever' Отправить Приватное Сообщение для 'Breever' Посетить домашнюю страничку Breever Найти другие сообщения 'Breever' Добавить Breever в Список Друзей
Править/Удалить Сообщение Ответить с Цитированием
 
Zelas
(Guest)
Пользователь не зарегестрирован в форуме
Сообщение #872458
По поводу мантеровки, фишка в том, что солдаты-комбайн изначально не преспособенны для работы с холодным оружием (ломом,электро дуб.) так что можно поискать решение на основе кода HLDM т.к. там модели бегают с любыми оружиями!

Удачи!
Old Post 17-06-2009 10:20 Править/Удалить Сообщение Ответить с Цитированием
Breever
(Добываю фероподы из мирмидонта)

Зарегистрирован: Jun 2009
Проживает: Россия/Красноярск
Написал: 95 сообщений

Оценка: 3 Votes 3 чел.

Сообщение #872629
Ну в моем моде будет абсолютно другая модель игрока, поэтому придется научиться приспосабливать ко всему
Ну кстати спасибо за совет, в HL2DM можно много чего выцепить
Не существует границ, есть лишь препятствия
Old Post 17-06-2009 16:20
Breever отсутствует Посмотреть данные 'Breever' Отправить Приватное Сообщение для 'Breever' Посетить домашнюю страничку Breever Найти другие сообщения 'Breever' Добавить Breever в Список Друзей
Править/Удалить Сообщение Ответить с Цитированием
manJak
(маппер-теоретик)

Зарегистрирован: Feb 2006
Проживает: Mother Russia/Moscow
Написал: 2953 сообщений

Оценка: 66 Votes 66 чел.

Developer Старожил 
Сообщение #872722
Breever, насколько мне не изменяет память, активити проходят через код оружия, конкретнее - через ActivityOverride, где оружие транслирует одни активити в другие, специфичные для себя. Напрмер, ACT_WALK -> ACT_WALK_RIFLE у ружо-подобных вепонов. Соответственно, модель игрока должна среди прочих иметь активитю ACT_WALK_RIFLE. Таблицы трансляции определяются в коде каждого вепона - длинный такой список на целый экран) Надеюсь, поможет.
Old Post 17-06-2009 18:55
manJak отсутствует Посмотреть данные 'manJak' Отправить Приватное Сообщение для 'manJak' Найти другие сообщения 'manJak' Добавить manJak в Список Друзей
Править/Удалить Сообщение Ответить с Цитированием
FishMan
(Real Project Leader)

Зарегистрирован: Jul 2003
Проживает: /
Написал: 9467 сообщений

Оценка: 143 Votes 143 чел.

Старожил Developer 
Сообщение #872855
Ух ты Маньяк, сансей мой, я даже понял, что там написано ))))
Мб мне ещё и кодером стать?
──╔═══╗| Displacement Sculpting
╔╗║╔══╝| --------------
╚╝║╚═╗─| Владимир Чернышёв (OBA Main Character) by Flagg
╔╗║╔═╝─| --------------
╚╝║╚══╗| Operation Broken Arrow: Seven Hour War
──╚═══╝| --------------


The "Earth" without "art" is just "eh"
Old Post 18-06-2009 01:59
FishMan отсутствует Посмотреть данные 'FishMan' Отправить Приватное Сообщение для 'FishMan' Найти другие сообщения 'FishMan' Добавить FishMan в Список Друзей
Править/Удалить Сообщение Ответить с Цитированием
Breever
(Добываю фероподы из мирмидонта)

Зарегистрирован: Jun 2009
Проживает: Россия/Красноярск
Написал: 95 сообщений

Оценка: 3 Votes 3 чел.

Сообщение #873001
manJak, пасиба, я так и думал, что дело все в коде оружия Мне б такие знания как у большенства тут
Не существует границ, есть лишь препятствия
Old Post 18-06-2009 10:31
Breever отсутствует Посмотреть данные 'Breever' Отправить Приватное Сообщение для 'Breever' Посетить домашнюю страничку Breever Найти другие сообщения 'Breever' Добавить Breever в Список Друзей
Править/Удалить Сообщение Ответить с Цитированием
manJak
(маппер-теоретик)

Зарегистрирован: Feb 2006
Проживает: Mother Russia/Moscow
Написал: 2953 сообщений

Оценка: 66 Votes 66 чел.

Developer Старожил 
Сообщение #873199
FishMan, ага "я мапер, моделер и кодер.. когда я успел? оО" Лучше не распыляйся.

Breever, хы, да на самом деле маловато тут знающего люда))
Old Post 18-06-2009 15:51
manJak отсутствует Посмотреть данные 'manJak' Отправить Приватное Сообщение для 'manJak' Найти другие сообщения 'manJak' Добавить manJak в Список Друзей
Править/Удалить Сообщение Ответить с Цитированием
Arch13
(Member)

Зарегистрирован: Jul 2008
Проживает: /
Написал: 49 сообщений

Оценка: 0 Votes

Сообщение #892295
не хочу показаться глупым, но тут http://developer.valvesoftware.com/...d_Person_Camera
и тут http://developer.valvesoftware.com/...e_Shoulder_View
ошибки в коде. я давным давненько, когда ещё SiN Episodes выходил ползал по вальвовскому форуму. юзал эти туторы - там половину скобок забыли просто кое-где лишние поставили=)))
Breever, ты не столкнулся с проблемой, когда движок для модели проигрывает анимацию дискретно, то есть один фрэйм, потом откидка назад до нуля, потом фрэйм 2, потом снова ноль, потом фрэйм 3, потом 0, потом 4 и так далее для всего.
доходило до того, что сорс во времня стрельбы рагдол на пол укладывал
Old Post 12-08-2009 13:25
Arch13 отсутствует Посмотреть данные 'Arch13' Отправить Приватное Сообщение для 'Arch13' Найти другие сообщения 'Arch13' Добавить Arch13 в Список Друзей
Править/Удалить Сообщение Ответить с Цитированием
Все время в GMT . Сейчас 11:11.
Создать Новую Тему    Ответить

Быстрый ответ
Ваше Имя:
Хотите Зарегистрироваться?
Ваш Пароль:
Забыли свой Пароль?
Вы можете оставлять свои комментарии анонимно, просто введя свои имя и оставив пустым поле пароля.
Ваш ответ:

[проверить размер]
[транслит в win] | [?]
[русская клавиатура]

Дополнительно: Подтверждение по E-Mail


Быстрый переход:
 
Оцените эту Тему:
 

Правила форума:
Создание Тем не разрешено
Создание Сообщений разрешено
Создавать Вложения не разрешено
Редактирование Сообщений не разрешено
Коды HTML запрещены
Коды форума разрешены
Смайлики разрешены
Коды [IMG] запрещены