Новые сообщения Участники Правила Поиск

Страница 77 из 91«1275767778799091»
Модератор форума: SLAwww, thecre, RealCrazyMan 
Форум » Serious Sam » Серьёзное редактирование » Помощь по SDK для Serious Sam 1.05/1.07 (Вопросы по комплекту средств разработки для Serious Sam 1.)
Помощь по SDK для Serious Sam 1.05/1.07
SLAwww Воскресенье, 15.03.2015, 02:01 | Сообщение # 2281


Рряа? ^..^
Сообщений: 2366
Награды: 28
Замечания: 0%
 
Я тоже не понимаю, в чём смысл всей этой конструкции. Есть энтити, которая должна быть направлена туда же, куда направлен прицел игрока? Верно?

Where did all the dragons go?
We searched in the hills and we searched down the canyons,
we even scanned the depths of the caves with our armour, swords and lanterns.
Oh, if only had we seen him lurch, from his glorious skull covered perch.

CRACK went his claws and SMACK swipped the tail,
a ROAR of might, one big BITE.

and so ended our search.
STPROD Воскресенье, 15.03.2015, 08:42 | Сообщение # 2282


Сообщений: 412
Награды: 3
Замечания: 0%
 
Есть точка в центре, куда стреляет игрок. Мне надо сместить эту точку на чей-нибудь GetPlacement().pl_PositionVector(+FLOAT3D(0,1,0))
То есть, когда я стреляю, пули/projectile летел не в центр экрана, а на точку GetPlacement().pl_PositionVector(+FLOAT3D(0,1,0))
Положение отрисовки меня не интересует.
Я вообще занимаюсь методом копипаста, сам нихрена написать не могу.


kill me.
thecre Воскресенье, 15.03.2015, 12:01 | Сообщение # 2283


Сообщений: 3432
Награды: 28
Замечания: 0%
 
Цитата STPROD ()
Я вообще занимаюсь методом копипаста, сам нихрена написать не могу.

Тогда, возможно, пора переходить на Next Level.


STPROD Воскресенье, 15.03.2015, 13:07 | Сообщение # 2284


Сообщений: 412
Награды: 3
Замечания: 0%
 
То, что раньше запомнил, пишу, а так, приходиться повсюду лезть.
И кстати, метод 2280 посте не работает, прицел движется, но не туда. И да, снова не уточнил то, что я целюсь в CMovableModelObject, который всегда движется


kill me.
SLAwww Воскресенье, 15.03.2015, 14:09 | Сообщение # 2285


Рряа? ^..^
Сообщений: 2366
Награды: 28
Замечания: 0%
 
Цитата STPROD ()
Мне надо сместить эту точку на чей-нибудь GetPlacement().pl_PositionVector(+FLOAT3D(0,1,0))

Так тебе нужен autoaim на врага/игрока?


Where did all the dragons go?
We searched in the hills and we searched down the canyons,
we even scanned the depths of the caves with our armour, swords and lanterns.
Oh, if only had we seen him lurch, from his glorious skull covered perch.

CRACK went his claws and SMACK swipped the tail,
a ROAR of might, one big BITE.

and so ended our search.
STPROD Воскресенье, 15.03.2015, 14:12 | Сообщение # 2286


Сообщений: 412
Награды: 3
Замечания: 0%
 
SLAwww, точно. Из головы вылетело это слово. Но не для мультиплеера)

kill me.
SLAwww Воскресенье, 15.03.2015, 15:40 | Сообщение # 2287


Рряа? ^..^
Сообщений: 2366
Награды: 28
Замечания: 0%
 
Тогда ты не туда смотришь, вот кусок функции CalcWeaponPosition:
Код
CPlacement3D plView = ((CPlayer &)*m_penPlayer).en_plViewpoint;
      plView.pl_PositionVector(2)+= ((CPlayerAnimator&)*((CPlayer &)*m_penPlayer).m_penAnimator).
        m_fEyesYOffset;
      plPos.RelativeToAbsoluteSmooth(plView);
      plPos.RelativeToAbsoluteSmooth(m_penPlayer->GetPlacement());

Так находится позиция выстрела. Соответственно, тебе нужно повернуть эту позицию. То есть, если есть какой-то m_penTarget, то будет примерно так (вставлять после существующего куска):
Код
FLOAT3D vToTarget = m_penTarget->GetPlacement().pl_PositionVector - plPos.pl_PositionVector;
vToTarget.Normalize();
ANGLE3D aToTarget;
DirectionVectorToAnglesNoSnap(vToTarget, aToTarget);
CPlacement3D plFiringPos(plPos.pl_PositionVector, aToTarget);


Where did all the dragons go?
We searched in the hills and we searched down the canyons,
we even scanned the depths of the caves with our armour, swords and lanterns.
Oh, if only had we seen him lurch, from his glorious skull covered perch.

CRACK went his claws and SMACK swipped the tail,
a ROAR of might, one big BITE.

and so ended our search.
STPROD Воскресенье, 15.03.2015, 17:34 | Сообщение # 2288


Сообщений: 412
Награды: 3
Замечания: 0%
 
Спасибо, попробую

Добавлено (15.03.2015, 17:00)
---------------------------------------------
Добавил в конце plPos = plFiringPos и всё сработало, спасибо.

Добавлено (15.03.2015, 17:34)
---------------------------------------------
Кстати, ещё, перед plPos = plFiringPos как сделать проверку, какая дистанция от прицела до m_penTarget, например, если fDistance < 16 (пикселей, наверно) { plPos = plFiringPos; }

kill me.
SLAwww Воскресенье, 15.03.2015, 18:21 | Сообщение # 2289


Рряа? ^..^
Сообщений: 2366
Награды: 28
Замечания: 0%
 
Тебе нужно измерять не пиксели, а угол отклонения. Получи нормированный вектор от viewpoint'a к прицелу, и ещё один от viewpoint'a к цели, выполни скалярное умножение и получишь угол между ними. Если угол достаточно маленький, включай autoaim.

Where did all the dragons go?
We searched in the hills and we searched down the canyons,
we even scanned the depths of the caves with our armour, swords and lanterns.
Oh, if only had we seen him lurch, from his glorious skull covered perch.

CRACK went his claws and SMACK swipped the tail,
a ROAR of might, one big BITE.

and so ended our search.
STPROD Воскресенье, 15.03.2015, 19:05 | Сообщение # 2290


Сообщений: 412
Награды: 3
Замечания: 0%
 
Что такое скалярное умножение? Х_Х

kill me.
thecre Воскресенье, 15.03.2015, 19:35 | Сообщение # 2291


Сообщений: 3432
Награды: 28
Замечания: 0%
 
https://ru.wikipedia.org/wiki....8%D0%B5

STPROD Воскресенье, 15.03.2015, 20:08 | Сообщение # 2292


Сообщений: 412
Награды: 3
Замечания: 0%
 
Что-то я сделал не так, да?
Код
FLOAT3D vToEnemy, vToCenter;
    vToEnemy = NearestEnemy()->GetPlacement().pl_PositionVector+FLOAT3D(0,0.75f,0) - plPos.pl_PositionVector;
    vToEnemy.Normalize();
    vToCenter = m_vRayHit - plPos.pl_PositionVector;
    FLOAT3D vAngle = vToCenter(1)*vToEnemy(1)+vToCenter(2)*vToEnemy(2)+vToCenter(3)*vToEnemy(3);
    if (vAngle(1) < 30 && vAngle(2) < 30 && vAngle(3) < 30) {
   plPos = plFiringPos;
    }


kill me.
SLAwww Воскресенье, 15.03.2015, 20:19 | Сообщение # 2293


Рряа? ^..^
Сообщений: 2366
Награды: 28
Замечания: 0%
 
Скалярное произведение - это число, а не вектор. У него тип FLOAT, а не FLOAT3D. И ещё, ты забыл нормализовать vToCenter. И ещё, от скалярного произведения надо взять арккосинус, это и будет угол в радианах. А этот угол нужно ограничить, чтобы не получались отрицательные значения (если меньше 0, то прибавить 2*PI).

Where did all the dragons go?
We searched in the hills and we searched down the canyons,
we even scanned the depths of the caves with our armour, swords and lanterns.
Oh, if only had we seen him lurch, from his glorious skull covered perch.

CRACK went his claws and SMACK swipped the tail,
a ROAR of might, one big BITE.

and so ended our search.
STPROD Воскресенье, 15.03.2015, 20:33 | Сообщение # 2294


Сообщений: 412
Награды: 3
Замечания: 0%
 
Вау

Добавлено (15.03.2015, 20:33)
---------------------------------------------
И я опять тупить начинаю, потому, что википедия не помогает

Код
FLOAT3D vToEnemy, vToCenter;
    vToEnemy = NearestEnemy()->GetPlacement().pl_PositionVector+FLOAT3D(0,0.75f,0) - plPos.pl_PositionVector;
    vToEnemy.Normalize();
    vToCenter = m_vRayHit - plPos.pl_PositionVector;
    vToCenter.Normalize();
    FLOAT fAngle = vToCenter(1)*vToEnemy(1)+vToCenter(2)*vToEnemy(2)+vToCenter(3)*vToEnemy(3);
    FLOAT fNormAngle = ACos(fAngle);
    if (fNormAngle < 0) { fNormAngle += 2*PI; }
    if (fNormAngle < 30) {
   plPos = plFiringPos;
   hud_fCrosshairScale = 5.0f;
    }


kill me.
SLAwww Воскресенье, 15.03.2015, 20:53 | Сообщение # 2295


Рряа? ^..^
Сообщений: 2366
Награды: 28
Замечания: 0%
 
А в чём проблема?

Where did all the dragons go?
We searched in the hills and we searched down the canyons,
we even scanned the depths of the caves with our armour, swords and lanterns.
Oh, if only had we seen him lurch, from his glorious skull covered perch.

CRACK went his claws and SMACK swipped the tail,
a ROAR of might, one big BITE.

and so ended our search.
STPROD Воскресенье, 15.03.2015, 20:55 | Сообщение # 2296


Сообщений: 412
Награды: 3
Замечания: 0%
 
А оно работает либо через раз, либо он целится не зависимо от угла на 360 градусов

kill me.
SLAwww Понедельник, 16.03.2015, 01:29 | Сообщение # 2297


Рряа? ^..^
Сообщений: 2366
Награды: 28
Замечания: 0%
 
Выведи fNormAngle на экран с помощью CPrintF и посмотри, какие там числа проскакивают перед проверкой на отрицательность:
CPrintF("Norm Angle: %f\n", fNormAngle);


Where did all the dragons go?
We searched in the hills and we searched down the canyons,
we even scanned the depths of the caves with our armour, swords and lanterns.
Oh, if only had we seen him lurch, from his glorious skull covered perch.

CRACK went his claws and SMACK swipped the tail,
a ROAR of might, one big BITE.

and so ended our search.
CAHEK Вторник, 07.04.2015, 06:12 | Сообщение # 2298


Сообщений: 698
Награды: 7
Замечания: 0%
 
Ситуация.
Хочу сделать в тригере несколько граф "Message", что бы они показывались одновременно в несколько строчек. Полазив в коде я вышел на ссылку функцию "PrintCentrMessage" с помощью которой появляется сообщение(написал коряво т.к. исходников под рукой нет). А саму функцию так и не нашел.
1. Где она ?
2. Как находить функции (что бы каждый раз не спрашивать на форуме) ?
3. Может есть способ проще ?


Всё очень серьёзно.
P.S. Не пишите мне на Email, пишите в Л.С.
STPROD Вторник, 07.04.2015, 16:52 | Сообщение # 2299


Сообщений: 412
Награды: 3
Замечания: 0%
 
В прикреплении скрин, как искать. Если функции не нашёл или где-то она просто написана как "sth Function(arguments)...", значит она в самом движке.
Прикрепления: 5699482.jpg(86Kb)


kill me.
rtemiy Воскресенье, 12.04.2015, 00:42 | Сообщение # 2300


Сообщений: 30
Награды: 5
Замечания: 0%
 
А как добавить новую поверхность? (Имеется ввиду типа Standart или Sand)

http://vk.com/rtemiy
vanya109 Воскресенье, 12.04.2015, 11:10 | Сообщение # 2301


Сообщений: 227
Награды: 5
Замечания: 0%
 
Здравствуйте!
1. Скажите как увеличить мясо (например убил гнаара бензопилой, мясо больше стало)?
2. Как добавить звуки металла когда хожу и когда стреляешь на пол - звук, (я добавил новый тип - "metal")


hripyshanya Воскресенье, 12.04.2015, 11:16 | Сообщение # 2302


Сообщений: 32
Награды: 0
Замечания: 0%
 
Цитата vanya109 ()
2. Как добавить звуки металла когда хожу и когда стреляешь на пол - звук, (я добавил новый тип - "metal")

Не знаю, мои познания в SED не велики, но посмотри как это сделано, например в D-6.

Цитата vanya109 ()
1. Скажите как увеличить мясо (например убил гнаара бензопилой, мясо больше стало)?

Попробуй просто увеличить модель куска мяса, если это подойдет :)



Я специально не меняю свою Windows XP х32 только ради Сэма...
vanya109 Воскресенье, 12.04.2015, 11:22 | Сообщение # 2303


Сообщений: 227
Награды: 5
Замечания: 0%
 
hripyshanya,
Цитата hripyshanya ()
Не знаю, мои познания в SED не велики, но посмотри как это сделано, например в D-6.

Тогда мне нужны SDK D-6, а их нету, мне лучше узнать как сделать!
Цитата hripyshanya ()
Попробуй просто увеличить модель куска мяса, если это подойдет

Мне нужно количество мясо увеличить, а не размер модели увеличить!


Vanya109
http://i.imgur.com/GllGyPA.gif
hripyshanya Воскресенье, 12.04.2015, 11:42 | Сообщение # 2304


Сообщений: 32
Награды: 0
Замечания: 0%
 
Цитата vanya109 ()
Тогда мне нужны SDK D-6, а их нету, мне лучше узнать как сделать!

Ну если с этим я тупанул, то:
Цитата vanya109 ()
Мне нужно количество мясо увеличить, а не размер модели увеличить!

Лови скрин. Слева четыре кусочка поменьше, справа четыре кусочка в два раза больше. Только не говори что визуально не создается впечатление, в том что правая кучка больше.

Прикрепления: 0871390.jpg(88Kb)



Я специально не меняю свою Windows XP х32 только ради Сэма...
vanya109 Воскресенье, 12.04.2015, 11:44 | Сообщение # 2305


Сообщений: 227
Награды: 5
Замечания: 0%
 
Цитата hripyshanya ()
Лови скрин. Слева четыре кусочка поменьше, справа четыре кусочка в два раза больше. Только не говори что визуально не создается впечатление, в том что правая кучка больше.

Я же говорю : мне нужно количество, а не размер!


Vanya109
http://i.imgur.com/GllGyPA.gif
STPROD Воскресенье, 12.04.2015, 12:02 | Сообщение # 2306


Сообщений: 412
Награды: 3
Замечания: 0%
 
m_fBodyParts отвечает за это самое количество в каждом унаследованном от EnemyBase монстре

kill me.
CAHEK Среда, 15.04.2015, 08:09 | Сообщение # 2307


Сообщений: 698
Награды: 7
Замечания: 0%
 
Вопросы.
1. Как можно вывести текст на экран, кроме как через функцию PrintCenterMessage.
2. Я с клонировал ентию "Damager" и переделал ее так.
Код

           if (penVictim!=NULL) {
             if (!(penVictim==m_penLastDamaged && _pTimer->CurrentTick()<m_tmLastDamage+0.1f))
             {
//            InflictDirectDamage(penVictim, penInflictor,  m_dmtType, m_fAmmount,  
//              penVictim->GetPlacement().pl_PositionVector, FLOAT3D(0,1,0));
//              m_penLastDamaged = penVictim;
//              m_tmLastDamage = _pTimer->CurrentTick();
      ((Lc*)&*m_penLastDamaged)->Funkcia(m_iNOMER);     Пробовал по очереди
                           ((Lc*)&*penVictim)->Funkcia(m_iNOMER);            Пробовал по очереди

У личинки (это враг) добавил функцию
Код

void Funkcia(INDEX m_iNOMER) {
m_penMarker = NULL;
     switch (m_iNOMER) {
            case 0:
            GetModelInstance()->AddAnimation(idzero, AN_LOOPING|AN_NORESTART|AN_CLEAR,1,0);
            break;
            case 1:
            Prig();
     break;      
            case 2:
            GetModelInstance()->AddAnimation(idL1, AN_LOOPING|AN_NORESTART|AN_CLEAR,1,0);
     break;           
     default: ASSERT(default);
     }
   }

В едиторе поставил тачфилд, который работает только по врагам.
При попадании Личинки на тачфилд игра вылетает в 50% случаев. В остальные 50% все работает как надо.


Всё очень серьёзно.
P.S. Не пишите мне на Email, пишите в Л.С.
thecre Среда, 15.04.2015, 12:20 | Сообщение # 2308


Сообщений: 3432
Награды: 28
Замечания: 0%
 
Советую запускать в режиме отладки. Если студия настроена правильно, то при вылете ты сможешь посмотреть, на каком именно моменте возникла проблема, а также значения переменных в этот момент.

SLAwww Среда, 15.04.2015, 20:46 | Сообщение # 2309


Рряа? ^..^
Сообщений: 2366
Награды: 28
Замечания: 0%
 
Что это вообще за кустарный метод с AddAnimation? Ты ведь не добавляешь к модели новую анимацию.

Where did all the dragons go?
We searched in the hills and we searched down the canyons,
we even scanned the depths of the caves with our armour, swords and lanterns.
Oh, if only had we seen him lurch, from his glorious skull covered perch.

CRACK went his claws and SMACK swipped the tail,
a ROAR of might, one big BITE.

and so ended our search.
CAHEK Четверг, 16.04.2015, 06:20 | Сообщение # 2310


Сообщений: 698
Награды: 7
Замечания: 0%
 
В оригинале я планировал выполнить некую функцию. " Prig(); " А GetModelInstance()->AddAnimation(idL1, AN_LOOPING|AN_NORESTART|AN_CLEAR,1,0);
я поставил чисто что бы проверить работоспособность системы после того как заметил 50 % вылеты.
Я хотел реализовать выполнение врагом различных действий при попадании на тачфилд. Взял дамагер. Перепилил, что бы он в место урона, ентии которой попалась на тачфилд, отправил некое число "m_iNOMER". А у врага уже в зависимости от числа выполняем функцию.
P.S. Если это важно. У другой ентии я подобным образом вызываю и анимацию у СКА модели (Точнее мне подсказали сделать так). А, что есть идей лучше ?


Всё очень серьёзно.
P.S. Не пишите мне на Email, пишите в Л.С.
Форум » Serious Sam » Серьёзное редактирование » Помощь по SDK для Serious Sam 1.05/1.07 (Вопросы по комплекту средств разработки для Serious Sam 1.)
Страница 77 из 91«1275767778799091»
Поиск: