RayTwitty 502 Опубликовано 18 Августа 2015 Поделиться Опубликовано 18 Августа 2015 (изменено) Вы бы лучше чем-то более "реальным" занимались, нежели портами мифических физиксов, хавоков и т.д. Никто не будет переделывать кучу моделей и параметров в игре под новый физический движок, только время потеряете. Изменено 18 Августа 2015 пользователем Shadows 2 1 Ссылка на комментарий
HESH 64 Опубликовано 18 Августа 2015 Поделиться Опубликовано 18 Августа 2015 (изменено) @-StalkMen-, отстоиная проприеритарщина, жрущая процессорное время (ну не на вк же ее цеплять, все-таки амд'шников много) и использующая DXUT в своих демках... Ну... В X-Ray видеть не хотел бы. Плюс согласен с Евгением - никто не будет переделывать горы моделей и переписывать алгоритмы. @Romz, это где собранные движки 1.6. два нуля и 01-02? Поздравляю, это nodvd. 1.6.03 (компил engine.vs2008.fixed) + xpath03.db в папке на яндекс.диске Изменено 18 Августа 2015 пользователем HESH Ссылка на комментарий
Tron 53 Опубликовано 18 Августа 2015 Поделиться Опубликовано 18 Августа 2015 (изменено) Кто, что думает по поводу PhysX'a ? HESH, кажется просто не осилил его.. -StalkMen-, отстоиная проприеритарщина, жрущая процессорное время (ну не на вк же ее цеплять, все-таки амд'шников много) и использующая DXUT в своих демках... Ну... В X-Ray видеть не хотел бы. Плюс согласен с Евгением - никто не будет переделывать горы моделей и переписывать алгоритмы. Сидорович, ты иногда выходи из своего бункера. Хорошая скорость-первая в мире, аргумент про AMD'шников не состоятелен, т.к там на CUDA только обработчик тканей(который кажется тоже является партиклом - во всяком случае в PVD он отображется как партикл) и партиклов, относительно легкая интеграция(дальше твердых тел не копался). Большая часть CUDA кода была удалена в 2.8х версиях. Спрашивается, как давно ты его смотрел? DXUT в своих демках. Встречный вопрос,что плохого в DXUT? - тебе дали уже готовый отлаженный код, который кстати говоря даже в CE используется Еще один встречный вопрос, как давно ты крутил его? - там уже с версии 3.0 свой фреймворк. Почему я написал "относительно легкая" - в документации отлично все расписано, но расписано все по принципу "Какой вопрос - такой и ответ", т.е интегрировав ты не поймешь почему у тебя тела не имеют угловой скорости и т.д, а семплы написаны отнюдь не очевидно. У меня были проблемы с Character Controller, а именно когда я делал FPS камеру - было продавливание геометрии, но там было сделано на скорую руку. Но вот готового класса,как в Havok, с уже готовыми методами Jump и т.д не жди. Все делать ручками. Изменено 18 Августа 2015 пользователем Tron 2 Ссылка на комментарий
Romz 142 Опубликовано 18 Августа 2015 Поделиться Опубликовано 18 Августа 2015 Romz, это где собранные движки 1.6. два нуля и 01-02? Поздравляю, это nodvd.Нет, вот эту 1.6.03 (компил engine.vs2008.fixed) + xpath03.db в папке на яндекс.дискеУтянул, на всякий случай. А что менялось? Описание есть? Шаман - СисАдмин Всяко-разно: для ЧН Ссылка на комментарий
Forser 47 Опубликовано 18 Августа 2015 Поделиться Опубликовано 18 Августа 2015 (изменено) Кто, что думает по поводу PhysX'a ? Ну думаю о бунте AMD'шников. Я лучше с обновлением OpenDE повожусь. Изменено 18 Августа 2015 пользователем Forser Ссылка на комментарий
-StalkMen- 159 Опубликовано 18 Августа 2015 Поделиться Опубликовано 18 Августа 2015 , И чего же там мифического? Я уже частично впилил PhysX в xrLC - есть прирост. Я бы пока не ковырялся с этим, но у нас слишком большая карта. На коллизию уходит слишком много памяти (половина от всей используемой, это только на 1/4 карты) Начал пилить чанки, но понял, что с физикой слишком много заморочек... Никто не будет Никто кроме нас не пилит агроменную карту.Никто кроме нас не пилит кооп. Если мы запилим PhysX, то мы и будем под него всё настраивать ©логика бунте AMD'шников PhysX запилин в A3, но где там бунты? Я не видел. Ссылка на комментарий
HESH 64 Опубликовано 18 Августа 2015 Поделиться Опубликовано 18 Августа 2015 @Romz, changelog'а нет, ибо это просто билдодвижок. Хотя можешь на гм поискать, может и есть, я не копал, мне не интересно. @Tron, CE у нас отличается оптимизированностью? Я не про С3, который пилила ЕА - та ради копейки все оптимизирует, а 1 крузис, 2-ой? Да и если Вы имели ввиду именно перый CE, то там вроде как физикса нет, а если четвертый - то я его код не видел. Плюс я не про твердые тела, а про флюиды. Качал недавнюю демку от нв - на моем древнем 1900ХТХ она даже не запустилась. А HairWorks? Тоже партиклы? Хотя шерсть меня не интересует. Суть в том, что если и легко его впилить, то это не значит, что он freeware. Я не болею за опен-сорсь, но все же... Сам же подключить физикс к хрею не пытался, паспорт российский когда получу и в вузе получу озможность обучаться - тогда и буду копать, никто же учить меня не будет. А MSDN - это больше WinAPI, чем C++. Что, в принципе, тоже полезно (хотелось бы видеть редакторы на WinAPI, а не на классах борланда). Ссылка на комментарий
Tron 53 Опубликовано 18 Августа 2015 Поделиться Опубликовано 18 Августа 2015 (изменено) CE у нас отличается оптимизированностью? Я не про С3, который пилила ЕА - та ради копейки все оптимизирует, а 1 крузис, 2-ой? EA-ничего не пилила, про рендер CE3 я ссылочку приложил CE2 - forward rendering+ ubershader(если верить gd просто ветвления шейдеров сделаны через дефайны, [управление дефайнами идет через код плюсов]) CE3-crysis2 - deferred lighting(aka light pre-pass, двойное рисование геометрии - сильная нагрузка на шину памяти[беда всех deferred техник]) CE3-crysis3 - deferred shading(единожды рисуется геометрия+притом gbuffer удалось "ужать") CE-Rome - там уже появился некий hybrid render, презентацию я помню смутно, а саму игру не смотрел. По коду, мне встречались упоминания Forward Shading техники, но мне кажется, они его "рядом" реализовали CE4-го поколения, действительно очень "чистый" по сравнению с предыдущими версиями. И читать его приятнее. Да и если Вы имели ввиду именно перый CE, то там вроде как физикса нет, а если четвертый - то я его код не видел. А я не говорил, что там используется PhysX. У них свой физ. движок. PhysX, да прилагался как аддон(Edit: по слухам), при лицензировании CE3, но его как правило никто не брал(я таких случаев не знаю).(Не считая демок с партиклами от NV) Плюс я не про твердые тела, а про флюиды. Так они недавно появились и официально в PhysX сейчас не входят. ( Не путайте пакеты расширения Apex/Flex и Core версию). HairWorks? Тоже партиклы? Хотя шерсть меня не интересует. Волосы сейчас делают тесселяцией Суть в том, что если и легко его впилить, то это не значит, что он freeware. Я не болею за опен-сорсь, но все же... Эм.. вы лицензионное соглашение читали хоть раз? А MSDN - это больше WinAPI, чем C++. В корне неправильное утверждение Что, в принципе, тоже полезно (хотелось бы видеть редакторы на WinAPI, а не на классах борланда). WinApi уже deprecated и потихоньку выпиливается Изменено 18 Августа 2015 пользователем Tron 1 1 Ссылка на комментарий
RayTwitty 502 Опубликовано 18 Августа 2015 Поделиться Опубликовано 18 Августа 2015 Никто кроме насТогда зачем спрашивать мнение окружающих? Если сможете грамотно интегрировать и сделать контент под новый физический движок - молодцы, что еще сказать. 2 Ссылка на комментарий
-StalkMen- 159 Опубликовано 18 Августа 2015 Поделиться Опубликовано 18 Августа 2015 , Ой ну всё Я не говорил, и не считаю нас ultimate кодерами. Лично я про PhysX знаю мало, и уж тем более я не имею опыта создания/интеграции физ. движков. С чего бы мне спрашивать мнения знающих... Ссылка на комментарий
HESH 64 Опубликовано 19 Августа 2015 Поделиться Опубликовано 19 Августа 2015 @Tron, спасибо за исчерпывающий ответ. Спорить я не пытался, просто высказал свои мысли. А можно узнать, почему WinAPI-редакторы неодобряются? Чем он плохи? Ссылка на комментарий
Tron 53 Опубликовано 19 Августа 2015 Поделиться Опубликовано 19 Августа 2015 (изменено) @Tron, спасибо за исчерпывающий ответ. Спорить я не пытался, просто высказал свои мысли. А можно узнать, почему WinAPI-редакторы неодобряются? Чем он плохи? Ну первая очевидная мысль - непереносимый код. Вторая это громоздкость кода. - много писать повторяющегося кода. Что из себя представляют элементы интерфейса WinAPI приложения? - это окна. Да-да, даже простая в понимании кнопка это окно, просто созданная с определенным дескриптором(числовая константа описывающая внешний вид). Например,обработку событий надо проводить в главной функции обработки событий. Epic Games писали под это свой фреймворк(WWindow), но потом забросили его и в 3ей версии все портировали на wxWidgets. Я в этом году, в плане типового расчета писал похожий(тема на выбор), но там не все предусмотрено(нет диалогов и т.д). Я не видел, что бы на чистом Wa делали, что-то сложное/красивое. Да и смысла нет писать сейчас на чистом WinAPI, ведь можно взять MFC/WxWidgets. Но MFC я бы тоже не советовал. (Аргументировать не могу, ибо ничего сильно сложного(не считая CryEngine Editor, но он написан на коммерческой реализации MFC-codejock) я лично не делал/ не видел на нем.) Можно с MFC портировать на wxWidgets, благо отличия не сильные. Что-то еще хотел написать, но вылетело из головы. Edit: WxWidgets по сути представляет собой враппер над WinAPI(под виндой), оконными системами под *nix (точно не знаю, надо посмотреть) Изменено 19 Августа 2015 пользователем Tron Ссылка на комментарий
Forser 47 Опубликовано 20 Августа 2015 Поделиться Опубликовано 20 Августа 2015 3 Ссылка на комментарий
Roman_Dmitrov2 0 Опубликовано 21 Августа 2015 Поделиться Опубликовано 21 Августа 2015 Я не разбираюсь в движковых правках, но подскажите пожалуйста, можно ли в xrGame привязать текстуру к итему? Допустим к фонарику? Ссылка на комментарий
Expropriator 2 118 Опубликовано 21 Августа 2015 Поделиться Опубликовано 21 Августа 2015 (изменено) Решил проблему в ЗП, вылет в авто, после смерти ГГ. Просто ГГ не умирает, и его не выкидывает из авто - наступает гамеовер как только, так сразу. Кстати, в ЗП, авто может переезжать на другую локу с ГГ через левелченджер, это так к слову. Осталось решить проблему со сменой векторов после сохранения (в управлении меняются координаты на 180 градусов) https://yadi.sk/d/GqZCPJwQia8kq1.6 Мб. xrGame.dll для Зова Припяти Исправления касаются только ГГ в авто: 1. Посадка в авто. 2. Анимация в авто. 3. Визуал ГГ от первого вида, вместо худа, в авто. 4. Вылет, при смерти в авто, исправлен. Можно закинуть в шапку темы, так как этот файл будет востребован. Автор правок: Дизель. Изменено 21 Августа 2015 пользователем Дизель 2 2 Ссылка на комментарий
abramcumner 1 157 Опубликовано 21 Августа 2015 Поделиться Опубликовано 21 Августа 2015 @Дизель, к длл хорошо бы еще и исходники правки выкладывать или ссылку на репозиторий. 2 Ссылка на комментарий
John_Wick 0 Опубликовано 21 Августа 2015 Поделиться Опубликовано 21 Августа 2015 Привет все ребят я тут новенький)) помогите хочу сборку движка X-ray в Microsoft Visual Studio 2010 надо настроить пути но не знаю где и как объясните пожалуйста ) Ссылка на комментарий
Expropriator 2 118 Опубликовано 21 Августа 2015 Поделиться Опубликовано 21 Августа 2015 хорошо бы еще и исходники правки выкладывать или ссылку на репозиторий Не могу этого сделать. С репо - черепахами не работаю. А исходники боюсь кидать. Я принимаю, иногда, не стандартное мышление и подход к правкам, не хочу показаться идиотом. 1 Ссылка на комментарий
abramcumner 1 157 Опубликовано 21 Августа 2015 Поделиться Опубликовано 21 Августа 2015 @Дизель, зря. С критиков просто требуешь сделать их вариант. Сделают - посмотришь на "стандартное" мышление, не сделают - попозоришь критиков. Ссылка на комментарий
Expropriator 2 118 Опубликовано 21 Августа 2015 Поделиться Опубликовано 21 Августа 2015 (изменено) Пожалуйста, можете сами сделать. Раз просите. Вылет в ЗП при смерти в авто 001B:09CC7A3A xrGame.dll, CCharacterPhysicsSupport::EndActivateFreeShell(), x:\stalker_cop\project\engine.vc2008\xrgame\characterphysicssupport.cpp, 1191001B:09CC9A7D xrGame.dll, CCharacterPhysicsSupport::KillHit(), x:\stalker_cop\project\engine.vc2008\xrgame\characterphysicssupport.cpp, 516001B:09CC9C48 xrGame.dll, CCharacterPhysicsSupport::in_Hit(), x:\stalker_cop\project\engine.vc2008\xrgame\characterphysicssupport.cpp, 545001B:09CCA0C0 xrGame.dll, CCharacterPhysicsSupport::in_Die(), x:\stalker_cop\project\engine.vc2008\xrgame\characterphysicssupport.cpp, 1436001B:09A620A3 xrGame.dll, CEntityAlive::Die(), x:\stalker_cop\project\engine.vc2008\xrgame\entity_alive.cpp, 328001B:09A46DFE xrGame.dll, CActor::Die(), x:\stalker_cop\project\engine.vc2008\xrgame\actor.cpp, 730001B:09A5EFF8 xrGame.dll, CEntity::OnEvent(), x:\stalker_cop\project\engine.vc2008\xrgame\entity.cpp, 67001B:09A4C275 xrGame.dll, CActor::OnEvent(), x:\stalker_cop\project\engine.vc2008\xrgame\actor_events.cpp, 28001B:09A4C25A xrGame.dll, CActor::OnEvent(), x:\stalker_cop\project\engine.vc2008\xrgame\actor_events.cpp, 26001B:09A18907 xrGame.dll, CLevel::cl_Process_Event(), x:\stalker_cop\project\engine.vc2008\xrgame\level.cpp, 429001B:09A19BD6 xrGame.dll, CLevel::ProcessGameEvents(), x:\stalker_cop\project\engine.vc2008\xrgame\level.cpp, 491001B:09A19F89 xrGame.dll, CLevel::OnFrame(), x:\stalker_cop\project\engine.vc2008\xrgame\level.cpp, 625 ссылается на CharacterPhysicsSupport.cpp на функцию void CCharacterPhysicsSupport:: CreateShell Что я сделал? Закомментировал всю функцию после начала вылета: void CCharacterPhysicsSupport:: CreateShell ( CObject* who, Fvector& dp, Fvector & velocity ){xr_delete( m_collision_activating_delay );xr_delete( m_interactive_animation );destroy_animation_collision( );//DestroyIKController( );IKinematics* K=smart_cast( m_EntityAlife.Visual( ) );//animation movement controller issuesbool anim_mov_ctrl =m_EntityAlife.animation_movement_controlled( );CBoneInstance &BR = K->LL_GetBoneInstance( K->LL_GetBoneRoot( ) );Fmatrix start_xform; start_xform.identity( );CBlend *anim_mov_blend = 0;if( anim_mov_ctrl ){m_EntityAlife.animation_movement( )->ObjStartXform( start_xform );anim_mov_blend = m_EntityAlife.animation_movement( )->ControlBlend( );m_EntityAlife.destroy_anim_mov_ctrl( );BR.set_callback_overwrite (TRUE);}//u16 anim_root = K->LL_GetBoneRoot();u16 physics_root = anim_root;if( m_eType != etBitting ){physics_root = K->LL_BoneID( "bip01_pelvis" );K->LL_SetBoneRoot( physics_root );}//if( !m_physics_skeleton )CreateSkeleton( m_physics_skeleton );if( m_eType == etActor ){CActor* A=smart_cast( &m_EntityAlife );R_ASSERT2( A, "not an actor has actor type" );if( A->Holder( ) ) return;if( m_eState==esRemoved )return;}//////////////////////this needs to evaluate object box//////////////////////////////////////////////////////if( m_eType != etBitting )K->LL_SetBoneRoot( anim_root );for( u16 I = K->LL_BoneCount( )-1; I!=u16(-1); --I )K->LL_GetBoneInstance( I ).reset_callback( );//if( anim_mov_ctrl ) //we do not whant to move by long animation in rootBR.set_callback_overwrite (TRUE);//K->CalculateBones_Invalidate();K->CalculateBones (TRUE);if( m_eType != etBitting )K->LL_SetBoneRoot( physics_root );////////////////////////////////////////////////////////////////////////////if( m_pPhysicsShell )return;m_PhysicMovementControl->GetCharacterVelocity ( velocity );if( !m_PhysicMovementControl->CharacterExist( ) )dp.set( m_EntityAlife.Position( ) );else m_PhysicMovementControl->GetDeathPosition( dp );m_PhysicMovementControl->DestroyCharacter( );//shell createR_ASSERT2(m_physics_skeleton,"No skeleton created!!");m_pPhysicsShell=m_physics_skeleton;m_physics_skeleton=NULL;m_pPhysicsShell->set_Kinematics(K);m_pPhysicsShell->RunSimulation();m_pPhysicsShell->mXFORM.set(mXFORM);m_pPhysicsShell->SetCallbacks( );//if(anim_mov_ctrl) //we do not whant to move by long animation in rootBR.set_callback_overwrite (TRUE);if(!DoCharacterShellCollide())m_pPhysicsShell->DisableCharacterCollision();if( m_eType != etBitting )K->LL_SetBoneRoot( anim_root );K->CalculateBones_Invalidate();K->CalculateBones (TRUE);if( m_eType != etBitting )K->LL_SetBoneRoot( physics_root );//reset_root_bone_start_pose( *m_pPhysicsShell );m_flags.set(fl_death_anim_on,FALSE);m_eState=esDead;m_flags.set(fl_skeleton_in_shell,TRUE);if(IsGameTypeSingle()){m_pPhysicsShell->SetPrefereExactIntegration ();//use exact integration for ragdolls in singlem_pPhysicsShell->SetRemoveCharacterCollLADisable();}elsem_pPhysicsShell->SetIgnoreDynamic();m_pPhysicsShell->SetIgnoreSmall();AddActiveWeaponCollision();}void CCharacterPhysicsSupport:: EndActivateFreeShell ( CObject* who, const Fvector& inital_entity_position, const Fvector& dp, const Fvector & velocity ){VERIFY ( m_pPhysicsShell );VERIFY( m_eState==esDead );#ifdef DEBUGif( dbg_draw_ragdoll_spawn ){DBG_OpenCashedDraw();m_pPhysicsShell->dbg_draw_geometry( 0.2f, D3DCOLOR_XRGB( 255, 100, 0 ) );DBG_ClosedCashedDraw( 50000 );}#endifCollisionCorrectObjPos( dp );// m_pPhysicsShell->SetGlTransformDynamic(mXFORM);#ifdef DEBUGif( dbg_draw_ragdoll_spawn ){DBG_OpenCashedDraw();m_pPhysicsShell->dbg_draw_geometry( 0.2f, D3DCOLOR_XRGB( 255, 0, 100 ) );DBG_ClosedCashedDraw( 50000 );}#endif//fly back after correction//FlyTo(Fvector().sub(inital_entity_position,m_EntityAlife.Position()));#ifdef DEBUGif( dbg_draw_ragdoll_spawn ){DBG_OpenCashedDraw();m_pPhysicsShell->dbg_draw_geometry( 0.2f, D3DCOLOR_XRGB( 100, 255, 100 ) );DBG_ClosedCashedDraw( 50000 );}#endifFvector v = velocity;m_character_shell_control.apply_start_velocity_factor( who, v );#ifdef DEBUGif( death_anim_debug ){Msg( "death anim: ragdoll velocity picked from char controller =(%f,%f,%f), velocity applied to ragdoll =(%f,%f,%f) ", velocity.x, velocity.y, velocity.z, v.x, v.y, v.z );}#endif//m_pPhysicsShell->set_LinearVel( v );//actualize//m_pPhysicsShell->GetGlobalTransformDynamic(&mXFORM);//m_pPhysicsShell->mXFORM.set(mXFORM);//if( false && anim_mov_ctrl && anim_mov_blend && anim_mov_blend->blend != CBlend::eFREE_SLOT && anim_mov_blend->timeCurrent + Device.fTimeDelta*anim_mov_blend->speed < anim_mov_blend->timeTotal-SAMPLE_SPF-EPS)//.//{// const Fmatrix sv_xform = mXFORM;// mXFORM.set( start_xform );// //anim_mov_blend->blendPower = 1;// anim_mov_blend->timeCurrent += Device.fTimeDelta * anim_mov_blend->speed;// m_pPhysicsShell->AnimToVelocityState( Device.fTimeDelta, 2 * default_l_limit, 10.f * default_w_limit );// mXFORM.set( sv_xform );//}//IKinematics* K=smart_cast( m_EntityAlife.Visual( ) );//u16 root =K->LL_GetBoneRoot();//if( root!=0 )//{// K->LL_GetTransform( 0 ).set( Fidentity );//// K->LL_SetBoneVisible( 0, FALSE, FALSE );//}//K->CalculateBones_Invalidate();//K->CalculateBones (TRUE);} *>*>*> и еще я раскоментировал #include "../xrphysics/Physics.h" на всякий случай. Изменено 21 Августа 2015 пользователем Дизель Ссылка на комментарий
Рекомендуемые сообщения
Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий
Комментарии могут оставлять только зарегистрированные пользователи
Создать аккаунт
Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!
Зарегистрировать новый аккаунтВойти
Есть аккаунт? Войти.
Войти