HLFX.Ru Forum Страницы (3): « 1 [2] 3 »
Показать все 40 сообщений этой темы на одной странице

HLFX.Ru Forum (https://hlfx.ru/forum/index.php)
- Half-Life SDK (https://hlfx.ru/forum/forumdisplay.php?forumid=8)
-- Как можно создать систему Parent? (https://hlfx.ru/forum/showthread.php?threadid=3880)


Отправлено ONeiLL 14-04-2013 в 09:08:

Я вот думал, в чём сложность мовевитча? Вот представим: Есть два тела, одно присобачено к другому. И чтобы они не отсоединились, надо просто смещать одно тело на столько, на сколько сместилось второе. С поворотом та же фигня... В чём сложность? Это ж легко


Отправлено XaeroX 14-04-2013 в 09:11:

Цитата:
nemyax писал:
Матриц и преобразований не дают

Их дают в институте на первом курсе, есличё.
А школьникам незачем писать код, им надо в ВоВ играть, ну или там я не знаю, ретрибушен делать (как я в своё время)

Добавлено 14-04-2013 в 16:11:

Цитата:
ONeiLL писал:
В чём сложность?

Основная сложность - понять, куда вставлять код.
Но опять же, это зависит от того, как именно будет решаться задача.

__________________

xaerox on Vivino


Отправлено ONeiLL 14-04-2013 в 09:19:

Цитата:
XaeroX писал:
Основная сложность - понять, куда вставлять код.
Но опять же, это зависит от того, как именно будет решаться задача

В ХЛ в какой нить тчинк? Считаем изменение поворота и положения, и применяем это ко всем присобаченным ентитям...


Отправлено XaeroX 14-04-2013 в 09:22:

Цитата:
ONeiLL писал:
Считаем изменение поворота и положения, и применяем это ко всем присобаченным ентитям...

Наивный. А как тогда приаттаченная дверь будет блокироваться другими энтитями? Нет, там надо со скоростями работать. а не тупо изменять положение.

Добавлено 14-04-2013 в 16:22:

Да вы попробуйте, попробуйте. Тут надо не просто фантазировать, а сразу код писать и смотреть, что к чему.

__________________

xaerox on Vivino


Отправлено ONeiLL 14-04-2013 в 09:23:

Но у себя в движке вообще очень легко делать. Я вот просто брал и объединял все тела в одно целое, и дальше физику считал уже для одного целого тела, а не для 100 приатаченых


Отправлено nemyax 14-04-2013 в 09:30:

Цитата:
XaeroX писал:
Их дают в институте на первом курсе, есличё.

Так то ж на технических факультетах, а не на гомо... как их там.
Парент-система разве не заключается в перемножении матриц согласно заданной иерархии?


Отправлено ONeiLL 14-04-2013 в 09:36:

Цитата:
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++ )
6
    MIN = min( MIN, приатаченные[ i ]->Move() );
7
  this->origin += MIN;
8
  return MIN;
9
}


Отправлено XaeroX 14-04-2013 в 09:43:

Цитата:
nemyax писал:
Парент-система разве не заключается в перемножении матриц согласно заданной иерархии?

Не совсем, т.к. надо взаимно учитывать колоизацию.
Цитата:
ONeiLL писал:
Она принимает вектор, на который надо переместить тело, а возвращает значение, на которое получилось тело переместить...

Молодец, а теперь реализуй это в рамках движка хл1.

Добавлено 14-04-2013 в 16:43:

Цитата:
nemyax писал:
Так то ж на технических факультетах, а не на гомо... как их там.

На естественных тоже. На гомонитарных - нет, ну так гомонитариям вообще нечего в программирование лезть, пусть там свою историю исследуют, или языкознание, или что там у них.

__________________

xaerox on Vivino


Отправлено ONeiLL 14-04-2013 в 10:50:

Цитата:
XaeroX писал:
Молодец, а теперь реализуй это в рамках движка хл1.

Появилась одна идея...

// тут надо опредилить на сколько мы можем сдвинуть тело, но я не знаю как

вот тут перемещать тело вдоль вектора ololo на очень малую величину, пока это тело ни к чему не прикоснется.


Отправлено Jarkoe 14-04-2013 в 10:54:

Цитата:
-=DrTressi=- писал:
Jarkoe Навряд-ли в этих древних модах были парент-системы. Там либо всё грамотно в оригинале сделано, либо Спирит. На спирите там либо Мовевитч, либо Моушн_менеджер.



http://www.youtube.com/watch?v=hmUQ...eature=youtu.be

А это что?


Отправлено XaeroX 14-04-2013 в 10:59:

Jarkoe
Вероятно, это таки уже спирит.

__________________

xaerox on Vivino


Отправлено Ku2zoff 14-04-2013 в 11:51:

Цитата:
-=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 или ксашмод) и делай мод в своё удовольствие. Если всё-таки хочешь что-то действительно хорошее в этом плане (для самообразования), то лучше делать свой собственный движок или модифицировать чужой (у нас тут на форуме есть один, очень похож на халфовский ).


Отправлено XaeroX 14-04-2013 в 12:06:

Если хочешь что-то освоить - напиши код сам, тут без вариантов.

__________________

xaerox on Vivino


Отправлено ONeiLL 14-04-2013 в 12:07:

http://hlfx.ru/forum/showthread.php...MoveWith+System
Я так понял что этот мовевитч такой как я писал(тоесть без учёта колоизации)?


Отправлено pRoxxx 14-04-2013 в 12:19:

Цитата:
ONeiLL писал:
Я вот думал, в чём сложность мовевитча? Вот представим: Есть два тела, одно присобачено к другому. И чтобы они не отсоединились, надо просто смещать одно тело на столько, на сколько сместилось второе. С поворотом та же фигня... В чём сложность? Это ж легко

Это конечно всё хорошо, но допустим кто то присабачил функ_валл. Сместить его оригин не составит труда, а вот повернешь ты из под халфы как? pev->angles будет его крутить вокруг его оригина который находиться в точке 0,0,0.


Временная зона GMT. Текущее время 11:16. Страницы (3): « 1 [2] 3 »
Показать все 40 сообщений этой темы на одной странице

На основе vBulletin версии 2.3.0
Авторское право © Jelsoft Enterprises Limited 2000 - 2002.
Дизайн и программирование: Crystice Softworks © 2005 - 2024