Программа-просмотрщик объектов: требуется помощь программистов!

Автор Zontik, 21 июля 2017 10:16:53

« назад - далее »

0 Пользователи и 2 гостей просматривают эту тему.

nemyax

Цитата: Zontik от 23 июля 2017 23:25:42Все, что надо - то же самое, только со слегка расширенной функциональностью.
Ничоси слегка. Перечитай ещё раз список хотелок в первом посту.
Ребятульки, вы хотите довольно трудозатратную программу на уровне современных просмотрщиков фоток, да ещё с триде-вьюпортом. Для сугубо местечкового формата моделек. И почему-то хотите её вот прям завтра. В сложившихся обстоятельствах нельзя так сердито реагировать на отсутствие интереса.
Желаю тебе из тысячи рулеток одну — самую русскую!
Желаю тебе из тысячи надежд одну — самую крупскую!

Призрак Boris'а3000

Цитата: Zontik от 23 июля 2017 23:25:42
Вот на TTLG поступило дельное предложение: помещаешь на уровень модель и тут же делаешь скриншот, обзываешь его по имени модели и помещаешь в отдельную папку. Когда надо выбрать модель, листаешь не модели, а скриншоты. Все гениальное просто.
И когда этих скриншотов накопится тысяча, всё точно так же накроется медным тазом. Здесь нужна полноценная СУБД с развитыми средствами поиска -- по именам, по описанию, по картинке и т. д.
И чтоб до этого допереть, не нужно 6 лет. Это ясно с самого начала -- что нужно свои труды документировать, и документировать в виде базы данных. И себе польза, и другим, кто захочет воспользоваться готовыми наработками.
Corsair HX1000i / Gigabyte GA-X48-DS4 / Intel Core2-Quad Q9650@4.1GHz / Hynix 8GB DDR2-800@1100MHz /
EVGA 6GB GDDR5 <GeForce GTX 980Ti> K|NGP|N Edition / Creative SB X-Fi Xtreme Gamer Fatal1ty Pro Edition /
2xSSD Intel X25-M 120GB в RAID 0 / Samsung SyncMaster 957MB (CRT 2048х1536) / UPS PCM SKP-2000A /
Windows XP Professional SP3 VL 32-bit + Windows 7 Enterprise SP1 U 64-bit / ForceWare 368.81 / New-Dark 1.26

Zontik

Вдогонку: здесь никто, никому и ничем не обязан. Мы все это прекрасно понимаем. Однако бывают же приятные исключения. Поэтому попросить можно, а требовать никто и не собирался.
Отсутствие интереса, впрочем, действительно огорчает.
ЦитироватьПеречитай ещё раз список хотелок в первом посту.
Нет необходимости, это выстраданное годами и не забудется. Но это именно хотелки. Что невозможно или требует непомерных трудозатрат - подлежит секвестру.
Завтра, конечно, было бы неплохо, но не идеально, потому что вообще-то такая штука нужна была позавчера. Почему так? Это к делу не относится, но ответ довольно прост: дорога ложка к обеду.
Это тоже из разряда хотелок, если что. Одни хотят поиграть во что-то новое. Другие хотят это новое сделать. Третьи по непонятным причинам внезапно изъявляют желание помочь вторым. Боги иногда улыбаются.
Кстати, насчет просмотрщиков фоток: мой любимый irfanview был создан одиночкой, возможно, просто от нечего делать. Студентом. Ну, может, это и какой-то исключительный случай, я не знаю.
Цитироватьс триде-вьюпортом
Это главный камень преткновения? А если в статике - это не упростило бы задачу?
Boris3000
ЦитироватьИ когда этих скриншотов накопится тысяча, всё точно так же накроется медным тазом.
Не надо теоретизировать, здесь практический разговор. По крайней мере надеюсь, что это так.
Дайте глазам отдохнуть! Тёмное место

nemyax

Цитата: Zontik от 23 июля 2017 23:55:40А если в статике - это не упростило бы задачу?
Нет. Тебе ту статику надо по-любому отрендерить тем же OpenGL/D3D =)
Желаю тебе из тысячи рулеток одну — самую русскую!
Желаю тебе из тысячи надежд одну — самую крупскую!

nemyax

Цитата: Zontik от 23 июля 2017 23:55:40Третьи по непонятным причинам внезапно изъявляют желание помочь вторым.
Ну я тебе намекал, что возможно приконопатить специально обученный список к блендеру. И тем самым покрыть большинство перечисленных хотелок (разве что изображения поддержатся только в PNG). Но у вас с Кипером при слове "блендер" бизаччотный ужос.
Желаю тебе из тысячи рулеток одну — самую русскую!
Желаю тебе из тысячи надежд одну — самую крупскую!

Призрак Boris'а3000

Цитата: Zontik от 23 июля 2017 23:55:40
Не надо теоретизировать
Я про общее количество существующих объектов, а не про то, что уже лежит в твоей папочке, отобранное или сделанное для конкретно этой, конкретно твоей кампании.
Corsair HX1000i / Gigabyte GA-X48-DS4 / Intel Core2-Quad Q9650@4.1GHz / Hynix 8GB DDR2-800@1100MHz /
EVGA 6GB GDDR5 <GeForce GTX 980Ti> K|NGP|N Edition / Creative SB X-Fi Xtreme Gamer Fatal1ty Pro Edition /
2xSSD Intel X25-M 120GB в RAID 0 / Samsung SyncMaster 957MB (CRT 2048х1536) / UPS PCM SKP-2000A /
Windows XP Professional SP3 VL 32-bit + Windows 7 Enterprise SP1 U 64-bit / ForceWare 368.81 / New-Dark 1.26

HellRaiser

Цитата: nemyax от 23 июля 2017 23:04:44
Цитата: Maxim от 23 июля 2017 22:57:16
простую утилитку
Уверен?
+1

Дружи мои дорогие, я тут занят немного, но вас почитываю слегка. В общем это как минимум на 6-12 месяцев разработки (одному человеку), если он не будет ходить на работу, жить личной и семейной жизнью и есть 1 раз в день перед компом. Как-то так. Эта "простая утилита" будет уметь нихрена, при том, что вбухано будет в неё 100500 строчек кода на с++ или с# или ещё чем-то. Ваши хотелки - это зачастую краеугольные камни, на которые надо закладываться, а это тоже не собаку за хвост укусить, знаете ли. Ибо не хочется потом всё перепахивать а-ля анвил енжын: 5 лямов строк кода, только рази того, чтобы персонаж мог "присесть"! 
Короч, я бы взялся, но у меня щас бида-бида, + одна обещалочка уже висит с позапрошлого года, так что пас. НО! могу быть консультантом для начинающих студентов, способных в итоге сотворить тотал коммандер, борг чат или ирфанвью. В принципе, если наберётся команда из нескольких (более одного) более-менее сносных (понимающих что такое "->", "х:у?зед"  и отличия "int h;"  от ''int 3h;") программёров, то могу поучаствовать в мозговом штурме и частично кодинге. Но не более того.
Для всех желающих личечка открыта, для нежелающих, впрочем, тоже, но я не уверен, что с нежелающими в данный момент у меня получится диалог :)

Maxim

Да не, Борис всё правильно говорит. Я уже об этом думал когда-то. Опять накопится тыща картинок и каждый раз когда ты будешь заходить в эту папку — будешь сталкиваться с хаосом. Уже не говоря о том, что при заходе папка будет слегка подтормаживать, обрабатывая большое количество эскизов изображений, а если ты хочешь отобразить списком, а модели ещё и называть так, чтобы потом легче поиском найти или визуально пролистать, то для этого нужно упорядочивание по имени, а это тоже приводит к подтормаживанию папки.

Не знаю что вы там говорите про кучу месяцев работы. Вот упомянутая мной программа T2OLv3complete была писана наверняка кем-то тоже не гениальным программером и вряд ли кучу аж времени.
Но я примерно представлял, что программисты обязательно скажут, что это долгая затея с кучей кода. И на всякий случай держал в голове костыль: можно сделать хотя бы каталогизатор как эта самая T2O. Потому что там тупо скриншот модели, никакого рендера на лету. Мы в состоянии после каждого окончания работы над моделью делать скриншот. Просто нужен каталогизатор с возможностью поиска или какой-то разбивкой на категории/иерархии и чтобы подгружалось небольшое окошко скриншота (как в T2O) выделенной в списке модели. И получается нужна возможность добавления пользователем в базу скриншота и названия модели.
Можно хотя бы сделать что-то вроде "дневника"?
Still they talk anyway
When there's nothing to say
There's so much said in empty words...

Zontik

ЦитироватьНо у вас с Кипером при слове "блендер" бизаччотный ужос.
Не Блендер страшен сам по себе, а предлагаемый метод, уж больно смахивающий на протез. Ну примерно как если бы кто-нибудь предложил просматривать фотографии с помощью Фотошопа. Возможно такое? Вполне.
Но я допускаю, что те, у кого Блендер уже стоит и они с ним работают, могут прямо сейчас взять твой скриптик и с удовольствием им пользоваться. Надеюсь, хотя бы "спасибо" они тебе скажут.
ЦитироватьТебе ту статику надо по-любому отрендерить
Жаль.
ЦитироватьВ общем это как минимум на 6-12 месяцев разработки (одному человеку), если он не будет ходить на работу, жить личной и семейной жизнью и есть 1 раз в день перед компом.
Это реальная оценка? Тогда отсутствие интереса становится понятным.
(Некоторые ФМ примерно в таком режиме и делаются. Но тут есть разница: в последнем случае отсутствует капризный заказчик. И автору не придется все переделывать с нуля только потому, что он неверно понял какой-то пункт из техзадания.)
ЦитироватьМожно хотя бы сделать что-то вроде "дневника"?
"Открытая" СУБД? Тоже вариант, хотя и тут сейчас программисты обломают, почти уверен.
А все-таки интересно, вот этот view.exe производит неизгладимое впечатление программы, сделанной на коленках (даже, скорее, на одной коленке), и уж никак не за 6-12 месяцев. Либо это неудачный эскиз гения, либо все на самом деле не настолько уж сложно.
Дайте глазам отдохнуть! Тёмное место

nemyax

Цитата: Zontik от 24 июля 2017 09:48:43вот этот view.exe производит неизгладимое впечатление программы, сделанной на коленках (даже, скорее, на одной коленке), и уж никак не за 6-12 месяцев
Потому он никуда и не годится. Особенно в образцы для подражания.
Желаю тебе из тысячи рулеток одну — самую русскую!
Желаю тебе из тысячи надежд одну — самую крупскую!

Chuzhoi

#40
Согласен с предыдущими ораторами-скептиками. Написать такую программу даже в самом базовом варианте - весьма сложная и объемная работа. Я бы сравнил ее с созданием очень большой и серьезной ФМ-ки или даже кампании для Thief. И это совершенно точно сложнее, чем написать просто плагин для импорта в какую-нибудь готовую программу - ведь это потребует не только знания языка и формата Bin, но и знание какой-нибудь GUI-библиотеки и Direct3D/OpenGL, умения правильно обрабатывать события мыши для вращения модели, и проч, и проч. Мне даже страшно подумать, сколько времени заняла бы лично у меня разработка такой программы, но, подозреваю, ложка была бы совершенно не к обеду (да, у меня есть некоторые базовые знания, и я даже мог бы показать одну безделушку и одну не совсем безделушку, написанные в прошлом десятилетии, если публика возжелает; но, во-первых, сколько пришлось бы еще изучить или хотя бы просто вспомнить, учитывая, сколько воды утекло с тех пор; более того, боюсь, в нынешних обстоятельствах мой разум просто не выдержал бы такого сидения на двух стульях и вам бы пришлось носить передачки в соответствующее заведение, ибо по работе мне тоже приходится кодить; программирование - это интересный, но весьма тяжелый интеллектуальный труд, если кто не в курсе). Так что извините. Рад бы внять душевному крику и помочь, но...

Цитата: nemyax от 21 июля 2017 12:54:49
Вы бы что называется поисследовали бы рынок. Вдруг уже существует похожий просмотрщик моделек с поддержкой плагинов и достаточно было бы добавить плагин для даркошных форматов.
Все, что я пока нашел - это Open 3D model Viewer. Кажется, должен работать на XP (в системных требованиях указан Win32), но я не проверял. Плагинов в чистом виде, как мне показалось, там нет, но он Open Source, что позволяет его модифицировать. Сам просмотрщик написан на C#, но для импорта он использует библиотеку Assimp, которая написана на C++. В нее теоретически и, думаю, даже практически можно добавить поддержку формата bin. Правда, я не знаю, можно ли там указывать для моделей пути к текстурам или они должны лежать в одной папке с моделью, но, надеюсь, этот вопрос решаем. Но все равно для среднестатистического программиста-любителя, работающего по паре часов в день, это займет достаточно много времени - ведь нужно разобраться в формате bin и понять, как его преобразовать во внутренний формат этой библиотеки, плюс нужно достаточно хорошо шарить в C++. Так что тут, боюсь, работы тоже не на одну неделю и даже не на один месяц. Но все равно это побыстрее будет, чем создавать подобный просмотрщик с абсолютного нуля. И плюс функциональность пониже будет, чем хотят наши авторы (если только этот же или какой-нибудь другой энтузиаст не захочет доработать сам просмотрщик) - но, по крайней мере, при грамотном написании модуля импорта это должно быть надежно.

***

А кто-нибудь серьезно юзал связку BintoE + Eto3DS? Нормально ли работают эти утилиты? Все ли модели берут, ничего не искажают? Нормально ли переносят развертку, имена текстур (с расширениями)?

Я к тому, что можно предложить следующий сценарий. Пишется относительно несложный скрипт, который запускается по клику на bin-файле и действует следующим образом:
1. Конвертирует модельку из bin в E c помощью BintoE.
2. Сканирует имена текстур в E.
3. Ищет данные текстуры в исходной папке модели, а также в подпапках txt и txt16.
4. Конвертирует модельку в 3ds с помощью Eto3DS.
5. Пишет полученную 3ds-модельку с текстурами в некую временную папку
6. Запускает какой-нибудь готовый просмотрщик 3ds-моделей, поддерживающий 3ds (любой на вкус автора миссии; скажем, это может быть тот же Open 3D model Viewer).
7. Если требуется показать имена используемых текстур, их можно отобразить в консольном окне Windows (хотя Open 3D model Viewer тоже их показывает). Можно даже попробовать извлечь из E-файла габариты модели, хотя это уже несколько сложнее.
8. По закрытии просмотрщика временная папка удаляется.

Визуально это будет почти то же самое, что и просмотрщик+плагин импорта, разве что с дополнительной иллюминацией из консольных окон. Правда, если машина слабая (мы знаем, что у некоторых слабая), то открытие модельки может сопровождаться некоторыми тормозами (из-за дополнительной конвертации двумя утилитами), но, думаю, эти торомоза будут незначительны.

Подобный скрипт можно написать на любом доступном языке, поддерживающем работу с файлами и способном худо-бедно обрабатывать строки. Возможно, даже язык командных файлов Windows подойдет (хотя не уверен, что у него все хорошо со строками). Или, скажем, на VBScript. Если никто не пылает энтузиазмом, то подобным скриптом мог бы заняться даже я (но не прямо сейчас, а через некоторое пока не очень определенное, но, надеюсь, не слишком отдаленное время).

Но первичное условие такое: эти две утилиты должны безупречно работать. Иначе вся затея летит в тартарары. Посему на первом этапе нужна их тщательная проверка на самых разных моделях. Я вот вчера попробовал сконвертировать свои последние модели, которые делал для Зонтика - BintoE виснет. Но мои модели - это не совсем показатель, т. к. я превысил в них все мыслимые пределы и конвертировал их с ключом -N, который отключает BSP-дробление (с ним модели зашкаливают за 300 кб, при норме примерно в 120 кб). Но более простые модели конвертируются нормально, так что, может быть, и с большинством остальных моделей все будет хорошо - ну, хочется надеяться, что лучше, чем со стандартной гляделкой. Мне, к сожалению, пока некогда тестировать, но если кто имел на практике дело с этими утилитами, может высказаться или потестировать сам.

Zontik

Боюсь огорчить, но у меня эта связка редко работает нормально. Практически я уже исключил ее из числа доступных утилит. Что съезжают текстуры с некоторых полигонов - это только половина беды. Некоторые модели не конвертируются в принципе.
Да и потом, сейчас все больше появляется моделей, сделанных с нарушениями.
Дайте глазам отдохнуть! Тёмное место

HellRaiser

ЦитироватьЭто реальная оценка?
Нет, весьма условная. Но вероятность больше, что дольше.

Цитата: Chuzhoi от 24 июля 2017 10:05:50
если публика возжелает
Возжелает :yes:

Цитата: Chuzhoi от 24 июля 2017 10:05:50
разве что с дополнительной иллюминацией из консольных окон.
Можно и без иллюминации. Но эт так - мелочи уже.

Цитата: Zontik от 24 июля 2017 10:17:08
Боюсь огорчить, но у меня эта связка редко работает нормально.
Как бы узнать бы, может хде-то в далёком и кем-то припрятанном архиве лежат сорсики этих утилит... Наверняка автор новодарка в курсе, или кто-то с TTLG. Не пробовали узнавать?

nemyax

Цитата: HellRaiser от 24 июля 2017 10:26:54
Как бы узнать бы, может хде-то в далёком и кем-то припрятанном архиве лежат сорсики этих утилит
Та зачем они тебе. Все структы формата определены в mds.h.
Желаю тебе из тысячи рулеток одну — самую русскую!
Желаю тебе из тысячи надежд одну — самую крупскую!

HellRaiser

Цитата: nemyax от 24 июля 2017 10:30:53
Та зачем они тебе.
Да чёто лениво самому костылить очередной велосипед. Да и просто попялиться, как другие говнокодят интересно жеж.