Результаты поиска
| |
Alkosha | Дата: Пятница, 07 Марта 2014, 12:49 | Сообщение # 21 | Тема: Как рипнуть скелетку из игры на UE3 ? |
участник
Сейчас нет на сайте
| Приветик, мальчишки)))) Как выдрать модели со скелетной анимацией из игор на UE3 (в частности интересует Batman AC), чтоб можно было в дальнейшем импортнуть в 3дмакс, например ?))) Какими утилитами ?))
Зачастую выдирают онли моделки да текстурки, без анимации))) А вот как именно с анимашкой выдрать?))))))
|
|
| |
Alkosha | Дата: Суббота, 08 Марта 2014, 11:54 | Сообщение # 22 | Тема: Как рипнуть скелетку из игры на UE3 ? |
участник
Сейчас нет на сайте
| Давно качал этот вьювер отсюда: анрил вьювер
И ГУЙ к нему (с какого-то буржуйского сайта, уже и не помню откуда именно) вот
Но почему-то он не вскрывает бэтмановские модельки.Добавлено (07.03.2014, 23:37) --------------------------------------------- Но вот интересно, как им котобабу удалось загрузить... Может то из-за сырого GUI ?Добавлено (08.03.2014, 04:46) --------------------------------------------- А всё, разобрался. Через командную строку всё нормально открывается. Добавлено (08.03.2014, 11:54) --------------------------------------------- Только вот не могу найти анимашки с катсцен (помимо пререндеренных, там есть ещё на движке). И с лицевой анимацией чё-то не то. Ротяка слиплась, а челючсть при этом гуляет.
|
|
| |
Alkosha | Дата: Суббота, 15 Марта 2014, 19:36 | Сообщение # 23 | Тема: помогите перевести исходник под иррлихт... пожалуйста... |
участник
Сейчас нет на сайте
| Цитата JunkerKun (  ) Это библиотека для разработки рейл-тайм 3Д приложений, 2Д там достаточно рудиментарно. за счёт того, что спрайты (точнее текстурки, натянутые на параллеллепипед с размерами x*y*0) находятся в трёхмерном пространстве и в зависимости от ракурса камеры можно сделать эффект параллакс-скроллинга. Ну и по ходу можно влепить ещё чёнить трёхмерного в 2д мир. набросок
Цитата JunkerKun (  ) Тип FloatRect опять же принадлежит SFML, у типа rect<T> из Irrlicht нет никакого поля "left", у него есть поле "position" (или как-то так), которое возвращает двухмерный вектор с положением прямоугольника. Эт я уже заметил
Цитата JunkerKun (  ) Вывод - не занимайся ерундой, а просто продолжай делать на SFML. Irrlicht не для 2Д был написан. С радостью бы... Но, во-первых, не могу толком настроить код::блокс на эту либу. Делал как тута. компилит нормально, но линкует как-то не так, ибо при запуске экзешника ругается на libgcc_s_dw2-1.dll (версия кодблокса 10.05). Во-вторых, я собираюсь динамически менять цветовую гамму на слоях бэкграунда \ спрайтах. Например, в рэтро-приставках это делалось изменением набора цветов палитры видеоконтроллера. В Irrlicht'e попробую через шейдеры (правда малость геморно).
SFML , как я понял, некое подобие SDL. То есть подобной функции там нет, это значит, что придётся попиксельно считывать картинку и по определённому условию задавать цвет пикселя, выводя на экран. Иными словами, ЦП будет адово нагружен.
Сообщение отредактировал Alkosha - Суббота, 15 Марта 2014, 19:40 |
|
| |
Alkosha | Дата: Суббота, 15 Марта 2014, 21:07 | Сообщение # 24 | Тема: помогите перевести исходник под иррлихт... пожалуйста... |
участник
Сейчас нет на сайте
| Цитата JunkerKun (  ) Это можно сделать и в 2Д просто высчитывая координаты бэкграунда как координаты_камеры/2 (хотя по факту лучше по формуле перспективы, которую можно найти на той же википедии) Та не.. Я имел ввиду не плоскостной параллакс. А примерно такой (хотя тут такой эффект достигнут за счёт скроллинга отдельных строк с разной итерацией)
Цитата JunkerKun (  ) Ну это уже не из-за либы, согласись Ну дык, это скорее всего из-за версии mingw, или хз из-за чего. Факт в том, что банально застопорился на настройке компилятора.
Цитата JunkerKun (  ) Бред, ибо см. выше про шейдеры и функцию смешения цветов. Я особо не вникал, как устроен SFML, просто лишь предположил, что он схож по принципу с SDL. Ни о каких шейдерах на нём я не был в курсе.Добавлено (15.03.2014, 21:07) --------------------------------------------- Даже русскоязычного комьюнити на эту SFML похоже, что нету...
|
|
| |
Alkosha | Дата: Понедельник, 17 Марта 2014, 14:07 | Сообщение # 25 | Тема: помогите перевести исходник под иррлихт... пожалуйста... |
участник
Сейчас нет на сайте
| Ладно, в таком случае как проапгрейдить версию компилятора GCC в код-блоксе ?
Добавлено (17.03.2014, 12:48) --------------------------------------------- А, не. Тут указывается, что для конкретной версии gcc нужна конкретная версия SFML.... попробую исходники пересобрать, авось прокатит
Добавлено (17.03.2014, 14:07) --------------------------------------------- Только как создать в кодблоксе проект для компиляции smlf ? выбрать console aplication , а затем добавить в этот проект add files все cpp hpp файлы во всех подкаталогах исходника ?
Сообщение отредактировал Alkosha - Понедельник, 17 Марта 2014, 14:07 |
|
| |
Alkosha | Дата: Вторник, 18 Марта 2014, 13:39 | Сообщение # 26 | Тема: помогите перевести исходник под иррлихт... пожалуйста... |
участник
Сейчас нет на сайте
| Цитата If you dynamically link the C runtime on Windows, you may need to put the following DLL files in your project directory: - libgcc_s_dw2-1.dll - libstdc++-6.dll
взято отсюда
я так и поступил, скачал эти две ДЛЛ-ки, поместил в каталог с экзэшником... теперь стартует , и... "вындавс пытается найти способ устранения ошибки" (что-то в этом роде). Причём та же ситуация и на прекомпилированных экзэмплах, поставляемых в комплекте с движком. Быть может это от того, что сама вындавс -- 7-ка. В общем хз.
Теперь-то вы понимаете почему я решил всё-таки перевести исходник под ту либу, которая и компилится, и запускается безупречно ?
Сообщение отредактировал Alkosha - Вторник, 18 Марта 2014, 13:40 |
|
| |
Alkosha | Дата: Среда, 19 Марта 2014, 00:47 | Сообщение # 27 | Тема: помогите перевести исходник под иррлихт... пожалуйста... |
участник
Сейчас нет на сайте
| Цитата Storm54 (  ) DLL самого иррлихта в чем скомпилирована? Обычно идет 2 версии: GCC и Visual Studio. Если к exe, скомпилированному в GCC, поместить дллку студии, то программа вылетает. И наоборот. )
Так дело в том, что с иррлихтом у меня как раз таки нет проблем... Проблема именно с SFML.
Добавлено (19.03.2014, 00:45) --------------------------------------------- Либы SFML тоже для компилятора mingw gcc качал.
Добавлено (19.03.2014, 00:47) --------------------------------------------- Цитата Storm54 (  ) Если рассматривать екземплы, то все они требуют папки с ресурсами. Возможно, что она лежит не там, где нужно. Не смотря на то, что я ацкий ламер, про такие вещи я осведомлён. Тем паче для примера типа "хыллоу ворлд", где рисуется векторная фигура закрашенного кружочка, никаких ресурсов не требуется, ибо это процедурная графика.
Сообщение отредактировал Alkosha - Среда, 19 Марта 2014, 00:58 |
|
| |
Alkosha | Дата: Пятница, 21 Марта 2014, 00:52 | Сообщение # 28 | Тема: помогите перевести исходник под иррлихт... пожалуйста... |
участник
Сейчас нет на сайте
| Цитата First (  ) сам юзаю sfml, компилится и работает норм В кодблоксе компилишь?Добавлено (21.03.2014, 00:52) --------------------------------------------- Ну вот всё последовательно как и тут делал. И версия код-блокса такая же, и версия SFML. И у того штриха тоже 7-ка...
Всё равно такое вот:

|
|
| |
Alkosha | Дата: Понедельник, 24 Марта 2014, 15:24 | Сообщение # 29 | Тема: помогите перевести исходник под иррлихт... пожалуйста... |
участник
Сейчас нет на сайте
| Цитата JunkerKun (  ) Запусти дебаггер, он тебе и покажет строку кода и ошибку,
Машинного кода ведь ? Насколько мне известно, дебаггер отображает лишь дизассемблированную прогу и состояния регистров процессора.
Добавлено (24.03.2014, 15:24) --------------------------------------------- Цитата JunkerKun (  ) Либо ДЛЛ не от GCC
Брал отсюда в самой верхней таблице с боковой надписью "виндовс" 5-ая строка сверху, в первом столбце (GCC 4.7 MinGW (DW2) - 32 bits) видовс у меня 32-ух разрядная. http://www.sfml-dev.org/download/sfml/2.0/
Сообщение отредактировал Alkosha - Понедельник, 24 Марта 2014, 15:25 |
|
| |
Alkosha | Дата: Суббота, 10 Мая 2014, 02:50 | Сообщение # 30 | Тема: Масштабирование содержимого экрана XNA 4.0 |
участник
Сейчас нет на сайте
| Всё пытаюсь начать создание 2д платформера, но до сих пор не могу определится толком на основе чего он будет рендериться. Основные требования - масштабирование (типа, камера приближается\удаляется), а так же изменение палитры текстуры. Но и помимо этого готовенький исходник, в котором описаны прыжок по параболе с гравитацией, да коллизия с матрицей уровня. Из туторов нашёл только SMLF, но заставить его компилиться в код-блоксе мне так и не удалось (ранее создавал уже тему на этом форуме)
Потому я решил обратить взор на XNA. Тут уже по туторам описано создание платформера с коллизией. Так же в XNA есть возможность задать "светофильтр" на спрайте (но там дефайнами, то бишь заранее заданными переменными, пока не знаю как менять цвет "светофильтра" именно числовым значением).
Впрочем, это всё потом... В первую очередь интересует каким образом можно zoom-ировать картинку в XNA (разрешение игрового окна константное , разумеется), и возможно ли вообще такое?
Сообщение отредактировал Alkosha - Суббота, 10 Мая 2014, 02:51 |
|
| |
Alkosha | Дата: Суббота, 17 Мая 2014, 17:29 | Сообщение # 31 | Тема: Ошибка в компоновщика C::B |
участник
Сейчас нет на сайте
| Скачал SDL 2.3 для mingw. Установил кодблокс 13.12 с mingw в комплекте. В билд-опшонс -> компилер указал путь к инклудам (D:\engines\SDL2-devel-2.0.3-mingw\SDL2-2.0.3\i686-w64-mingw32\include) и во вкладке линкер путь к либам (D:\engines\SDL2-devel-2.0.3-mingw\SDL2-2.0.3\i686-w64-mingw32\lib)
В линкер-сеттингс поле озэр линкер опшонс : -lmingw32 -lSDL2main -lSDL2
Иногда компилируется и стартует программа, даже спрайтики удалось вывести. А иногда происходит ошибка в ld.exe (компоновщик):
Код ||=== Build: Debug in Platform20 (compiler: GNU GCC Compiler) ===| ld.exe||cannot open output file Platform20.exe Permission denied| ||=== Build failed: 1 error(s), 0 warning(s) (0 minute(s), 0 second(s)) ===|
Приходится по нескольку раз перезапускать кодблокс. Чтение-запись на диск разрешены, орудую под правами администратора. Другие проекты компилируются и стартуют как и положено. А с этим SDL2 какая-то аномалия.Добавлено (17.05.2014, 17:29) --------------------------------------------- Ах да. ОС - Windows 7 x86
Сообщение отредактировал Alkosha - Суббота, 17 Мая 2014, 17:27 |
|
| |
Alkosha | Дата: Воскресенье, 18 Мая 2014, 10:12 | Сообщение # 32 | Тема: Ошибка в компоновщика C::B |
участник
Сейчас нет на сайте
| Цитата Ты закрываешь программу перед тем, как перекомпилировать?
Ессно. Причём как и по закрытию на виндоузный крестик в углу, так и по "press any key". Та и в процессах программа не сидит.
|
|
| |
Alkosha | Дата: Воскресенье, 25 Мая 2014, 10:40 | Сообщение # 33 | Тема: Ошибка в компоновщика C::B |
участник
Сейчас нет на сайте
| Цитата froex (  ) Открой диспетчер задач и найди там свой процесс.
Цитата Alkosha (  ) Та и в процессах программа не сидит. Добавлено (25.05.2014, 10:40) --------------------------------------------- Вот тут чуваки тоже столкнулись с подобной шляпенцией. cannot open output file, permission denied
Но там они вроде как до антивиря др.Вэба докопались. У меня eset smart security 4. Я его на момент компиляции и запуска программы пробовал отключить, всё равно через раз нет доступа к собираемому *.exe Причем тоже как и у тех челов, через некоторое время можно снова компилировать проект не выходя из кодблокса.
Какая-то служба винды наверное лочит.
|
|
| |
Alkosha | Дата: Воскресенье, 08 Июня 2014, 12:53 | Сообщение # 34 | Тема: Ошибка в компоновщика C::B |
участник
Сейчас нет на сайте
| Не, ну это конкретная шляпенция. Удалял антивирусник. Пробовал без него - тоже нет доступа к собираемому файлу. Более того, теперь и на с++ builder такой же бадыль.
Хотя где-то пол-года назад ничего такого не было ни в c::b , ни в билдере , ни в dev-CPP.
И в службах не могу вычислить, какая из них задерживает файл.
Сообщение отредактировал Alkosha - Воскресенье, 08 Июня 2014, 13:10 |
|
| |
Alkosha | Дата: Среда, 11 Июня 2014, 14:45 | Сообщение # 35 | Тема: Физика 2д платформера. |
участник
Сейчас нет на сайте
| Платформер у меня обрабатывается по битмапе, в смысле столкновения персонажа с граундом.
Вот пока как-то кривовато это дело происходит, а именно выталкивание персонажа из под "земли".
То после прыжка с высокой платформы он на половину застряёт в ячейках, и вдоль них может ходить и так же можно продолжать прыгать на том же уровне, то как раз впритык ячейке состыковка... ай, короче. Кажись я непонятно пояснил. Рабочая программа прилагается, дабы глянуть поведение персонажа (управление ADW)
Вот класс физики. Собственно запара в функции gravitation().
Код class Physix { public:
void wallcollis() { int centery=pers.y/32; int centerx=pers.x/32; // стена слева if(collisMap.bitmap[centery][centerx-1]=='B'&&collisMap.bitmap[centery-1][centerx-1]=='B') { if (pers.dx<0) {
pers.dx=0;
} } // стена справа if(collisMap.bitmap[centery][centerx+1]=='B'&&collisMap.bitmap[centery-1][centerx+1]=='B') { if (pers.dx>0) {
pers.dx=0;
} } if(pers.onGround)pers.x+=pers.dx; }
void gravitation() { int centery=pers.y/32; int centerx=pers.x/32; if (!pers.onGround) { pers.dy=pers.dy+0.9; pers.x+=pers.dx; } pers.y+=pers.dy; pers.onGround=false;
if(collisMap.bitmap[centery+1][centerx]=='B') {pers.onGround=true;
if (pers.dy>0) { pers.dy=0;
} }
if(collisMap.bitmap[centery][centerx]=='B') {pers.onGround=true; pers.y-=8; if (pers.dy>0) { pers.dy=0; } }
}
}; Physix phys;
Добавлено (11.06.2014, 14:44) --------------------------------------------- Где dx dy - ускорения по соответствущим осям. onGround - флаг нахождения на земле. bitmap[][] - двумерный массив char'ов , где символ "B" обозначает земную твердь. ну в общем и всё.
Добавлено (11.06.2014, 14:45) --------------------------------------------- Подозрение на погрешности при переводе float'a в int
Сообщение отредактировал Alkosha - Среда, 11 Июня 2014, 14:54 |
|
| |
Alkosha | Дата: Пятница, 20 Июня 2014, 13:50 | Сообщение # 36 | Тема: Система частиц. Помогите исправить...Пожалуйста |
участник
Сейчас нет на сайте
| Пока хочу реализовать для начала эффект дождя.
Сперва инициализирую начальное направление частиц, а так же спрайт (в дальнейшем ещё добавлю переменные для размеров эмиттера и плотности испускания частиц) rain.init("img//kaplya.png",-3,3,3,30);
Затем в цикле обновление координат вызываю функцию rain.update()
Мною задумывалось так, если флаг rain.enable= труЪ, то эмиттер испускает частицы. else эмиттер прекращает испускать частицы, но если хотя бы одна частица "жива" то апдейтить её координаты. Но тут короче криво условие сделано. Та и вообще в целом весь подход мне кажется не совсем корректным, точнее совсем не корректным.
Код class myParticles { public: bool enable=false;
struct partic { int starty, startx ;
float x; float y; float dx,dy; int timeToDie; };
private: static const int maxnum=200; SDL_Rect rect; partic partics[maxnum]; float maxSpeedy, minSpeedy, minSpeedx, maxSpeedx;
public: SDL_Texture * particTex;
void init(char* tex,float minx, float maxx, float miny,float maxy) { maxSpeedy=maxy; minSpeedy=miny; minSpeedx=minx; maxSpeedx=maxx; loadTex(tex); for(int i=0;i<maxnum;i++) { partics[i].startx=rand()%800; partics[i].starty=-10; partics[i].x= partics[i].startx; partics[i].y=partics[i].starty; partics[i].dx=rand()%(int)(maxSpeedx-minSpeedx)+minSpeedx; partics[i].dy=rand()%(int)(maxSpeedy-minSpeedy)+minSpeedy; partics[i].timeToDie=rand()%20+20; } }
void loadTex( char* filename ) { particTex = IMG_LoadTexture(renderer, filename); SDL_QueryTexture(particTex, NULL, NULL, &rect.w, &rect.h); }
void update() {
for(int i=0;i<maxnum;i++) { if(enable)partics[i].timeToDie--; if(partics[i].timeToDie<=0&&!enable)partics[i]={0};
if(partics[i].timeToDie<=0&&enable) { partics[i].startx=rand()%800; partics[i].starty=-10; partics[i].x=partics[i].startx; partics[i].y=partics[i].starty; partics[i].dx=rand()%(int)(maxSpeedx-minSpeedx)+minSpeedx; partics[i].dy=rand()%(int)(maxSpeedy-minSpeedy)+minSpeedy; partics[i].timeToDie=rand()%20+20; } if(partics[i].timeToDie>0||enable){ partics[i].y+=partics[i].dy; partics[i].x+=partics[i].dx; }
} }
void display() { SDL_RenderSetScale(renderer,1,1); SDL_SetTextureBlendMode(particTex, SDL_BLENDMODE_ADD); for(int i=0;i<maxnum;i++) {
SDL_Rect DestRs; DestRs.x=partics[i].x; DestRs.y=partics[i].y; DestRs.w=rect.w; DestRs.h=rect.h; SDL_RenderCopy(renderer, particTex , &rect, &DestRs);
}
} }; myParticles rain;
Добавлено (20.06.2014, 13:09) --------------------------------------------- Искал в гугле чё-нить по частицам, так там такие программиздские ухищрения. Есть даже примеры и на шейдерах и на распараллеливании.
Мне бы чё-нить попроще. Типа того г*вн*-кода, написанного мною.
Добавлено (20.06.2014, 13:50) --------------------------------------------- Изначально у меня вообще была проверка "умершей"частицы не по "timeToDie!!!!" а по границам, за которые попапдает частица. Но тогда вообще было так, если !enable, то "дождь" резко исчезал. Я вот уже подумываю, что надо было так и оставить и при !enable попросту альфа-канал всех частиц разом постепенно уменьшать от 255-ти до 0-ля.
Сообщение отредактировал Alkosha - Пятница, 20 Июня 2014, 13:52 |
|
| |
Alkosha | Дата: Пятница, 20 Июня 2014, 22:07 | Сообщение # 37 | Тема: Физика 2д платформера. |
участник
Сейчас нет на сайте
| Сейчас он немного отличается от того, что было в первом посте. И класс физики тож чуток изменился, вроде.
Код class Physix { public:
void wallcollis() { int centery=pers.y/32; int centerx=pers.x/32; // стена слева if(collisMap.bitmap[centery][centerx-1]=='B'&&collisMap.bitmap[centery-1][centerx-1]=='B') { if (pers.dx<0) {
pers.dx=0;
} }
// стена справа if(collisMap.bitmap[centery][centerx+1]=='B'&&collisMap.bitmap[centery-1][centerx+1]=='B') { if (pers.dx>0) {
pers.dx=0;
} } if(pers.onGround)pers.x+=pers.dx;
//сверху if(collisMap.bitmap[centery-1][centerx]=='B') { if (pers.dy<0) {
pers.dy=0;
} }
}
void gravitation() { int centery=pers.y/32; int centerx=pers.x/32; if (!pers.onGround) { pers.dy=pers.dy+1; pers.x+=pers.dx; } pers.y+=pers.dy; pers.onGround=false; if(collisMap.bitmap[centery+1][centerx]=='B') {pers.onGround=true; if (pers.dy>=0) {pers.y=centery*32; pers.dy=0;
} } if(collisMap.bitmap[centery][centerx]=='B') {pers.onGround=true; pers.y=centery*32-1; if (pers.dy>0) { pers.dy=0;
} }
}
}; Physix phys;
Нынешнее состояние моего горе-платформера. СдёрниДобавлено (20.06.2014, 22:07) --------------------------------------------- Всё равно по наклонным поверхностям он рахитно передвигается.
|
|
| |
Alkosha | Дата: Суббота, 21 Июня 2014, 20:00 | Сообщение # 38 | Тема: Градиент |
участник
Сейчас нет на сайте
| Допустим, на вход функции поступают параметры для цветовых переходов от одного цвета до другого.
Вот к примеру color1={r1,g1,b1}; color2={r2,g2,b2} тут цикл for=0 to len // где len - ширина градиента. затем линиями line(x1,y1,x2,y2) с цветовыми переходами от color1 до color2. Как определить для каждого шага в цикле цвет перехода?
Сообщение отредактировал Alkosha - Суббота, 21 Июня 2014, 20:01 |
|
| |
Alkosha | Дата: Понедельник, 23 Июня 2014, 13:59 | Сообщение # 39 | Тема: Физика 2д платформера. |
участник
Сейчас нет на сайте
| Цитата RomanNVKZ (  ) Кстати, на чем пишешь?
Очевидо, что на Бейсике.
|
|
| |
Alkosha | Дата: Понедельник, 23 Июня 2014, 14:58 | Сообщение # 40 | Тема: Физика 2д платформера. |
участник
Сейчас нет на сайте
| Цитата Saitei (  ) тык <- там есть ответ
Ну дык, если ячейки как в Марио раскидать, то у меня всё в порядке.
В первой части марио броуз (клон которого рассматривается в варианте по SFML) не было наклонных поверхностей, а у меня как раз запара именно с наклонными поверхностями. Я имею ввиду нет интерполяции перехода от ячейки к ячейке, когда поднимается вверх, и когда спускается, больше планирует за счёт свободного падения (как это визуально выглядит, можно глянуть в том примере, который я скинул)Добавлено (23.06.2014, 14:58) --------------------------------------------- Вот в диззи фантастик эдвэнче тоже по двумерному массиву определялась коллизия, и там тоже заметно эти ячейки, тем не менее, там он гораздо плавнее двигался по склонам.
Сообщение отредактировал Alkosha - Понедельник, 23 Июня 2014, 14:56 |
|
| |
|