Захотелось сделать свой инвентарь на фрэймах, только вон никак не могу найти способ отобразить модель героя. Желательно с возможностью вращать и масштабировать.
DGUI не предлагать.

Принятый ответ

вопрос очень актуален

кароче
модель которую мы хотим отобразить, нужно сначала отредактировать
на всякий случай, нужно удалить все камеры внутри модели
сделать все материалы незатененными
сделать глобальную анимацию, в которой используя имеющуюся рут кость (к которой прикрепляются все остальные кости), либо, сделав новую рут кость и прикрепить старую к ней, повернуть модель сначала на 90 градусов вправо относительно лица, затем "назад" на спину на 90, так что бы если вы включили позицию камеры сверху, модель была прямо перед вами
сделать в той же глобальной анимации скейлинг на рут кости на 1 от оригинала в 100
в самой игре, сделать фрейм по типу спрайта использовав и наследовав вар3лого
new_Frame = BlzCreateFrameByType("SPRITE", "justAName", GAME_UI, "WarCraftIIILogo", 0)
настраивать размер можно через
BlzFrameSetScale(new_Frame, 0.15)
учтите что модель может быть все еще огромна для экрана, так что используйте минимальные скейлы, убедитесь что она есть где то на экране
BlzFrameSetSize(new_Frame, 0.35,0.35)
BlzFrameSetAbsPoint(new_Frame, FRAMEPOINT_CENTER, 0.4, 0.3)
задав размер, можно менять положение на какое угодно
BlzFrameSetModel(new_Frame, "war3mapImported\\myModel.mdx", 0)
прописывать нужно модель как обычно, двойными слешами и с путем как обычно в импорте
BlzFrameSetSpriteAnimate(new_Frame, 3, 0)
воспроизводит анимацию модели по индексу, узнать их можно сконвертировав модель в MDL и открыв через блокнот посмотреть какая анимация в списке, начиная с нуля сверху вниз, последняя цифра в функции скорее всего зациклить ли анимацию, не тестил.
сама модель воспроизводит постоянно Stand 1
`
ОЖИДАНИЕ РЕКЛАМЫ...
0
29
5 лет назад
Отредактирован nazarpunk
0
Ошушение что ты ни разу fdf не создавал под свой настройку моделя...
Если бы создавал, то не завал бы вопросов, логично? А если бы вы хотели помочь, то вместо всей этой писанины уже бы пример сбросили и вопрос был бы закрыт.
то что невозможное возможно. старайся!
Только давайте без розовой мотивационной лапши. Каким образом мне нужно стараться, чтоб получить ответ на поставленный вопрос?
0
9
4 года назад
0
NazarPunk, Есть какие-то подвижки в вопросе? Как я понял, вопрос пока решен только для особых моделей.
0
23
4 года назад
0
Влад59, Береш модель где имеет камера просмотр таких навалом лица моделя с камерой в модели который ставляли камеру это и есть будет выводить во фрейм. А простые модели без камер не будет работать!
0
17
4 года назад
0
Влад59:
Как я понял, вопрос пока решен только для особых моделей.
Мы можем отобразить модель на экране, но только модель, в составе которой (в файле самой модели) присутствует камера. Пример такой модели - модель портрета юнита. Но мы можем их только отобразить. Мы не можем их масштабировать, вращать, изменять и т.д. То есть решения на данный момент нет.
Единственно возможный костыль - создать спец. эффект перед игровой камерой идентичный модели персонажа, со всеми вытекающими недостатками данного способа.
0
23
4 года назад
0
GetLocalPlayer, что можно через анимации манипулировать left right со скоростью. Так как ясно что такое не получается проигривать анимацию в модели сколько бы не провал лишь сработал когда у анимки есть диалог. К примеру когда вы войска отдаете приказ у аватар начинает говорить а после чего молчит все это и есть манипуляции анимации.
0
9
4 года назад
0
GetLocalPlayer, pro100master, Спасибо за ответы! Понятно, что требование камеры это, по сути, для стандартных моделей требование дополнительной костыльной модели с камерой(-ами).
Но в этом меня удивляет такой факт: Когда мы импортируем модель без отдельного портрета, то у юнита можем лицезреть на месте портрета импортированную модель с совершенно непредсказуемых ракурсов (точнее с ракурса камеры портрета юнита выбранного перед этим). Но когда я пытаюсь провернуть такой же "дурацкий" эффект вручную то получаю просто черный экран, даже если размер фрейма я выбрал небольшой.
2
26
4 года назад
Отредактирован Hate
2
вопрос очень актуален

кароче
модель которую мы хотим отобразить, нужно сначала отредактировать
на всякий случай, нужно удалить все камеры внутри модели
сделать все материалы незатененными
сделать глобальную анимацию, в которой используя имеющуюся рут кость (к которой прикрепляются все остальные кости), либо, сделав новую рут кость и прикрепить старую к ней, повернуть модель сначала на 90 градусов вправо относительно лица, затем "назад" на спину на 90, так что бы если вы включили позицию камеры сверху, модель была прямо перед вами
сделать в той же глобальной анимации скейлинг на рут кости на 1 от оригинала в 100
в самой игре, сделать фрейм по типу спрайта использовав и наследовав вар3лого
new_Frame = BlzCreateFrameByType("SPRITE", "justAName", GAME_UI, "WarCraftIIILogo", 0)
настраивать размер можно через
BlzFrameSetScale(new_Frame, 0.15)
учтите что модель может быть все еще огромна для экрана, так что используйте минимальные скейлы, убедитесь что она есть где то на экране
BlzFrameSetSize(new_Frame, 0.35,0.35)
BlzFrameSetAbsPoint(new_Frame, FRAMEPOINT_CENTER, 0.4, 0.3)
задав размер, можно менять положение на какое угодно
BlzFrameSetModel(new_Frame, "war3mapImported\\myModel.mdx", 0)
прописывать нужно модель как обычно, двойными слешами и с путем как обычно в импорте
BlzFrameSetSpriteAnimate(new_Frame, 3, 0)
воспроизводит анимацию модели по индексу, узнать их можно сконвертировав модель в MDL и открыв через блокнот посмотреть какая анимация в списке, начиная с нуля сверху вниз, последняя цифра в функции скорее всего зациклить ли анимацию, не тестил.
сама модель воспроизводит постоянно Stand 1
Принятый ответ
Чтобы оставить комментарий, пожалуйста, войдите на сайт.