Я вот думал, в чём сложность мовевитча? Вот представим: Есть два тела, одно присобачено к другому. И чтобы они не отсоединились, надо просто смещать одно тело на столько, на сколько сместилось второе. С поворотом та же фигня... В чём сложность? Это ж легко
Их дают в институте на первом курсе, есличё.
А школьникам незачем писать код, им надо в ВоВ играть, ну или там я не знаю, ретрибушен делать (как я в своё время)
Добавлено 14-04-2013 в 16:11:
Цитата:
ONeiLL писал: В чём сложность?
Основная сложность - понять, куда вставлять код.
Но опять же, это зависит от того, как именно будет решаться задача.
Но у себя в движке вообще очень легко делать. Я вот просто брал и объединял все тела в одно целое, и дальше физику считал уже для одного целого тела, а не для 100 приатаченых
XaeroX писал: А как тогда приаттаченная дверь будет блокироваться другими энтитями? Нет, там надо со скоростями работать. а не тупо изменять положение.
Кстати есть идея запустить рекурсивно всё это дело. Создать фанк
Vector Move( Vector ololo );
Она принимает вектор, на который надо переместить тело, а возвращает значение, на которое получилось тело переместить...
C++ Source Code:
1
Vector Move( Vector ololo )
2
{
3
int MIN;
4
// тут надо опредилить на сколько мы можем сдвинуть тело, но я не знаю как
5
for( int i = 1; i <= количество приатаченых ентитей, i++ )
nemyax писал: Парент-система разве не заключается в перемножении матриц согласно заданной иерархии?
Не совсем, т.к. надо взаимно учитывать колоизацию.
Цитата:
ONeiLL писал: Она принимает вектор, на который надо переместить тело, а возвращает значение, на которое получилось тело переместить...
Молодец, а теперь реализуй это в рамках движка хл1.
Добавлено 14-04-2013 в 16:43:
Цитата:
nemyax писал: Так то ж на технических факультетах, а не на гомо... как их там.
На естественных тоже. На гомонитарных - нет, ну так гомонитариям вообще нечего в программирование лезть, пусть там свою историю исследуют, или языкознание, или что там у них.
-=DrTressi=- писал: Jarkoe Навряд-ли в этих древних модах были парент-системы. Там либо всё грамотно в оригинале сделано, либо Спирит. На спирите там либо Мовевитч, либо Моушн_менеджер.
-=DrTressi=- писал: Там либо всё грамотно в оригинале сделано, либо Спирит.
Выдержка из readme этого мода, прошу прощения за проблемы с кодировкой:
Цитата:
Efekty ohnщ a kouшщ(Vytvoшeno pro SIC, Zaloћeno na engine spirit of Half-life 1.2)
Вот тут как бы гадания и заканчиваются. Jarkoe если уж так охота собственную парент-систему, то поищи старый-старый Дядь Мишин тутор по Xash MoveWith System. Там описано что куда вставлять, так сказать принцип поймёшь. ИМХО, у тебя слишком много времени уйдёт на написание этой системы. Лучше возьми готовый тулкит (спирит 1.2, спирит 1.9 или ксашмод) и делай мод в своё удовольствие. Если всё-таки хочешь что-то действительно хорошее в этом плане (для самообразования), то лучше делать свой собственный движок или модифицировать чужой (у нас тут на форуме есть один, очень похож на халфовский ).
ONeiLL писал: Я вот думал, в чём сложность мовевитча? Вот представим: Есть два тела, одно присобачено к другому. И чтобы они не отсоединились, надо просто смещать одно тело на столько, на сколько сместилось второе. С поворотом та же фигня... В чём сложность? Это ж легко
Это конечно всё хорошо, но допустим кто то присабачил функ_валл. Сместить его оригин не составит труда, а вот повернешь ты из под халфы как? pev->angles будет его крутить вокруг его оригина который находиться в точке 0,0,0.