3ds-исходник должен лежать в папке _work\Data\Meshes.Я поместил свой файл .3ds в \_work\Data\Meshes\_compiled\
Скомпилировать mrm-файл можно в двух режимах. Самый простой способ - это компиляция движком игры. Нужно просто запустить игру. Исходник, как уже сказано выше, должен лежать в папке _work\Data\Meshes, результат компиляции помещается движком в папку _work\Data\Meshes\_compiled.GothicStarter_Mod и нажал «конвертировать все»
Добавлю, что не просто запустить, а ещё загрузить сохранение (или начать новую игру) и оказаться рядом с требуемой моделью, чтобы она загрузилась в память. Если это визуал предмета, то его можно вставить через консоль, а если модель окружения - то телепортироваться или подойти к ней. Также можно использовать Спейсер, чтобы быстро подлететь к нужному месту в мире или поменять какому-нибудь ближайшему объекту визуал на нужную модель и выйти, не сохраняя открытый zen-файл.Нужно просто запустить игру.
В игре нет моделей с такими названиями, поэтому надо делать компиляцию всего.ElderGamer , D36
Для проверки:
1) Я извлек файл .mrm из gothic/data/Meshes.vdf
2) Я импортировал файл в блендер
3) Я экспортировал файл в .3ds
4) Я переименовал файл в глупое имя, например asdfasdf444.3ds
5) Я помещаю файл в \_work\Data\Meshes\
6) Я запустил GothicStarter.exe
7) Я загрузил игру, сохранил игру, начал новую игру
8) Ни один скомпилированный файл не появился в папке \_work\Data\Meshes\_compiled\
То же самое ничего не происходит, когда я пытаюсь это сделать с файлом, который действительно хочу скомпилировать.
В игре нет моделей с такими названиями, поэтому надо делать компиляцию всего.
Если не хочешь так заморачиться
1. Полностью распакуй Meshes.vdf и Meshes_addon.vdf в папку готики, чтобы все файлы были в gothic\_work\Data\Meshes\_Compiled
2. Удали расширения файлов Meshes.vdf и Meshes_addon.vdf, чтобы они больше не работали в игре
3. Дальше создаешь свой 3ds файл
4. Копируешь файл в gothic\_work\Data\Meshes\ и оставляешь у него название то, которое необходимо
5. Удаляешь этот же файл в gothic\_work\Data\Meshes\_Compiled
6. Теперь можно зайти в игру, найти обьект, который заменил, если отобразился в игре новый, сделал всё правильно.
7. И важно проверять оригинальную игру, а не модификацию какую-то!
4) Я переименовал файл в глупое имя, например asdfasdf444.3ds
Используй логику. Зачем движку игры искать и компилировать модель с названием asdfasdf444.3ds, если такая модель не используется ни одним объектом в загруженном игровом мире?8) Ни один скомпилированный файл не появился в папке \_work\Data\Meshes\_compiled\
Я хочу изменить размер объекта в игре, изменив его сетку.
/////////////////////////
// ATTACK
//////////////////////////
ani ("s_FistAttack" 1 "s_FistAttack" 0.0 0.0 M. "golem_attackstep_KP01.asc" F 1 49)
{
*eventTag (0 "DEF_HIT_LIMB" "BIP01 R HAND" )
*eventTag (0 "DEF_OPT_FRAME" "27" )
*eventTag (0 "DEF_HIT_END" "49" )
*eventTag (0 "DEF_WINDOW" "27 49" )
// *eventTag (0 "DEF_DIR" "O" )
*eventSFX (1 "GOL_ATTACK" EMPTY_SLOT )
}
ani ("t_FistAttackMove" 2 "" 0.1 0.1 M. "Golem_AttackMove_A02.asc" F 1 31)
{
*eventSFX (18 "GOL_STEPBOOM" EMPTY_SLOT )
}
ani ("t_FistParadeJumpB" 1 "" 0.1 0.0 M. "Golem_parade_A01.asc" F 1 29)
{
*eventSFX (17 "GOL_STEPBOOM" EMPTY_SLOT )
}
aniAlias ("t_FistParade_O" 1 "" 0.0 0.0 M. "t_FistParadeJumpB" F)
ничего. Его "отбрасывание" в скриптах написано damtypeЧто тут отвечает за големовское отбрасывание?
prototype Mst_Default_StoneGolem(C_Npc)
{
name[0] = "Каменный голем";
guild = GIL_STONEGOLEM;
aivar[AIV_MM_REAL_ID] = ID_STONEGOLEM;
level = 25;
attribute[ATR_STRENGTH] = 125;
attribute[ATR_DEXTERITY] = 125;
attribute[ATR_HITPOINTS_MAX] = 250;
attribute[ATR_HITPOINTS] = 250;
attribute[ATR_MANA_MAX] = 100;
attribute[ATR_MANA] = 100;
protection[PROT_BLUNT] = 50;
protection[PROT_EDGE] = 100;
protection[PROT_POINT] = 150;
protection[PROT_FIRE] = 100;
protection[PROT_FLY] = 100;
protection[PROT_MAGIC] = 100;
damagetype = DAM_FLY; //вот он!
fight_tactic = FAI_STONEGOLEM;
senses = SENSE_HEAR | SENSE_SEE | SENSE_SMELL;
senses_range = PERC_DIST_MONSTER_ACTIVE_MAX;
aivar[AIV_MM_FollowTime] = FOLLOWTIME_MEDIUM;
aivar[AIV_MM_FollowInWater] = TRUE;
start_aistate = ZS_MM_AllScheduler;
aivar[AIV_MM_RestStart] = OnlyRoutine;
};
prototype Mst_Default_Addon_SwampGolem(C_Npc)
{
name[0] = "Болотный голем";
guild = GIL_SWAMPGOLEM;
aivar[AIV_MM_REAL_ID] = ID_SWAMPGOLEM;
level = 25;
attribute[ATR_STRENGTH] = 125;
attribute[ATR_DEXTERITY] = 125;
attribute[ATR_HITPOINTS_MAX] = 250;
attribute[ATR_HITPOINTS] = 250;
attribute[ATR_MANA_MAX] = 0;
attribute[ATR_MANA] = 0;
protection[PROT_BLUNT] = 75; //125;
protection[PROT_EDGE] = 125;
protection[PROT_POINT] = 250;
protection[PROT_FIRE] = 125;
protection[PROT_FLY] = 125;
protection[PROT_MAGIC] = 125;
damagetype = DAM_FLY; //и вот!
fight_tactic = FAI_STONEGOLEM;
senses = SENSE_HEAR | SENSE_SEE | SENSE_SMELL;
senses_range = PERC_DIST_MONSTER_ACTIVE_MAX;
aivar[AIV_MM_FollowTime] = FOLLOWTIME_MEDIUM;
aivar[AIV_MM_FollowInWater] = TRUE;
start_aistate = ZS_MM_AllScheduler;
aivar[AIV_MM_RestStart] = OnlyRoutine;
};
Иногда мне сложно понять, какая текстура применяется к определенному растению или траве. Имя файла текстуры часто отличается от имени файла сетки. Он может использоваться несколькими разными растениями или иметь форму текстурного «атласа». Есть ли простой способ определить, какая текстура (имя файла) применяется к внутриигровому объекту?
Можно просто открыть в хорошем текстовом редакторе (например notepad++) .mrm/.3ds/.asc/.mdm/.mdl и сделать поиск по .tga
Там же увидишь какая используется текстура и как называется материал с текстурой.
Например открываешь
На второй вопрос не отвечу, ибо это основы текстурирования объектов, а я их не знаю
Можно, но длину символов необходимо сохранять.Если я хочу изменить текстуру, примененную к сетке, могу ли я сделать это, открыв файл сетки в wordpad++, просто переименовав файл .tga и сохранив его с помощью wordpad++? Или это повредит файл сетки?
Для начала тебе нужно узнать, что есть такое понятие, как материал (не помню, как это называется в английском варианте GUI 3d-редакторов, кажется material). Материал имеет набор свойств, одним из которых является используемая текстура. На полигоны модели в 3d-редакторе накладывается именно материал, а не текстура. Если ты в 3d-редакторе посмотришь свойства материала, который покрывает интересующие тебя полигоны, то сможешь найти там название текстуры.как игра узнает, что нужно применить эту текстуру к нескольким сеткам, если имена файлов разные?
Для начала тебе нужно узнать, что есть такое понятие, как материал (не помню, как это называется в английском варианте GUI 3d-редакторов, кажется material). Материал имеет набор свойств, одним из которых является используемая текстура. На полигоны модели в 3d-редакторе накладывается именно материал, а не текстура. Если ты в 3d-редакторе посмотришь свойства материала, который покрывает интересующие тебя полигоны, то сможешь найти там название текстуры.
Теперь о том, как движок игры узнаёт, какую текстуру нужно использовать. В состав файла модели (и *.3ds, и *.mrm) входит список используемых материалов и их основных свойств. Названия текстур, как уже сказано выше, можно посмотреть с помощью текстового редактора. Но вот изменять названия текстур с помощью текстового редактора я бы ни в коем случае не советовал бы. Для asc-файлов это допустимо, но речь здесь не о них, не так ли? Так вот, движок считывает из файла модели свойства материала и применяет их к модели. Проблема в том, что материал с одним и тем же названием может использоваться в разных моделях. И если в разных моделях будут прописаны разные текстуры для этого материала, то движок будет использовать только какую-то одну из них для всех моделей с данным материалом.
Если у тебя возникает необходимость использования альтернативной текстуры при редактировании модели, то одновременно со сменой текстуры нужно менять и название материала, чтобы, по возможности, не создать дубликат материала с другим набором свойств.
Наверное, ты имеешь в виду текстуры, на которых на одном поле изображено несколько разных изображений. Вне зависимости от того, что изображено на текстуре, существует привязка вершин модели к точкам с определёнными координатами на текстуре.
Посмотреть вложение 126500
С помощью инструмента Unwrap UVW можно посмотреть эту привязку и, при необходимости, внести изменения.
Значит, я понял вопрос правильно. Устроил ли тебя ответ, или нужны ещё пояснения?На изображении ниже показан тип файла текстуры, о котором я говорю.