HLFX.Ru Forum (https://hlfx.ru/forum/index.php)
- Моделирование (https://hlfx.ru/forum/forumdisplay.php?forumid=25)
-- Обсуждение форматов моделей (https://hlfx.ru/forum/showthread.php?threadid=6082)
Отправлено FiEctro 19-03-2024 в 16:15:
Цитата:
Дядя Миша писал:
И кто же у нас отвечает за поддержку OBJ?
Автодеск, авторы Блендера, Ксерокс в джеке в конце концов.
Цитата:
Дядя Миша писал:
Ну а как они узнают, если я его спеки ещё не публиковал?
Я сомневаюсь что им нужны браши и лайтмапы.
Цитата:
Дядя Миша писал:
Но опять же - подобные объекты встраиваются в карту без проблем, из исходника smd. Единственный момент - компилятор посчитает им развертку на лету, вместо того чтобы сохранить в формат.
Ничего не понял.
Цитата:
Дядя Миша писал:
Святая уверенность в том, что иерархию костям надо менять в рантайме - это и есть проблемы с логикой.
Ну когда отвалившаяся бошка продолжает двигаться за телом по уровню никаких проблем с логикой нет.
Цитата:
Дядя Миша писал:
Ты никогда не компилировал модели под ГолдСорс?
А ты? Я ни одного мода не видел где бы в ГС производились какие либо операции со скелетом. Там всё гвоздями прибито. MDL вещь в себе и в рамках голда работает чуть ли не в режиме Read only.
Цитата:
Дядя Миша писал:
Кстати. Тот же OBJ - это лютое дерьмо мамонта из 80-х. Но наш ФиЭктро, как человек полностью отравленный повесточкой будет умело лавировать между "поддерживается везде" и "деприкейтед" чтобы победить в споре.
Я не фанат OBJ. Я больше фанат FBX, GLTF. И я согласен что они местами избыточны. Но ты похоже не понимаешь что эта избыточность не просто так. А делать разные форматы прибитые гвоздями к конкретным задачам это конечно они будут быстрее работать, но ни о какой универсальности здесь речи быть и не может. Но я твою позицию понял что в ксаше она может быть и не нужна особо.__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!
Отправлено nemyax 19-03-2024 в 16:30:
Цитата:
Дядя Миша писал:
Святая уверенность в том, что иерархию костям надо менять в рантайме - это и есть проблемы с логикой.
Иерархию не надо, а донастройка констрейнтов дело хорошее.
Цитата:
FiEctro писал:
отвалившаяся бошка продолжает двигаться за телом
А башка у нас не соединена с телом? Болтается на обрубке, как в постале два?
Отправлено FiEctro 19-03-2024 в 16:41:
Цитата:
nemyax писал:
А башка у нас не соединена с телом? Болтается на обрубке, как в постале два?
Просто отлетает с плеч и всё.__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!
Отправлено Crystallize 19-03-2024 в 16:42:
Цитата:
Дядя Миша писал:
Весна идёт, и снова обостренье. Какой хайполи функ_иллюзионари?
Ну Безье обычно для всяких там труб юзали. Сейчас трубы моделькой делают.
Отправлено Дядя Миша 19-03-2024 в 16:43:
Цитата:
FiEctro писал:
Автодеск, авторы Блендера, Ксерокс в джеке в конце концов.
Ну то есть никто, понятно.
Цитата:
FiEctro писал:
Я сомневаюсь что им нужны браши и лайтмапы.
Так CSM и не поддерживает браши.
Цитата:
FiEctro писал:
Ну когда отвалившаяся бошка продолжает двигаться за телом по уровню никаких проблем с логикой нет.
Башку прячем - отдельную модельку с башкой спавним. Причём эта можно быть одна и та же модель, просто с разными настройками body. Да чаще всего так и делают.
Цитата:
FiEctro писал:
А ты? Я ни одного мода не видел где бы в ГС производились какие либо операции со скелетом. Там всё гвоздями прибито. MDL вещь в себе и в рамках голда работает чуть ли не в режиме Read only.
А ничего что для голда создал новый формат моделей с развесовкой? Фактически принёс туда фишки из сорса. Ты уже в попытках оправдаться совсем какую-то дичь понёс.
Цитата:
FiEctro писал:
Но ты похоже не понимаешь что эта избыточность не просто так.
FBX - это склад говна с 95-го года. GLTF - избыточен от рождения, просто потому что он создавался для ничего. Там есть куча того, что никому не нужно и нет важных вещей.
Цитата:
FiEctro писал:
А делать разные форматы прибитые гвоздями к конкретным задачам это конечно они будут быстрее работать, но ни о какой универсальности здесь речи быть и не может
Ты понимаешь слово "универсальность" неправильно. То есть чисто как теоретик. И все остальные твои рассуждения - это голая теория, это всё можно в мусорку выбросить. К реальной жизни оно неприменимо.
Цитата:
nemyax писал:
а донастройка констрейнтов дело хорошее
Да всё решаемо, просто прямая модификация костей из объекта это самый тупой и влобный способ какой только можно придумать. И судя по всему - в Unity оно всё так.
Добавлено 19-03-2024 в 19:43:
Цитата:
Crystallize писал:
Ну Безье обычно для всяких там труб юзали
Ландшафт можно. Удивлён?__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
Цитата:
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Отправлено Crystallize 19-03-2024 в 16:44:
Цитата:
Дядя Миша писал:
Ландшафт можно. Удивлён?
А это практично вообще? Удобно?
Отправлено FiEctro 19-03-2024 в 16:48:
Цитата:
Дядя Миша писал:
Башку прячем - отдельную модельку с башкой спавним. Причём эта можно быть одна и та же модель, просто с разными настройками body. Да чаще всего так и делают.
Ну тоесть городить костыли, вместо того чтобы дать 1 команду. И это у меня проблемы с логикой? У Кармака когда он дуум3 писал получается тоже?
Цитата:
Дядя Миша писал:
А ничего что для голда создал новый формат моделей с развесовкой? Фактически принёс туда фишки из сорса. Ты уже в попытках оправдаться совсем какую-то дичь понёс.
Я говорю изменение модели в рантайме. Развесовка была ещё до времен голдсорса, но не в голдсорсе.
Цитата:
Дядя Миша писал:
FBX - это склад говна с 95-го года. GLTF - избыточен от рождения, просто потому что он создавался для ничего. Там есть куча того, что никому не нужно и нет важных вещей.
Ну вот у тебя на всё отговорки, мол говно. А почему говно никак объяснить не можешь.__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!
Отправлено Дядя Миша 19-03-2024 в 16:59:
Про скелет может быть непонятно получилось, но я поясню. Трогать кости из игрового объекта - это табу. Так делать нельзя ни в коем случае.
Уж как минимум из соображений оптимизации сетевого траффика.
И в большинстве случаев это прекрасно получается. Исключение только физическая симуляция, ну там рагдолл, тряпки эти, отрезанные бошки.
Но опять же - зачем юзеру это всё? Назначил режим симуляции и пусть движок там сам себе управляется. Что ты собрался делать с костями из редактора?
Добавлено 19-03-2024 в 19:52:
Цитата:
FiEctro писал:
Ну тоесть городить костыли, вместо того чтобы дать 1 команду
Какую команду?
Цитата:
FiEctro писал:
У Кармака когда он дуум3 писал получается тоже?
Кармак баловался. Он в каждом новом движке делал по разному и смотрел - хорошо это или нет.
Цитата:
FiEctro писал:
Я говорю изменение модели в рантайме
Зачем тебе менять модель в рантайтме?
Цитата:
FiEctro писал:
Ну вот у тебя на всё отговорки, мол говно. А почему говно никак объяснить не можешь.
Что такого может GLTF чего не может OBJ? При этом оба формата не могут того что нужно мне. Какой вывод? Очевидный - новый формат для никого, но зато типа от разработчиков OpenGL. Типа наш родной формат - юзайте. Вот и всё. Но смысла нет.
Добавлено 19-03-2024 в 19:59:
Но вообще мне нравится, как максимально тупые и влобные решения выдаются за невероятную свободу, новый подход и прогресс. В Юнити хорошие маркетологи сидят, да.__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
Цитата:
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Отправлено FiEctro 19-03-2024 в 18:17:
Цитата:
Дядя Миша писал:
но там один только SDK-загрузчик 100 мегабайт весит.
Скачал я этот СДК. Загрузчик в 100 мегабайт не нашел. Подключил СДК и собрал тестовое приложение, которое для запуска требовало libfbxsdk.dll весом 9 мегабайт. Что я делаю не так?
А x86 либа вообще 7 мегабайт весит
Ну понятно как ты форматы тестируешь, наверное даже и не качал, откуда ты эти 100 мегабайт выдумал?
Для obj работает, конвертирует в fbx.
C++ Source Code:
4 | int main(int argc, char** argv) { |
5 | // Проверяем количество аргументов командной строки |
7 | std::cerr << "Usage: obj_to_fbx <input_obj_file> <output_fbx_file>" << std::endl; |
11 | const char* inputFilename = argv[1]; |
12 | const char* outputFilename = argv[2]; |
15 | FbxManager* fbxManager = FbxManager::Create(); |
16 | FbxIOSettings* ios = FbxIOSettings::Create(fbxManager, IOSROOT); |
17 | fbxManager->SetIOSettings(ios); |
19 | // Создаём объект FbxImporter |
20 | FbxImporter* importer = FbxImporter::Create(fbxManager, ""); |
22 | // Пытаемся загрузить OBJ файл |
23 | if (!importer->Initialize(inputFilename, -1, fbxManager->GetIOSettings())) { |
24 | std::cerr << "Failed to initialize FbxImporter: " << importer->GetStatus().GetErrorString() << std::endl; |
28 | // Создаём объект FbxScene |
29 | FbxScene* scene = FbxScene::Create(fbxManager, "Scene"); |
31 | // Загружаем сцену из импортера |
32 | if (!importer->Import(scene)) { |
33 | std::cerr << "Failed to import scene: " << importer->GetStatus().GetErrorString() << std::endl; |
37 | // Удаляем импортер, так как он больше не нужен |
40 | // Создаём объект FbxExporter |
41 | FbxExporter* exporter = FbxExporter::Create(fbxManager, ""); |
43 | // Пытаемся инициализировать экспортер |
44 | if (!exporter->Initialize(outputFilename, -1, fbxManager->GetIOSettings())) { |
45 | std::cerr << "Failed to initialize FbxExporter: " << exporter->GetStatus().GetErrorString() << std::endl; |
49 | // Пытаемся экспортировать сцену в FBX файл |
50 | if (!exporter->Export(scene)) { |
51 | std::cerr << "Failed to export scene: " << exporter->GetStatus().GetErrorString() << std::endl; |
59 | fbxManager->Destroy(); |
61 | std::cout << "Conversion successful!" << std::endl; |
__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!
Отправлено Дядя Миша 19-03-2024 в 19:03:
Цитата:
FiEctro писал:
Подключил СДК и собрал тестовое приложение, которое для запуска требовало libfbxsdk.dll весом 9 мегабайт. Что я делаю не так?
libfxsdk.dll (9mb) -> libfxsdk.lib(100mb).
То есть ты даже этого не знаешь?
Цитата:
FiEctro писал:
Для obj работает, конвертирует в fbx.
Я рад за него. И что нам это дало? Какие задачи удалось решить?__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
Цитата:
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Отправлено FiEctro 19-03-2024 в 19:09:
Цитата:
Дядя Миша писал:
libfxsdk.dll (9mb) -> libfxsdk.lib(100mb).
То есть ты даже этого не знаешь?
Видимо нет. Потому что libfbxsdk.lib весит намного меньше.

Цитата:
Дядя Миша писал:
Я рад за него. И что нам это дало? Какие задачи удалось решить?
Ну прога работает в районе 7 мегабайт для х86. И нормально конвертирует. И никаких 100 мегабайт как ты говорил на диске не занимает. Щас спецом протестил на удаленной машине где никакого fbxsdk нет. Всё работает.__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!
Отправлено Crystallize 19-03-2024 в 19:17:
Цитата:
Дядя Миша писал:
libfxsdk.dll (9mb) -> libfxsdk.lib(100mb).
Зачем выкладывать lib?
Отправлено FiEctro 19-03-2024 в 19:24:
https://www.sendspace.com/file/2zt7vo
Вот можете у себя проверить, никаких 100 мегабайт там нет. Правда я новой студией компилил, наверное под XP работать не будет. Но под семеркой завелось.
fbx можно в блендере открыть, правда у него скейл малюсенький, надо приблизиться.
Цитата:
Crystallize писал:
Зачем выкладывать lib?
Наверное статически линковать хочет. __________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!
Отправлено Дядя Миша 19-03-2024 в 20:10:
Цитата:
FiEctro писал:
Видимо нет. Потому что libfbxsdk.lib весит намного меньше.
Это .lib для линковки с внешней библиотекой. А .lib для встраивания внутрь, т.е. статичный как раз под сотку и весит.
Цитата:
FiEctro писал:
И нормально конвертирует
Ну толку с той конвертации? Заметь, редактору решительно всё равно во что экспортировать. Ты будешь строить свой движок вокруг чужого проприетарного формата? Где ты ничего поменять не сможешь?__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
Цитата:
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Отправлено FiEctro 19-03-2024 в 20:21:
Цитата:
Дядя Миша писал:
Ну толку с той конвертации? Заметь, редактору решительно всё равно во что экспортировать. Ты будешь строить свой движок вокруг чужого проприетарного формата? Где ты ничего поменять не сможешь?
Логично для взаимодействия с другими редакторами которые его поддерживают. Это же промежуточный формат, и абсолютно не требуется строить "движок вокруг чужого проприетарного формата".
Цитата:
Дядя Миша писал:
Это .lib для линковки с внешней библиотекой. А .lib для встраивания внутрь, т.е. статичный как раз под сотку и весит.
Увы, но такой либы я не нашел. У меня она весит 4 мегабайта.__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!