Render.ru

Исчезание модели в анимации

tonline_kms65

Пользователь сайта
Рейтинг
4
#1
Всем здравствуйте.
Мне нужно что бы при анимации, 3D модель исчезала на последнем кадре. Как это можно сделать?
Скелетная анимация для игрового движка SourceMod, из 3D макса в формат .mdl.

Я пробовал делать модификатором Slice, пробовал при помощи Scale(как модели так и основной кости), Visibility Track - в максе всё выглядит просто прекрасно, как до компиляции доходит - всё, облом. Очевидно что вся анимация создана на костях, из за этого после компиляции с моделью не происходит изменений.
rockets_kill.jpg rockets_kill2.jpg
Видимо все эти методы хорошо работают с морфингом, со скелетной анимацией нужны какие то другие способы. Может быть кто нибудь с таким сталкивался?

Маленькие модельки можно просто спрятать куда нибудь внутри более крупной модели, а здесь модель не спрячешь, она большая.
 

tonline_kms65

Пользователь сайта
Рейтинг
4
#3
Может применить второй полностью прозрачный материал без отражений и проанимировать смену материалов?
Спасибо. Интересно. Попробую обязательно.
Это что то типа смены скила.
Хотя навряд-ли. Эксортер из макса в .smd не экспортирует модель без текстур. Понимает только текстуры. А уже в самом движке задаются свойства материала для этой текстуры.
Но я обязательно этот вариант попробую.
 
Последнее редактирование:

maiden666

Мастер
Рейтинг
93
#4
ха, убрать её за пределы видимости камеры со ступенчатой интерполяцией ключа, и все дела
 

tonline_kms65

Пользователь сайта
Рейтинг
4
#5
убрать её за пределы видимости камеры со ступенчатой интерполяцией ключа
Я так понимаю это все опять же для 3Dsmax.
Но мне нужно что бы модель исчезала в другом движке. В данном случае HL2. То-есть я из макса экспортирую модель в формат .smd, компилирую эту модель и потом использую её в игровом движке.
В самом 3dsmax все эти методы как раз работают на отлично.
Насчет камеры - камера в каждом движке своя. Там можно модель видеть с любой стороны, поэтому убрать за пределы видимости камеры - я даже не представляю себе такого, просто нереально.

Странно то что я не нахожу в инете подобных вопросов. Не поверю что ни у кого такой проблемы не возникало. Или я что то не так понимаю, или этот вопрос как то решен уже, но я об этом не знаю. Не пойму, как это делается в других игровых движках, например в Unity.
Конечно можно закодить, но зачем лишний раз грузить движек расчетами, когда это можно сделать просто анимацией.

Мне это нужно для моего плагина, где боевой дрон вооружен пулеметом и ракетами против людей. Я хочу дополнить Дрона ракетами, предназначенными против разного типа сущностей (не игроков).
То есть ракета отделяется от крепежа - как бы свободно падает, потом исчезает, и вот уже с этого момента пойдет кодинг. На месте исчезнувшей (анимацией) ракеты программно создается новая ракета с координатами исчезнувшей и го-го в полет. Это я пишу для более полной картины того что мне нужно.
Видео:
Скрин:
rcdronehelli.jpg
 
Последнее редактирование:

maiden666

Мастер
Рейтинг
93
#6
да какая разница , какой движок и какая камера? Любая. Если уж занимаешься кодингом, в нужном кадре задай ей позицию относительно камеры сзади, в какую бы сторону камера не смотрела, обьект всегда вне поле видимости
Хотя (я не разбираюсь в движках) убей не пойму, почему в этом кадре его просто тупо не удалить
 

tonline_kms65

Пользователь сайта
Рейтинг
4
#7
да какая разница , какой движок и какая камера? Любая. Если уж занимаешься кодингом, в нужном кадре задай ей позицию относительно камеры сзади, в какую бы сторону камера не смотрела, обьект всегда вне поле видимости
Хотя (я не разбираюсь в движках) убей не пойму, почему в этом кадре его просто тупо не удалить
Если дойдет до программиирования я разберусь.
Если кодировать, то получается нужно приаттачить для начала как минимум 8 самостоятельных моделей ракет. это даст массу возможностей для программирования но даст и нагрузку на игровой двигатель. В течении полета Дрона, как минимум раз в секунду, движку нужно будет постоянно контролировать точки крепления (аттачей). Это дополнительная нагрузка на движек.
Теперь насчет камеры - это опять же кодинг. Да и сделаешь на своем виде а как быть на клиентах? Тоже кодировать остается. Все это затратно для двигателя, особенно типа HL2.
Удалить программно - конечно это простой вариант, только если это одна целая модель (ей можно id присвоить и т.д.), а здесть получается нужно удалить кусок от целой модели. Не представляю как это сделать. Останется только вариант который я описал выше.

Поэтому я и хочу попробовать сделать удаление именно в анимации и замену программно. По моему это наименее затратный по ресурсам способ.
Я думал, по простоте своей душевной, что можно просто удалить модель в момент проигрывания анимации. А оказывается не всё в жизни так просто. Честно, не ожидал.
Если не получится - конечно останется программировать, там вариантов масса и они интереснее, но нагрузка.
 
Последнее редактирование:

tonline_kms65

Пользователь сайта
Рейтинг
4
#8
Пока сделал программно.

YouTube

YouTube Гейминг

Но это не то что я хотел. Так что вопрос остался. Хотелось бы решить этот вопрос.
 

Artemonim

Пользователь сайта
Рейтинг
2
#9
Наверняка кто-то делал что-то подобное для Gmod. Попробуй найти мод с NPC или техникой с подобной анимацией и посмотреть, как это реализовано автором
 
Сверху