poisoNDealer:
Это чисто из опыта и прочее. Я когда перешел на реф, столкнулся с тривиальной проблемой того, что мои модельки более не кликабельны. Вообще никак, только через выделение по области. Читал все эти статьи про границы, что вы кидаете, открывал модельки рефа в максе и ничего из этого мне не помогло. Я уже был готов истерично смеяться, ведь я почти за месяц так и не смог понять, в чем дело, пока не начал экспериментировать с коллизией. Отсюда я и пришел в конце концов к выводу, что границы и коллизия для рефовских моделек считаются иначе и нет того упрощения, что есть в 800 формате. Еще же прикол в том, что если некликабельную модель сконвертить обратно в 800 формат, она станет кликабельной...
Насчет ретеры, она все правильно отображает, просто не умеет работать с анимированным положением коллизии, а для рефовских моделек они анимированы.
При этом я также удалял коллизию из рефовских моделек, они при этом оставались кликабельны, но очевидно, что у них полностью адаптированы границы под вар и возможно коллизия под них создается нормально.
Откуда такой вывод про автоколлизию - просто потому что если неклибальной модельке добавить коллизию, она становится кликабельной, но если неклибельной модельке начать править границы, нет гарантии, что она станет кликабельной. Истина где-то посередине как всегда скорее всего.
Alan_Gu:
Да, я вот помню, что была функция, убирающая полоску. Думаю, ответ дан. nazarpunk:
Что касаемо того, что ты скинул - это путаница с функцией границ. Модельки формата 800 автоматически создают боксы коллизии под свои границы, если информация о коллизии в модельке отсутствует. В рефе для моделек формата 1000 кубическая коллизия рассчитывается иначе и я пока хз, каким образом. Такое ощущение, что она поломана, ибо по тестам у куба учитывается только его верхняя грань, а все остальное - нет. В конце концов, если модельке рефа не поставить коллизию, то она будет не кликабельной, хоть запересчитывайся границами.
Я с этим столкнулся, когда переходил на реф. Вот какой был ньюанс - если сделать кубическую коллизию модельке так, как мы привыкли делать, то ничего не изменится. Если поставь бокс коллизии так, чтобы его верхняя грань касалась нулевой плоскости координат пола, то модель станет кликабельной ровно в заданных граница коллизии, но если приблизить камеру, то попытки выделить модель в воздухе выше нулевой плоскости не увенчаются успехом.
Если поставить сферическую либо цилиндрическую коллизию, то все работает как надо.
Ну соответственно вывод из этого какой. За кликабельность модели отвечает коллизия, если коллизии нет, то достраивается бокс автоматически, соответственно границам, но это не рабает для HD-моделей рефа, потому что кубическая коллизия считается как-то иначе для них, возможно поломана.
А ну и хп бар крепится к наивысшей точки коллизии, а за ширину хп бара отвечает строчка в редакторе объектов... Я забыл ее название, как всегда xDD.
Ситуация с боксами акутально до версии 1.32.10. Что там на 1.33+ я хз, не работал с этими версиями.
Разве что отредактировать границы модели и переместить его за экран или сузить. Но это такой себе способ.
За расположение индикатора отвечают не границы модели, а коллизия. Границы отвечают за зону видимости модельки относительно игровой камеры. Но идея как вариант да. Сделать очень высокий бокс коллизии и индикатор улетит в небеса, причем моделька останется кликабельной, даже слишком... кликабельной будет вся область над головой юнита... Надо подумать, что еще можно сделать.
Эльрат:
Отпишись, сработает ли мой способ. Потому что если дело в количестве полигонов, то тут просто другая модель нужна, а если дело не в них, то будем дальше думать.
poisoNDealer:
Или еще как вариант выключить ее. BlzFrameSetEnable(BlzGetFrameByName("RestartButton",0), false). Тогда она просто станет серенькой неактивной.
Но у чела, судя по скринам классическая версия вара, так что никак.
Я не хочу показаться занудой, но в модельке 25тыс. полигонов. Я когда сидел на старой версии вара, он у меня отказывался работать, если в модельке было более 10 тыс. У меня нет возможности запустить старый редактор, потому что он конфликтует с рефом, но моделька нормально себя ведет в рефе. Хз, но попробуй ради интереса оттяпать половину модельки и глянь, сохранится ли проблема, если полигонов будет всего тысяч 7-8.
Битые нормали - это вообще извечная беда всех, кто конвертирует модельки. Про потерю групп сглаживания я вообще молчу... Кнопка Recalculate Normals тебе в помощь.
Нужно настроить коллизию. Делается в магусе (war3model editor) либо в ретере. xgm.guru/p/wc3/222951.
Если ты это делаешь на рефордже, то рекомендую использовать сферическую коллизию, по своему опыту, реф с ней лучше работает, нежели с квадратами.
Также mdlvis может "убивать" коллизию. У меня не раз уже было, что после открытия модельки в визе хитбоксы просто исчезали из модельки и их приходилось создавать заново. Поэтому установка хитбоксов должна быть финальным штрихом.
poisoNDealer:
Господи, спаситель, ИИСУС. Я даже предположить не мог, что дело в ORM. Делал рельеф и когда приближал камеру, были эти белые тени, а сейчас все четко! Офигеть, спасибо!
poisoNDealer:
Просто, чтобы было понятно, как я ржу сейчас с себя. Я в качестве ORM-текстуры ставил прозрачную текстуру БЕЛУЮ и грешил на карты нормалей, хотя у меня по сути металличность была выкручена на 100%. Я сверхразум....
WorldEdition:
Агась, по сути S-моделька, эта та же самая моделька, что и основная, только у нее вырезаны все анимации, кроме stand. Она нужна, чтобы не нагружать движок, чтобы анимированы были те деревья, которые находятся в поле видимости игрока. Ты ее сам можешь сделать в mdlvis, например.
Дополню. Еще S-моделька и выключенный animated in fog нужны для того, чтобы скрыть от других игроков информацию о том, что деревья в неразведанной местности срублены. Игрок узнает, что деревьев уже нет только в том, случае, если разведает местность.
Это порой важно при различного рода диверсиях. Если видимость в тумане войны включена для дерева, то вражеский игрок увидит, что на его базу кто-то топает через лес.
В общем, тебе все разжевали, пользуйся.
WorldEdition:
На S и D модельки можно забить, когда указываешь кастомный путь, а не заменяя оригинальный варовский. Как написал выше, чтобы отключить S модельку, достаточно тыкнуть animated in fog. Не помню, как это в русском переводе, вроде "видно в тумане войны"... что-то типа такого. Это строка почти в самом верху в редакторе объектов.
Нужна ли D моделька при кастомном пути зависит от самой основной модельки и от того, нужно ли тебе будет использовать отдельно как украшение пенек. Если нет, то смотри оригинальную модель, анимацию смерти, если после смерти она оставляет пенек, то этот пенек останется и без D модельки на карте.
WorldEdition Сорян, я не думал, что настолько не в танке)). По поводу имен чуть обманул, извини, давно это делал. Короче, смотри. Вот допустим, ты за основу брешь снежное дерево нортренда. Смотришь в файле модельки в редакторе путь в разделе custom(нестандартный). Это в данном случае
doodads\terrain\northrendtree\northrendtree
Идешь по этому пути в архив с игрой с помощью любой программы просмотра mpq-архивов. Я это делаю с помощью ретеры, потому что у меня рефордж, но принцип тот же. Заходишь и видишь имена файлов. Это и есть твои вариации. Файл с окончанием S - это пустышка, типа та моделька, которая возникает полу-прозрачная, когда ты пытаешься разместить декорацию.
Файл без префикса, только с номером, этот тот основной файл, который проигрывается, когда модель размещена и жива. Файл с префиксом d - это файл, который проигрывается, когда модель мертва (пенек).
Вариации считаются от 0 до последней. Всего у деревьев в варе 10 вариаций, то есть от 0 до 9. Они прописаны в slk текстовых файлах, но я не думаю, что тебе надо это трогать, потому что обычно до 10 вариаций деревьев достаточно людям.
Вот, все твои модели, которые ты импортируешь для замены деревьев должны иметь путь ТАКОЙ же, как оригинальные деревья игры, чтобы их заменить, то есть не war3imported/че-то_там.mdx, а doodads\terrain\northrendtree\northrendtree0.mdx, doodads\terrain\northrendtree\northrendtree1.mdx и так далее до 9 для всех вариаций. Число вариаций в редакторе указываешь столько шт, сколько ты заменил моделек. Типа если из 10 вариаций ты загрузил только 7, то указывай 7. Нумерация файлов в этом случае от 0 до 6. Оригинальный путь в поле модель в редакторе объектов НЕ мешяешь! Оставляешь таким же. Ты заменил модели, теперь по этому пути у тебя будут подгружаться твои модельки, а не варовские.
P/s по своему опыту скажу, что лучше именно заменять оригинальные пути игры, при работе с вариациями. Можно попробовать полностью кастомный путь типа war3imported/etoderevo и файлы моделей к путями war3imported/etoderevo0.mdx, war3imported/etoderevo1.mdx и так далее, но как показывает опыт, в этом случае без изменения slk файлов может быть так, что в редакторе все ок, а в ссамой игре модель не хочет подгружаться.
Скрины у меня твои не открываются. В общих чертах, надо импортировать с заменой названия деревьев в специальном контексте. Файлы носят название .....00, .....01, ....., .....nn. Имя зависит от группы деревьев (exp. "LordaronTree"). Путь смотреть в архивах, раздел Doodas/Terrain/...имя папки с заменяемыми данными.. Без изменений баз данных .slk файлов доступно только то количество вариаций, количество которых есть у оригинальных декораций. Меньше можно, больше нельзя. Также стоит обратить внимание, что файл пенька для "мертвой" декорации дерева идет отдельным файлом, если тебе это надо. Отсюда, попробуй проверить, правильно ли ты указал имена декораций при импорте. Очень похоже, исходя из написания, что ты неправильно их пронумеровал.
Для более точного ответа и понимания ситуации залей как-то скрины иначе, либо может быть кто-то еще ответит, у кого откроются ссылки.
Напиши для какой конкретной цели тебе нужно считывание файла и на какой версии вара ты это будешь делать. Вообще варовскими нативками да, через Preload. Если это версия 1.31+ и стоит цель, допустим, подгрузить текст какой-нибудь, то можно через string в fdf.
Это анимация геосетов (поверхностей), для этого твой меч должен быть вынесен в отдельный геосет.
Для mdlvis: В окне анимации, выбираешь анимацию, в которой нужна видимость твоего меча. Выделяешь геосет модельки (там где галочки, галочка должна стоять только напротив для того геосета, который нужно скрыть/показать), выбираешь начальный кадр анимации, под окном с геосетами будет "Видимость, создать". Кликаешь, появляется галочка. Если галочка стоит, то геосет видим, если нет, то скрыт. Подобное повторяешь так же и для последнего кадра анимации, иначе могут быть баги. Даже если на последнем кадре не будет галочки для видимости, лучше ее поставить и снова убрать, чтобы в кадре создалась точка, в общем первый и последний кадры должны совпадать.
Для ретеры не буду расписывать, там нужно работать в окне text для этого и прописывать все в коде напрямую.
Это в заказ моделей вроде как. Не знаю, скинь референсы что ли. Какой тебе примерно кристалл нужен. Если у меня что-то есть похожее в закромах - поделюсь
UV map вряд ли здесь виноват. Текстуры же норм ложатся? А mdlvis не всегда корректно отображает поле работы. У модельки есть такая фишка, как границы (Extends). В двух словах, если границы модельки попадают в область обзора игрока (игровой камеры) моделька прогружается. Если нет - она как бы скрывается, чтобы не нагружать движок. В магусе (war3 model editor) и в ретере есть функция пересчета границ. Попробуй ее. Часто границы при конвертации неверно рассчитываются. Если не поможет, то тогда резать модель на более мелкие составляющие. Я так понимаю, у тебя одна большая модель города или типа того. Ну вот представь. Эта модель стоит в центре карты, но ее границы тянутся аж до краев, но вар ее отобразит только когда ее Extends попадут в область расчета игровой камеры, а это происходит, когда камера смещается ближе к фактической точки расположения модельки на карте.... надеюсь норм написал.
В общем иногда пересчет границ помогает с этим, иногда нет. Если нет, то делить модель на части.
Я пересчитал границы в ретере. Загрузи, глянь. У меня вроде пропала эта проблема.
Пкм по юниту в редакторе объектов и кнопка Reset не работает?.... Не понятно, в чем проблема до конца. Хоть опиши в результате чего это могло произойти. Само по себе же лагнуть не могло. Где-то рылся. что-то менял....
nazarpunk
Все делается спокойно. Просто в качестве родителя фрейма надо указывать полноразмерный фрейм, поддерживающий широкоформатную сетку. Это ConsoleUiBackdrop (для версии от 1.32+) и оригинальный эдитбокс (для 1.31). При этом надо делать интерфейс с учетом того, что для игроков "квадратных" мониторов широкоформатные фреймы будут выходить за размер экрана. Это чуть муторно, надо делать скрипт, считающий соотношение сторон и две версии интерфейса. Но это реально. Сам сейчас делаю кастомный интерфейс для своего проекта. При этом если делать фреймы с умом, то в большинстве случаев вторая версия не нужна. Ну типа если делать широкоформатный фрейм тупо текстурой, то надо рисовать вторую текстуру под 4:3, а если делать фрейм с заполнением фона текстуры и текстурой рамки, то достаточно скриптом рассчитывать ему границы.
Все эти приемы и наработки формул также есть в описанном выше гайде, но с навыком сам все начинаешь писать и считать.
» WarCraft 3 / Как убрать индикатор хп
Это чисто из опыта и прочее. Я когда перешел на реф, столкнулся с тривиальной проблемой того, что мои модельки более не кликабельны. Вообще никак, только через выделение по области. Читал все эти статьи про границы, что вы кидаете, открывал модельки рефа в максе и ничего из этого мне не помогло. Я уже был готов истерично смеяться, ведь я почти за месяц так и не смог понять, в чем дело, пока не начал экспериментировать с коллизией. Отсюда я и пришел в конце концов к выводу, что границы и коллизия для рефовских моделек считаются иначе и нет того упрощения, что есть в 800 формате. Еще же прикол в том, что если некликабельную модель сконвертить обратно в 800 формат, она станет кликабельной...
Насчет ретеры, она все правильно отображает, просто не умеет работать с анимированным положением коллизии, а для рефовских моделек они анимированы.
При этом я также удалял коллизию из рефовских моделек, они при этом оставались кликабельны, но очевидно, что у них полностью адаптированы границы под вар и возможно коллизия под них создается нормально.
Откуда такой вывод про автоколлизию - просто потому что если неклибальной модельке добавить коллизию, она становится кликабельной, но если неклибельной модельке начать править границы, нет гарантии, что она станет кликабельной. Истина где-то посередине как всегда скорее всего.
Ред. gellin
» WarCraft 3 / Как убрать индикатор хп
Да, я вот помню, что была функция, убирающая полоску. Думаю, ответ дан.
nazarpunk:
Что касаемо того, что ты скинул - это путаница с функцией границ. Модельки формата 800 автоматически создают боксы коллизии под свои границы, если информация о коллизии в модельке отсутствует. В рефе для моделек формата 1000 кубическая коллизия рассчитывается иначе и я пока хз, каким образом. Такое ощущение, что она поломана, ибо по тестам у куба учитывается только его верхняя грань, а все остальное - нет. В конце концов, если модельке рефа не поставить коллизию, то она будет не кликабельной, хоть запересчитывайся границами.
Я с этим столкнулся, когда переходил на реф. Вот какой был ньюанс - если сделать кубическую коллизию модельке так, как мы привыкли делать, то ничего не изменится. Если поставь бокс коллизии так, чтобы его верхняя грань касалась нулевой плоскости координат пола, то модель станет кликабельной ровно в заданных граница коллизии, но если приблизить камеру, то попытки выделить модель в воздухе выше нулевой плоскости не увенчаются успехом.
Если поставить сферическую либо цилиндрическую коллизию, то все работает как надо.
Ну соответственно вывод из этого какой. За кликабельность модели отвечает коллизия, если коллизии нет, то достраивается бокс автоматически, соответственно границам, но это не рабает для HD-моделей рефа, потому что кубическая коллизия считается как-то иначе для них, возможно поломана.
А ну и хп бар крепится к наивысшей точки коллизии, а за ширину хп бара отвечает строчка в редакторе объектов... Я забыл ее название, как всегда xDD.
Ситуация с боксами акутально до версии 1.32.10. Что там на 1.33+ я хз, не работал с этими версиями.
» WarCraft 3 / Как убрать индикатор хп
» WarCraft 3 / Конвертация моделей из WoW 2004
» WarCraft 3 / Проблема с моделью при конверте с Рефорджа
Отпишись, сработает ли мой способ. Потому что если дело в количестве полигонов, то тут просто другая модель нужна, а если дело не в них, то будем дальше думать.
» WarCraft 3 / Как заблокировать кнопку в меню
Или еще как вариант выключить ее. BlzFrameSetEnable(BlzGetFrameByName("RestartButton",0), false). Тогда она просто станет серенькой неактивной.
Но у чела, судя по скринам классическая версия вара, так что никак.
» WarCraft 3 / Проблема с моделью при конверте с Рефорджа
Но их здесь 25к!. Это много для классики. Пусть сначала проверит. Я так понимаю, у него проблема вот такого формата.
» WarCraft 3 / Проблема с моделью при конверте с Рефорджа
» WarCraft 3 / Лагают полигоны в моделях в варкрафт 3
» WarCraft 3 / Зона выборки предмета
Если ты это делаешь на рефордже, то рекомендую использовать сферическую коллизию, по своему опыту, реф с ней лучше работает, нежели с квадратами.
Также mdlvis может "убивать" коллизию. У меня не раз уже было, что после открытия модельки в визе хитбоксы просто исчезали из модельки и их приходилось создавать заново. Поэтому установка хитбоксов должна быть финальным штрихом.
» WarCraft 3 / Лагают полигоны в моделях в варкрафт 3
» WarCraft 3 / [Reforged] Какие настройки normal map вы используете?
Господи, спаситель, ИИСУС. Я даже предположить не мог, что дело в ORM. Делал рельеф и когда приближал камеру, были эти белые тени, а сейчас все четко! Офигеть, спасибо!
Просто, чтобы было понятно, как я ржу сейчас с себя. Я в качестве ORM-текстуры ставил прозрачную текстуру БЕЛУЮ и грешил на карты нормалей, хотя у меня по сути металличность была выкручена на 100%. Я сверхразум....
Ред. gellin
» WarCraft 3 / Вопрос по вариациям импортированных декораций.
Агась, по сути S-моделька, эта та же самая моделька, что и основная, только у нее вырезаны все анимации, кроме stand. Она нужна, чтобы не нагружать движок, чтобы анимированы были те деревья, которые находятся в поле видимости игрока. Ты ее сам можешь сделать в mdlvis, например.
Дополню. Еще S-моделька и выключенный animated in fog нужны для того, чтобы скрыть от других игроков информацию о том, что деревья в неразведанной местности срублены. Игрок узнает, что деревьев уже нет только в том, случае, если разведает местность.
Это порой важно при различного рода диверсиях. Если видимость в тумане войны включена для дерева, то вражеский игрок увидит, что на его базу кто-то топает через лес.
В общем, тебе все разжевали, пользуйся.
» WarCraft 3 / Вопрос по вариациям импортированных декораций.
На S и D модельки можно забить, когда указываешь кастомный путь, а не заменяя оригинальный варовский. Как написал выше, чтобы отключить S модельку, достаточно тыкнуть animated in fog. Не помню, как это в русском переводе, вроде "видно в тумане войны"... что-то типа такого. Это строка почти в самом верху в редакторе объектов.
Нужна ли D моделька при кастомном пути зависит от самой основной модельки и от того, нужно ли тебе будет использовать отдельно как украшение пенек. Если нет, то смотри оригинальную модель, анимацию смерти, если после смерти она оставляет пенек, то этот пенек останется и без D модельки на карте.
» WarCraft 3 / Вопрос по вариациям импортированных декораций.
Ред. gellin
» WarCraft 3 / Вопрос по вариациям импортированных декораций.
doodads\terrain\northrendtree\northrendtree
Идешь по этому пути в архив с игрой с помощью любой программы просмотра mpq-архивов. Я это делаю с помощью ретеры, потому что у меня рефордж, но принцип тот же. Заходишь и видишь имена файлов. Это и есть твои вариации. Файл с окончанием S - это пустышка, типа та моделька, которая возникает полу-прозрачная, когда ты пытаешься разместить декорацию.
Файл без префикса, только с номером, этот тот основной файл, который проигрывается, когда модель размещена и жива. Файл с префиксом d - это файл, который проигрывается, когда модель мертва (пенек).
Вариации считаются от 0 до последней. Всего у деревьев в варе 10 вариаций, то есть от 0 до 9. Они прописаны в slk текстовых файлах, но я не думаю, что тебе надо это трогать, потому что обычно до 10 вариаций деревьев достаточно людям.
Вот, все твои модели, которые ты импортируешь для замены деревьев должны иметь путь ТАКОЙ же, как оригинальные деревья игры, чтобы их заменить, то есть не war3imported/че-то_там.mdx, а doodads\terrain\northrendtree\northrendtree0.mdx, doodads\terrain\northrendtree\northrendtree1.mdx и так далее до 9 для всех вариаций. Число вариаций в редакторе указываешь столько шт, сколько ты заменил моделек. Типа если из 10 вариаций ты загрузил только 7, то указывай 7. Нумерация файлов в этом случае от 0 до 6. Оригинальный путь в поле модель в редакторе объектов НЕ мешяешь! Оставляешь таким же. Ты заменил модели, теперь по этому пути у тебя будут подгружаться твои модельки, а не варовские.
P/s по своему опыту скажу, что лучше именно заменять оригинальные пути игры, при работе с вариациями. Можно попробовать полностью кастомный путь типа war3imported/etoderevo и файлы моделей к путями war3imported/etoderevo0.mdx, war3imported/etoderevo1.mdx и так далее, но как показывает опыт, в этом случае без изменения slk файлов может быть так, что в редакторе все ок, а в ссамой игре модель не хочет подгружаться.
» WarCraft 3 / Вопрос по вариациям импортированных декораций.
Для более точного ответа и понимания ситуации залей как-то скрины иначе, либо может быть кто-то еще ответит, у кого откроются ссылки.
» WarCraft 3 / Наборы анимаций для декораций
» WarCraft 3 / Считывание файла при запуске карты
Ред. gellin
» WarCraft 3 / Скрыть определённый предмет в анимациях
Для mdlvis: В окне анимации, выбираешь анимацию, в которой нужна видимость твоего меча. Выделяешь геосет модельки (там где галочки, галочка должна стоять только напротив для того геосета, который нужно скрыть/показать), выбираешь начальный кадр анимации, под окном с геосетами будет "Видимость, создать". Кликаешь, появляется галочка. Если галочка стоит, то геосет видим, если нет, то скрыт. Подобное повторяешь так же и для последнего кадра анимации, иначе могут быть баги. Даже если на последнем кадре не будет галочки для видимости, лучше ее поставить и снова убрать, чтобы в кадре создалась точка, в общем первый и последний кадры должны совпадать.
Для ретеры не буду расписывать, там нужно работать в окне text для этого и прописывать все в коде напрямую.
» WarCraft 3 / Есть ли утечки, в этом простом триггере?
» WarCraft 3 / Очень нужен анимированный кристалл!
» WarCraft 3 / Модель пропадает
В общем иногда пересчет границ помогает с этим, иногда нет. Если нет, то делить модель на части.
Я пересчитал границы в ретере. Загрузи, глянь. У меня вроде пропала эта проблема.
» WarCraft 3 / Проблема с двумя моделями персонажей
Ред. gellin
» WarCraft 3 / Смена интерфейса во время игры
Все делается спокойно. Просто в качестве родителя фрейма надо указывать полноразмерный фрейм, поддерживающий широкоформатную сетку. Это ConsoleUiBackdrop (для версии от 1.32+) и оригинальный эдитбокс (для 1.31). При этом надо делать интерфейс с учетом того, что для игроков "квадратных" мониторов широкоформатные фреймы будут выходить за размер экрана. Это чуть муторно, надо делать скрипт, считающий соотношение сторон и две версии интерфейса. Но это реально. Сам сейчас делаю кастомный интерфейс для своего проекта. При этом если делать фреймы с умом, то в большинстве случаев вторая версия не нужна. Ну типа если делать широкоформатный фрейм тупо текстурой, то надо рисовать вторую текстуру под 4:3, а если делать фрейм с заполнением фона текстуры и текстурой рамки, то достаточно скриптом рассчитывать ему границы.
Все эти приемы и наработки формул также есть в описанном выше гайде, но с навыком сам все начинаешь писать и считать.