Axolotl
09 Oct 2010, 13:09
Предлагаю в этой теме обсуждать проблемы связанные с вытаскиванием моделей из других игр и адаптации их героям,
начиная от проблем с конверторами и рипперами моделей и заканчивая уже Deftool'ом и вставкой дефов в Герои. Ну и непосредственно проблемы в 3D редакторах.
Let's discuss in this thread different problems of ripping models from other games and adaptation them to Heroes, from problems with rippers and convertors to problems with Deftool and inserting Defs in Heroes. So, and problems with 3D editors, of course.
Valery
09 Oct 2010, 14:09
The only problem I have is
dealing with masks, they screw my background colors and need palette hand modification. Other that it is easy. What problems you have?
Axolotl
09 Oct 2010, 14:15
Вот первая проблема на которой бьюсь уже несколько дней.
Есть два разных конвертора моделей из одной игры в читаемый 3D MAX'ом формат, но оба делают это с разными проблемами.
Первый конвертит в формат Obj, всё делает хорошо, но без костей и анимации.
Второй конвертит в Dae с анимацией, но не совсем правильно. А именно, там геометрия в оригинале сделанна из разных частей - например, голова одна часть, туловище и ноги другая, руки - третья (все посаженны на один скелет). И на разные части применяются разные текстуры.
Так вот, второй конвертор объединят некоторые части в одну (например объединяет голову и туловище в один обект), в следствии чего я не могу применить к эти частям разные текстуры.
Пока в голову приходят такие решения: 1 - Пересадить скелет и анимацию от второго конвертора первому (пока не получилось).
2 - разделить самому геометрию меха на правильные части. (Тоже что-то пока не получилось)...как только я пытаюсь редактировать геометрию (например Create Editable Mech) 3D Max отделяет всю геометрию от скелета, а как поставить скелет обратно я не знаю.
-----------------------------------------------------------------------------
Here is my first problem, that i'm trying to solve for some days.
I have two model convertors from a game into readable by 3D MAX format, but both of them do it with it's own problems.
The first of them converts to OBJ, and do it well (correct geometry), but without bones, skeleton and animation.
Second converts to DAE with animation but have some problems. Exactly, there is geometry in original models that consists of different parts, for example a head is one part, Torso - another (all of the parts are connected to one skeleton). And for each of these parts there is it's own texture.
And the second convertor combine these geometry parts (objects) together in one object (for example binds a head and a torso together) so i cannot apply differnt textures for them.
There some thoughts how to solve the problem: 1 - Somehow use the skeleton and animation from the second converter to first (i tried but yet without good results)
2 - Edit the geometry of mech from secon converter and divide the parts manually (also tried but have problems)...when i try
to edit geometry of mech (for example apply "Create Editable Mech") 3D max divides (detaches) all the geometry from skeleton and how to connect it back, i don't understand.
Maestro
09 Oct 2010, 14:43
работать с текстурами нужно!
даже если какие-то части объединены это не мешает использовать 99999*99999 текстур на одном объекте, при желании.
есть в максе редактор материалов - через него и можно настроить текстуры.
если модель сшивается, но при этом сохраняется ее номер для текстурки, то проблем нету.
ежели модель сшивается и все текстуры объединяются, то нужно вручную растащить голову и туловище по своим текстурам. если не понятно, могу сделать туториал с картинками на примере волшебницы из нескольких частей.
Axolotl
09 Oct 2010, 15:06
А что значит "модель сшивается, но при этом сохраняется ее номер для текстурки" - не очень понял.
"растащить голову и туловище по своим текстурам" - ты имеешь в виду саму текстуру разделить на разные.
Если, да, то это я пробовал. Прошлого динозавра, в итоге так и стделал. Но это отнимает уйму времени. А как этот процесс упростить я не придумал.
hippocamus
09 Oct 2010, 15:12
Я делал когда-то это для моделей Морровинда, там модель вместе с анимацией, текстура в отдельном файле. С помощью плагина эти модели понимает 3dmax.
Etoprostoya
09 Oct 2010, 15:46
Axolotl, ты покажи скриншот с материалами, который я просил, а то я так и не пойму где у тебя проблема - словесного описания явно не достаточно.
Axolotl
09 Oct 2010, 16:12
etoprostoya
Из Dae (тот который с анимацией) модель импортируется без текстур, там текстуры отдельно сохраняются. Их я уже сам в редакторе добавляю. Так-что после импорта модели там и скриншотить то нечего.
Etoprostoya
09 Oct 2010, 16:36
Да не нужны мне текстуры, мне нужно посмотреть, какой материал получается после импорта!
Открой Макс, выбери Файл->Импорт, импортируй свою DAE-модель, потом нажми латинскую букву 'M', кликни на пипетку, а затем этой пипеткой на импортированную в Макс модель и сделай скриншот. Всего-то, что я прошу.
Или, ещё лучше выложи модель и плагины для импорта, а мы уж тут разберёмся, что к чему.
Axolotl
09 Oct 2010, 17:06
Окей, сейчас сделаю. Там действительно, что-то интересное показывает. Я думал пипетка просто берет текстуру с меха.
Etoprostoya
09 Oct 2010, 17:08
Пипетка берёт материал, а этот материал может быть мультитекстурным, что я и предполагаю в твоём случае.
Axolotl
09 Oct 2010, 17:21
Etoprostoya
09 Oct 2010, 17:28
Ну, так кликни на "texture1 (Standart)" и работай дальше, поставь нужную текстуру для каждого субматериала. И всё.
Axolotl
09 Oct 2010, 17:41
Да, да, да!!!!!!!!!! похоже что как-будто всё получилось. Я дурак. Сразу тебя не послушал. Это всё привычка с растровыми редакторами общаться. Пипетка - пипетке рознь оказалось. Блин, он даже номера текстур показывает, которые нужно применить.
Правда после применения всех текстур, места где должна быть прозрачность всё равно не стали прозрачными, но с этим я попробую сейчас разобраться. На отдельных объектах у меня получалось.
Etoprostoya
09 Oct 2010, 19:16
Про прозрачность я тоже говорил - для каждой текстуры с прозрачностью нужна дополнительная текстура-маска.
Это просто пример: импортирую модель BullKing и вот что получается:
Очевидно, что нижняя часть плаща должна быть прозрачной, а не белой. Вот оригинальная текстура плаща:

Для неё создаём специальную маску, где в местах, соответствующих прозрачности, будет чёрный цвет, а в местах непрозрачных - белый:

Теперь вставляем эту маску как Opacity Map (кликаем на кнопку Opacity, затем выбираем Bitmap и выбираем файл с нашей маской) и получаем то, что нужно:
Valery
09 Oct 2010, 19:55
yeah good luck with masks hoho
Axolotl
09 Oct 2010, 22:01
Ага, с масками я уже разобрался. Только там даже отдельную маску не нужно было создавать, по крайней мере в моём случае.
Не знаю, может в других так не получится, но я просто добавил в Opacity ту-же самую текстуру (там уже видимо была маска в альфа-канале)

А потом в свойствах этого Битмэпа - в Mono Channel Output поставил чекбокс Alpha

И всё получилось. ТОЛЬКО прозрачность не отображается в обычнов виде Viewframe, а в Рендерере всё показывается правильно.
------------------------------------
Yes, in this case there was no problem with masks. I don;t know will it work good in other cases? but i simply added the same Texture (i think there was already a mask in alpha-chanel)
And then, in Bitmap Dilaog - Mono Chanel Output, i checked the box "Alpha". And all work well. BUT the opacity in this case doesn't shows in common Viewport View, only in Renderer. I don't know, maybe this will help with Valery's problem of the blue edge?
Etoprostoya
09 Oct 2010, 22:06
Не, проблема Валери (и не только его, разумеется) в совсем другом.
Valery
09 Oct 2010, 22:29
If use Alpha mono, then opacity is disabled. The mask problem could certainly be solved, but till now all my tricks did not work. A better result is achieved if antialias is unchecked in render setup but the model details are lost slightly. Because this mask problem, I could not make most of interesting monsters from WoW, as little fliers. The mask simply destroys all the little details.
Axolotl, thanks for posting in double language, but there is no need for me. In any case I use google when entering in DF2, so I get twice the same thing
Maestro
10 Oct 2010, 00:21
Цитата(Valery @ 09 Oct 2010, 23:29)

If use Alpha mono, then opacity is disabled. The mask problem could certainly be solved, but till now all my tricks did not work. A better result is achieved if antialias is unchecked in render setup but the model details are lost slightly. Because this mask problem, I could not make most of interesting monsters from WoW, as little fliers. The mask simply destroys all the little details.
Axolotl, thanks for posting in double language, but there is no need for me. In any case I use google when entering in DF2, so I get twice the same thing

to uncheak blending over background option work correctly - use
camulty-rom filter mode that blend textures inside solid model but with unchecked options - no blend it over background - so resulting more higher detailed image.
Valery
10 Oct 2010, 01:10
No, nothing works within those options.
Here is an example: the .rar file contains a wow model/texture + script to import in MAX. This model I never could make it because the mask blending is destroying the legs. One hex monster of course.
DOWNLOAD
Maestro
10 Oct 2010, 09:49
Цитата(Valery @ 10 Oct 2010, 02:10)

No, nothing works within those options.
Here is an example: the .rar file contains a wow model/texture + script to import in MAX. This model I never could make it because the mask blending is destroying the legs. One hex monster of course.
DOWNLOADi got only about half-a-million empty frames and thats all - no mesh or other chages.
StasPV
10 Oct 2010, 12:35
Решил вытянуть монстра из Обливиона, столкнулся с проблемами. Дело в том что монстр состоит из трех моделей-туловища, крыльев и головы, и самого скелета. Так когда добавляю в сцену голову, то она оказывается где угодно, только не на месте и не слушается костей, в то время как крылья добавляются правильно, и нормально двигаются в анимации, ее самому цеплять на место прийдется,или нужно еще что-то в сцену добавить? Еще текстура не одевается, хотя я перевел dds в bmp и кинул в папку с мешами, или нужно вручную делать? В уроке с берберской кавалерией там вроде все сразу. Я вроде видел среди рипнутых монстров обливионских, у кого-то были такие проблемы?
Etoprostoya
10 Oct 2010, 13:04
Монстров Oblivion'а нужно импортировать по частям, это правильно, и в определённом порядке. Сейчас точно не помню, Валери этим больше меня занимался, может он уточнит, но вроде бы сначала нужно импортировать скелет, а на него уже все остальное. Именно импортировать (File->Import) на скелет, а не добавлять (File->Merge).
А зачем переводить DDS в BMP, непонятно? Если в модели прописаны именно файлы DDS, то никаких других файлов она не захочет принять, если не заменить ссылку на текстуру в самой модели. Хотя, в Обливионе указаны не прямые ссылки на текстуры, а относительные, поэтому нужно добавить папку с текстурами этой игры в список путей для текстур 3DS MAX'а, то есть сюда:
Иногда текстуры надеваются, но это не видно в окне Viewport'а, для проверки нажми F9. Если рендер прошёл нормально, но не обращай внимания, а если на рендере текстуры всё равно не видны или видны не все, то их нужно добавлять вручную - на предыдущей странице я уже описал как добавлять текстуры.
Valery
10 Oct 2010, 14:06
The textures can be anywhere, do not necessarily need to configure path, but can also pick them manually from any folder. For Oblivion, need importing first skeleton.nif, and then the different parts (Merge of simply import--be sure to uncheck
Clear animation--when importing over one existing animation). Then import any animation and start fixing the new parts using different viewports views.
Цитата(Maestro @ 10 Oct 2010, 10:49)

i got only about half-a-million empty frames and thats all - no mesh or other chages.
The model should import ok with the script. Then press Z to get the model in normal view, when import it is very small.
StasPV
10 Oct 2010, 15:33
Valery и etoprostoya
Голову и другие части тела, которые оказались не привязанными к скелету я прицепил с помощью link. Но с текстурами не могу понять. Их там три штуки : две немного отличаются, но почти одинаковые, а одна в бело-фиолетовых тонах, как мне надеть их все на модель?
Etoprostoya
10 Oct 2010, 15:40
Не все такие текстуры надо использовать, хватит и одной - используй более реалистичную, а бело-фиолетовую просто игнорируй. Частенько так попадаются игры с тремя-четырьмя текстурами, одна из которых оригинальная, а остальные кажутся какими-то её переделками.
Axolotl
10 Oct 2010, 20:47
Это не проблема даже, а скорее хотел спросить про плавность анимации юнитов, на сколько плавной ее стоит делать. Просто когда я собирал отрендериных юнитов в деф, я использовал далеко не все кадры, и всё равно кадров на движение получалось больше, чев у родных геройских. Можно было сделать еще плавнее, но не знаю стоит ли это делать. Какие с этим могут быть в итоге проблемы? Чтобы потом всё не переделывать.
Еще, никак не могу вспомнить, вроде можно было прописать для каждого существа в героях скорость скорость смены кадров. Если я не ошибаюсь, конечно. Что-то пока найти не могу, хотя казалось, что где-то такое было.
Etoprostoya
10 Oct 2010, 21:04
Просто укладывайся в определённое число кадров для каждой анимации. И самое главное - соблюдать нижнюю планку для каждого типа анимации.
Например, если у монстра будет 4 кадра или меньше в анимации атаки или стрельбы, то во многих случаях при замене других монстров игра будет вылетать.
Чем больше кадров в анимации, тем медленнее будет двигаться монстр.
feanor
10 Oct 2010, 21:07
Цитата
Еще, никак не могу вспомнить, вроде можно было прописать для каждого существа в героях скорость скорость смены кадров. Если я не ошибаюсь, конечно. Что-то пока найти не могу, хотя казалось, что где-то такое было.
CRANIMS.txt.
Etoprostoya
10 Oct 2010, 21:11
Цитата(feanor @ 10 Oct 2010, 22:07)

CRANIMS.txt.
CRANIM.TXT
Maestro
10 Oct 2010, 23:47
Цитата(Valery @ 10 Oct 2010, 15:06)

The model should import ok with the script. Then press Z to get the model in normal view, when import it is very small.
funny joke, really funny. i'm a designer first of all so i know when model exist in the scene and when not. i got completly empty scene with expanded time-line and thats all. tried alot of import options, max6, max9 - all the same - empty scene...maybe you missed something? maybe plugin require WoW to be installed?
Valery
11 Oct 2010, 03:07
Sorry for that, of course you know all this.
Strangely, I can't open anymore this model neither. It fails reading textures, while they are in the right folder. Neither MAX 9 or 2010. I am sure I worked on this model before still. Bah, I will find another which can't be made, there are a lot with very high details.
Axolotl
14 Oct 2010, 13:07
Тут столкнулся с одним глюком (к счастью разобрался с ним). Возможно все и так это знают. Но на всякий случай напишу, вдруг кто еще на эти грабли наступит. В общем при создании Def нельзя делать внутренниие фалы спрайтов длиннее возьми символов (без учета расширения). И еще лучше, стараться делать названия уникальными (не просто, например Attack1, Attack2...да я сперва так и сделал

) . Я сначала не понимал зачем Defftool делает странные рэндомные расширения, видимо как раз для того, чтобы названия спрайтов не повторялись.
P.S.
Просто, сначало у меня нормально вставились Def'ы у которых названия были длиной 12 символов, и всё как-будто было нормально, монстры бегали, всё отлично. Но потом появился странный глюк, когда я брал в битву двух определенных своих существ, на некоторой анимации проскакивали кадры от другого существа. Оказалось, что были спрайты с названиями типа
AttackUp0010.afg у одного и AttackUp0010.gjh у другого, и видимо они обрезались до AttackUp0010 уже без расширения.
Etoprostoya
14 Oct 2010, 13:23
Не, восемь символов тут не причём, главное, чтобы двенадцать(!) первых символов, с учётом точки и расширения или без них, каждого кадра были уникальны. Обычные восемь символов плюс точка плюс расширение и есть двенадцать, если что

Дело в том, что структура DEF-файла так устроена, что там могут быть только двенадцать символов для каждого имени файла-кадра, а более длинные имена просто-напросто обрезаются до этих 12 символов.
Axolotl
14 Oct 2010, 13:36
etoprostoya
Ну я примерно так и написал, ну да не об этом. Вспомнил, еще хотел спросить тебя. Ты писал в своей инструкции на heroescommunity, что нужно в рендеринге - свойствах выходного вала bmp, выбирать 24-бит. Почему плохо сразу выбрать "геройские" 8-бит? Какие-то проблемы с этим могут быть в итоге?
Etoprostoya
14 Oct 2010, 13:47
Для лучшего качества кадры должны иметь одну палитру на всех, а так палитра будет у каждого кадра своя и что получится при обработке в DefTools я даже не представляю, кроме того, что результат будет заведомо хуже, чем при обработке полноцветных, 24-битных изображений.
Ну, можешь попробовать, вдруг какую-нибудь Америку откроешь

Только не забудь сравнить с 24-битным рендером.
Axolotl
14 Oct 2010, 14:00
Да, потому и спрашиваю, что вроде посравнивал немного. Вроде в итоге одинаково получается, в Deftools вроде тоже всё в порядке (ну на первый взгляд)...подумал, мало-ли какие там подводные камни.
Valery
14 Oct 2010, 18:20
The optimal way, but the one which takes more time as well is:
Render RGB
Open Irfanview, select all frames as thumbnails and create contact sheet (not resize)
Open ImageReady and create palette from all contact sheets.
In PS, create script and batch all RGB frames to indexed colors using the previous saved palette.
Now, in DEFTOOL, everything will go perfect. Without those steps, it is often that DEFTOOL screws the RGB, when adding the shadow.
It is longer but the result is perfect, always.
Etoprostoya
14 Oct 2010, 18:30
По идее, результат должен быть ещё лучше, если палитра будет создаваться из 224-225* цветов, а не обычных 256. Поскольку в DEF используются только 224 цвета, остальные 32 цвета - специальные, в том числе и цвет фона, которые изначально присутствует в кадрах (*потому и 225).
Axolotl
15 Oct 2010, 12:21
Valery советовал мне подгибать/уменьшать/поворачивать черезчур выпирающие части тела существ. Это у меня поолучилось, и текущая анимация происходит в соответствии с моими изменениями скелета, но тут проблема. Я не понял, как мне сделать это для всех анимаций, когда я загружаю анимацию (я делал это либо в формате .xaf либо делал Merge Animation из файлов .max) мои изменения исчезают.
Etoprostoya
15 Oct 2010, 12:54
Не понятно, какая у тебя анимация - на основе движения костей или морфирования вершин? Если первое, то, когда изменяешь кости, будь готов к тому, что наложение новой анимации вернёт их к прежнему состоянию.
Не понятно, что ты делаешь - изменяешь положение вершин или изменяешь кости? Про второе я уже написал, а если первое, то наложение новой анимации, если это не морфирование, по идее, не должно ничего изменять к прежнему состоянию.
Не понятно также в каком виде у тебя анимация - ты её накладывашь на изменённую модель или каждая анимация включает в себя и модель тоже? Если первое, то на каждую анимацию придётся повторять все те изменения - подгибания\уменьшения\повороты.
Наверняка есть и другие решения, но я их не знаю, да и этих пока хватает
Axolotl
15 Oct 2010, 13:33
Да уж. Даже и не заяю, что сказать
Выглядит скелет вот так.
Менял вот эти самые сочленения (в Максе называются Joint (хорошее название)). Правой кнопкой на "Joint" - Rotate / Scale.
Valery
15 Oct 2010, 13:48
Removed controller from nif, as it did not show good animation in MAX, then created own animation using the track bar. How looks?

(it takes some time to load animation, be patient)
Etoprostoya
15 Oct 2010, 14:53
Цитата(Axolotl @ 15 Oct 2010, 14:33)

Менял вот эти самые сочленения (в Максе называются Joint (хорошее название)).
Это и есть кости, о которых я говорил, как их не называй.

В общем, для каждой анимации придётся изменять их положение заново.
Цитата
How looks?
Looks good. It is original model's trees or custom?
Axolotl
15 Oct 2010, 16:37
Цитата(etoprostoya @ 15 Oct 2010, 14:53)

В общем, для каждой анимации придётся изменять их положение заново.
Это плохо. Сложно сделать это для каждой анимации одинаково....
Etoprostoya
15 Oct 2010, 17:42
Не так сложно, просто надо поворачивать под точными углами и делать прочие изменения в точных числах, и, естественно, запоминать их.
Например, выбираешь кость, нажимаешь кнопку Rotate (или Scale, Move) или через меню, жмёшь F12 и поворачиваешь (увеличиваешь, перемещаешь) кость на точное значение в градусах, хоть с точностью в тысячную долю.
Цитата(etoprostoya @ 14 Oct 2010, 21:30)

По идее, результат должен быть ещё лучше, если палитра будет создаваться из 224-225* цветов, а не обычных 256. Поскольку в DEF используются только 224 цвета, остальные 32 цвета - специальные, в том числе и цвет фона, которые изначально присутствует в кадрах (*потому и 225).
Хмм... Так вроде у монстров нет уникальных "изменчивых" цветов, т.е. можно смело использовать палитру в 246 + 10 служебных.
Etoprostoya
15 Oct 2010, 18:40
Тем лучше. Говоря про 224 цвета, я опирался на твоё описание геройской палитры.
Axolotl
15 Oct 2010, 19:03
Йохххоу!!! Получилось!!! (Это я про загрузку анимации в следующие кадры). Вместо Replace ставим Insert. Еще вместо Relative нужно Absolute поставить. Для удобства запоминания я загружал следующую анимацию либо в 50-e либо в 100-e кадры.
Еще, забавная штука обнаружилась. В промежутках между одной и другой анимацией, скажем первая с 1-30 кадр вторая загружена с 50-70, так вот с 30 по 50 кадр он сам заполнил плавным переходом положение существа от того каким оно было в 30-м кадре до того которое в 50-м. Это можно использовать, когда в анимации нет возврата в начальное (ну, то которое мы решили, что начальное) положение.