Кто может, киньте модель дамми с анимациями поворота на 360 градусов. Только поворотом не вверх/вниз, а вокруг своей оси, типо как стрела летит и в полете закручивается.

как повернуть юнита (снаряд) обычно мы можешь юнита двигать, поднимать. Но вот редактор не обладает возможностью триггерно наклонять вниз, накренять юнита вбок, вращать вокруг оси. здесь перечислено несколько способов как поворачивать модель юнита. тут есть дохрена моделей примерами, тут еще описано как создать свою модель
ссылка 2 тут тоже несколько способов. первый: использовать кость модели и поворачивать с помощью функции SetUnitLookAt. Раньше думал, что эта функция только для поворота головы, но оказалось можно сделать больше - поворачивать dummy-снаряды. К сожалению, не опробовал этот метод по причине недостатка времени. Недостатки: там можно повернуть только две кости, в принципе достаточно для снаряда (нужно создать модель. что тут сложного? ракета или стрела это простые модели, на них крепим кость); необходимость использовать даймика для поворота. Еще один способ - использовать специальную модель с различными анимациями (где каждая анимация сменяет положение юнита), и вращать с помощью SetUnitAnimationByIndex. берете модель из наработки скорпа и изучите код
вот кватерион вращения из первой ссылки
вот рисунок доработанный завалялся у меня на компе.
это в моделе прописывают
Загруженные файлы
`
ОЖИДАНИЕ РЕКЛАМЫ...

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
18
Hate:
OVOgenez:
Steal nerves, Немного не то, тут поворот идет вверх/вниз крена, а надо в стороны.
плоскость смените, и вуаля... альберт эйнштейн в гробу перевернулся, это же вопрос относительности
Я так понял это надо в самих анимках, если да, то как?
Steal nerves:
OVOgenez, словами трудно понять как вам нужно
обычно поворачивают вокруг оси Y, а надо по X.
27
OVOgenez, тут кватерионы x,y,z,w
вращение по оси x
если вращение только по одной оси x, то y=0,z=0
кадров можно взять поменьше, огромное число кадров сделал чтоб понимали
		Rotation 17 {
		Linear,
		0: { 0, 0, 0, 1 }, //180°
		150: { 0.19, 0, 0, 0.98 }, //157.5°
		300: { 0.38, 0, 0, 0.92 }, //135°
		450: { 0.55, 0, 0, 0.83 }, //112.5°
		600: { 0.707, 0, 0, 0.707 }, //90°
		750: { 0.83, 0, 0, 0.55 }, //67.5°
		900: { 0.92, 0, 0, 0.38 }, //45°
		1050: { 0.98, 0, 0, 0.19 }, //22.5°
		1200: { 1, 0, 0, 0 }, //0°
		1350: { -0.98, 0, 0, 0.19 }, //337,5°
		1500: { -0.92, 0, 0, 0.38 }, //315°
		1650: { -0.83, 0, 0, 0.55 }, //292,5°
		1800: { -0.707, 0, 0, 0.707 }, //270°
		1950: { -0.55, 0, 0, 0.83 }, //247,5°
		2100: { -0.38, 0, 0, 0.92 }, //225°
		2250: { -0.19, 0, 0, 0.98 }, //202,5°
		2400: { 0, 0, 0, 1 }, //180°
	}
для вращения по другим осям поменяйте плоскость, короче тоже самое, те же цифры только ось меняем
вращение по оси y
если вращение только по одной оси y, то x=0,z=0
		Rotation 17 {
		Linear,
		0: { 0, 0, 0, 1 }, //180°
		150: { 0, 0.19, 0, 0.98 }, //157.5°
		300: { 0, 0.38, 0, 0.92 }, //135°
		450: { 0, 0.55, 0, 0.83 }, //112.5°
		600: { 0, 0.707, 0, 0.707 }, //90°
		750: { 0, 0.83, 0, 0.55 }, //67.5°
		900: { 0, 0.92, 0, 0.38 }, //45°
		1050: { 0, 0.98, 0, 0.19 }, //22.5°
		1200: { 0, 1, 0, 0 }, //0°
		1350: { 0, -0.98, 0, 0.19 }, //337,5°
		1500: { 0, -0.92, 0, 0.38 }, //315°
		1650: { 0, -0.83, 0, 0.55 }, //292,5°
		1800: { 0, -0.707, 0, 0.707 }, //270°
		1950: { 0, -0.55, 0, 0.83 }, //247,5°
		2100: { 0, -0.38, 0, 0.92 }, //225°
		2250: { 0, -0.19, 0, 0.98 }, //202,5°
		2400: { 0, 0, 0, 1 }, //180°
	}
вращение по оси z
если вращение только по одной оси z, то x=0,y=0
		Rotation 17 {
		Linear,
		0: { 0, 0, 0, 1 }, //180°
		150: { 0, 0, 0.19, 0.98 }, //157.5°
		300: { 0, 0, 0.38, 0.92 }, //135°
		450: { 0, 0, 0.55, 0.83 }, //112.5°
		600: { 0, 0, 0.707, 0.707 }, //90°
		750: { 0, 0, 0.83, 0.55 }, //67.5°
		900: { 0, 0, 0.92, 0.38 }, //45°
		1050: { 0, 0, 0.98, 0.19 }, //22.5°
		1200: { 0, 0, 1, 0 }, //0°
		1350: { 0, 0, -0.98, 0.19 }, //337,5°
		1500: { 0, 0, -0.92, 0.38 }, //315°
		1650: { 0, 0, -0.83, 0.55 }, //292,5°
		1800: { 0, 0, -0.707, 0.707 }, //270°
		1950: { 0, 0, -0.55, 0.83 }, //247,5°
		2100: { 0, 0, -0.38, 0.92 }, //225°
		2250: { 0, 0, -0.19, 0.98 }, //202,5°
		2400: { 0, 0, 0, 1 }, //180°
	}
26
Сейчас сделал на базе твоей юлы, но вроде бы что-то пошло не так. Должны вращаться крепления head, chest и origin по разным осям, а они вроде как не вращаются, а дрыгаются, наверное, угол поворота неправильно рассчитывается.
Загруженные файлы
18
8gabriel8:
Сейчас сделал на базе твоей юлы, но вроде бы что-то пошло не так. Должны вращаться крепления head, chest и origin по разным осям, а они вроде как не вращаются, а дрыгаются, наверное, угол поворота неправильно рассчитывается.
ща чекну
угол поворота норм расчитан, пример же есть, ща кину другую модель дамми
Загруженные файлы
26
В mdlvis перехожу в Редактор анимаций, выбираю анимацию Stand, переключаюсь на вкладку Движение, выбираю кость Chest, в инструментах выбираю Вращение-кнопка в виде круглой двойной стрелки. Нам нужно сделать изменения лишь в ключевых кадрах, модель сама будет вращаться из одного состояния в другое по мере проигрывания анимации. Предварительно сократил длительность анимации Stand до 1000 кадров, чтобы сделать вращение, поменяю поворот оси на 90 градусов каждые 250 кадров, то есть на первом кадре значение по осям 0;0;0, на 250 0;0;90, на 500 0;0;180, на 750 0;0;270, на 1000 0;0;0.
26
Аналогично с костями Head и Origin, только там оси меняются на Х;0;0 и 0;Y;0.
18
Steal nerves:
OVOgenez, тут кватерионы x,y,z,w
вращение по оси x
если вращение только по одной оси x, то y=0,z=0
кадров можно взять поменьше, огромное число кадров сделал чтоб понимали
		Rotation 17 {
		Linear,
		0: { 0, 0, 0, 1 }, //180°
		150: { 0.19, 0, 0, 0.98 }, //157.5°
		300: { 0.38, 0, 0, 0.92 }, //135°
		450: { 0.55, 0, 0, 0.83 }, //112.5°
		600: { 0.707, 0, 0, 0.707 }, //90°
		750: { 0.83, 0, 0, 0.55 }, //67.5°
		900: { 0.92, 0, 0, 0.38 }, //45°
		1050: { 0.98, 0, 0, 0.19 }, //22.5°
		1200: { 1, 0, 0, 0 }, //0°
		1350: { -0.98, 0, 0, 0.19 }, //337,5°
		1500: { -0.92, 0, 0, 0.38 }, //315°
		1650: { -0.83, 0, 0, 0.55 }, //292,5°
		1800: { -0.707, 0, 0, 0.707 }, //270°
		1950: { -0.55, 0, 0, 0.83 }, //247,5°
		2100: { -0.38, 0, 0, 0.92 }, //225°
		2250: { -0.19, 0, 0, 0.98 }, //202,5°
		2400: { 0, 0, 0, 1 }, //180°
	}
для вращения по другим осям поменяйте плоскость, короче тоже самое, те же цифры только ось меняем
вращение по оси y
если вращение только по одной оси y, то x=0,z=0
		Rotation 17 {
		Linear,
		0: { 0, 0, 0, 1 }, //180°
		150: { 0, 0.19, 0, 0.98 }, //157.5°
		300: { 0, 0.38, 0, 0.92 }, //135°
		450: { 0, 0.55, 0, 0.83 }, //112.5°
		600: { 0, 0.707, 0, 0.707 }, //90°
		750: { 0, 0.83, 0, 0.55 }, //67.5°
		900: { 0, 0.92, 0, 0.38 }, //45°
		1050: { 0, 0.98, 0, 0.19 }, //22.5°
		1200: { 0, 1, 0, 0 }, //0°
		1350: { 0, -0.98, 0, 0.19 }, //337,5°
		1500: { 0, -0.92, 0, 0.38 }, //315°
		1650: { 0, -0.83, 0, 0.55 }, //292,5°
		1800: { 0, -0.707, 0, 0.707 }, //270°
		1950: { 0, -0.55, 0, 0.83 }, //247,5°
		2100: { 0, -0.38, 0, 0.92 }, //225°
		2250: { 0, -0.19, 0, 0.98 }, //202,5°
		2400: { 0, 0, 0, 1 }, //180°
	}
вращение по оси z
если вращение только по одной оси z, то x=0,y=0
		Rotation 17 {
		Linear,
		0: { 0, 0, 0, 1 }, //180°
		150: { 0, 0, 0.19, 0.98 }, //157.5°
		300: { 0, 0, 0.38, 0.92 }, //135°
		450: { 0, 0, 0.55, 0.83 }, //112.5°
		600: { 0, 0, 0.707, 0.707 }, //90°
		750: { 0, 0, 0.83, 0.55 }, //67.5°
		900: { 0, 0, 0.92, 0.38 }, //45°
		1050: { 0, 0, 0.98, 0.19 }, //22.5°
		1200: { 0, 0, 1, 0 }, //0°
		1350: { 0, 0, -0.98, 0.19 }, //337,5°
		1500: { 0, 0, -0.92, 0.38 }, //315°
		1650: { 0, 0, -0.83, 0.55 }, //292,5°
		1800: { 0, 0, -0.707, 0.707 }, //270°
		1950: { 0, 0, -0.55, 0.83 }, //247,5°
		2100: { 0, 0, -0.38, 0.92 }, //225°
		2250: { 0, 0, -0.19, 0.98 }, //202,5°
		2400: { 0, 0, 0, 1 }, //180°
	}
в том проблема, хз че куда прописывать...
18
8gabriel8:
OVOgenez:
8gabriel8, если че я в моделинге нуб(
Поэтому и поясняю.
Хочешь сказать сделать для 3 костей разные оси?
26
Это просто вариант, как понадобится вращать.
OVOgenez:
ща кину другую модель дамми
Это что и зачем?
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.