Пятница, 22 Ноября 2024, 20:57

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Мне нужна помощь со скрптом
alex8Дата: Пятница, 28 Сентября 2012, 17:38 | Сообщение # 1
частый гость
Сейчас нет на сайте
Подскажите каким скриптом связать Мышь и RigidBody так, что бы RigidBody двигался только по плоскости (например Terrain) Очень надо.... Заранее спасибо smile

Nasa13Дата: Пятница, 28 Сентября 2012, 18:13 | Сообщение # 2
заслуженный участник
Сейчас нет на сайте
Code
Vector3 CursorLoc;

void Main()
{
     if (iInitializing())
     {

        CursorLoc.x = 0;
        CursorLoc.y = 12;
        CursorLoc.z = 0;
          
     }

     ///Control Cursor
     Vector3 PickLoc, PickVector, CamLoc, ScanDirection;
     iScreenRay(PickLoc,PickVector,Vector3(32*iMouseX()-16,12-24*iMouseY(),0),OBJ_66);
     iVectorLengthSet(ScanDirection,PickVector,300);

     iObjectLocation(OBJ_66,CamLoc);

     Vector3 ContactLoc,b;
     iObjectScan(OBJ_22,CamLoc,ScanDirection,0.01,ContactLoc,b);
     CursorLoc = ContactLoc;
     iObjectLocationSet(OBJ_0,CursorLoc);

      
}


66 - камера
22 - земля
0 - физ тело!
Если я правильно тебя понял...

Скрипт не мой!!! Я лишь, подкорректировал! Сделал удобный вариант!)


все люди одинаково полезны,говорил людоед туристам.

Мешает грудь? Спячь под "СПОЙЛЕР.*)

моя мини демка ,хоррор http://3drad-alec.ucoz.com/forum/6-39-1


Сообщение отредактировал Nasa13 - Пятница, 28 Сентября 2012, 18:14
alex8Дата: Пятница, 28 Сентября 2012, 18:42 | Сообщение # 3
частый гость
Сейчас нет на сайте
Nasa13, Спасибо Все работает. а можеш дописать так - что RigidBody фиксируется только при нажатии мыши на него?

Nasa13Дата: Пятница, 28 Сентября 2012, 18:44 | Сообщение # 4
заслуженный участник
Сейчас нет на сайте
Не понял...Это как?))) В смысле, чтобы он работал как курсор, когда зажмешь ЛКМ:?

все люди одинаково полезны,говорил людоед туристам.

Мешает грудь? Спячь под "СПОЙЛЕР.*)

моя мини демка ,хоррор http://3drad-alec.ucoz.com/forum/6-39-1
alex8Дата: Пятница, 28 Сентября 2012, 18:45 | Сообщение # 5
частый гость
Сейчас нет на сайте
Nasa13, Да, типо только при нажатии

Nasa13Дата: Пятница, 28 Сентября 2012, 18:47 | Сообщение # 6
заслуженный участник
Сейчас нет на сайте
Или что он захватывается, когда нажмешь на него?

Добавлено (28.09.2012, 18:47)
---------------------------------------------

Code
Vector3 CursorLoc;

void Main()
{
    if (iInitializing())
    {

       CursorLoc.x = 0;
       CursorLoc.y = 12;
       CursorLoc.z = 0;
        
    }

    ///Control Cursor
    if(iMouseButtonDown(0))
{

Vector3 PickLoc, PickVector, CamLoc, ScanDirection;
iScreenRay(PickLoc,PickVector,Vector3(32*iMouseX()-16,12-24*iMouseY(),0),OBJ_66);
iVectorLengthSet(ScanDirection,PickVector,300);

iObjectLocation(OBJ_66,CamLoc);

Vector3 ContactLoc,b;
iObjectScan(OBJ_22,CamLoc,ScanDirection,0.01,ContactLoc,b);
CursorLoc = ContactLoc;
iObjectLocationSet(OBJ_0,CursorLoc);
}
    
}


все люди одинаково полезны,говорил людоед туристам.

Мешает грудь? Спячь под "СПОЙЛЕР.*)

моя мини демка ,хоррор http://3drad-alec.ucoz.com/forum/6-39-1
alex8Дата: Пятница, 28 Сентября 2012, 18:48 | Сообщение # 7
частый гость
Сейчас нет на сайте
Только при нажатии на сам RigidBody он фиксируется с мышью, а когда отпускаю кнопку он отсоединяется, как то так... уж извени я просто обьяснять не умею

Nasa13Дата: Пятница, 28 Сентября 2012, 19:26 | Сообщение # 8
заслуженный участник
Сейчас нет на сайте
Code
Vector3 CursorLoc;
Vector3 CursorLoc1;
float distance;
void Main()
{
    if (iInitializing())
    {

       CursorLoc.x = 0;
       CursorLoc.y = 12;
       CursorLoc.z = 0;

       CursorLoc1.x = 0;
       CursorLoc1.y = 1;
       CursorLoc1.z = 0;
        
    }

    distance = iVectorLength(CursorLoc - CursorLoc1);  

if(iMouseButtonDown(0) && distance < 3 )
{
    Vector3 PickLoc, PickVector, CamLoc, ScanDirection;
    iScreenRay(PickLoc,PickVector,Vector3(32*iMouseX()-16,12-24*iMouseY(),0),OBJ_66);
    iVectorLengthSet(ScanDirection,PickVector,300);

   
    iObjectLocation(OBJ_66,CamLoc);

    Vector3 ContactLoc,b;
    iObjectScan(OBJ_22,CamLoc,ScanDirection,0.01,ContactLoc,b);
    CursorLoc = ContactLoc;
  iObjectLocationSet(OBJ_0,CursorLoc);
}
iObjectLocation(OBJ_0,CursorLoc);
     

    Vector3 PickLoc1, PickVector1, CamLoc1, ScanDirection1;
    iScreenRay(PickLoc1,PickVector1,Vector3(32*iMouseX()-16,12-24*iMouseY(),0),OBJ_66);
    iVectorLengthSet(ScanDirection1,PickVector1,300);

    iObjectLocation(OBJ_66,CamLoc1);

    Vector3 ContactLoc1,b1;
    iObjectScan(OBJ_22,CamLoc1,ScanDirection1,0.01,ContactLoc1,b1);
    CursorLoc1 = ContactLoc1;
    iObjectLocationSet(OBJ_88,CursorLoc1);
    
}


66 - камера
22 - земля
0 - физ тело!
88 - Меш тело!!!


все люди одинаково полезны,говорил людоед туристам.

Мешает грудь? Спячь под "СПОЙЛЕР.*)

моя мини демка ,хоррор http://3drad-alec.ucoz.com/forum/6-39-1
alex8Дата: Суббота, 29 Сентября 2012, 07:35 | Сообщение # 9
частый гость
Сейчас нет на сайте
Nasa13, Во да точно, прям в точку попал.... спасибо, вопрос закрыт!

Вот только есть и другой вопрос не по теме, тоже скрипт - как создать бота который только отбивает то что в него летит и двигаеться по заданому участку? Если несложно ответь, а! Пжалуста.




Сообщение отредактировал alex8 - Суббота, 29 Сентября 2012, 07:38
Nasa13Дата: Суббота, 29 Сентября 2012, 13:50 | Сообщение # 10
заслуженный участник
Сейчас нет на сайте
Не понял вопроса...Как отбивать??? Щитом? или чем?

все люди одинаково полезны,говорил людоед туристам.

Мешает грудь? Спячь под "СПОЙЛЕР.*)

моя мини демка ,хоррор http://3drad-alec.ucoz.com/forum/6-39-1
alex8Дата: Суббота, 29 Сентября 2012, 15:20 | Сообщение # 11
частый гость
Сейчас нет на сайте
Nasa13, Бот сам собой отбивает предметы которые в него летят, как сделать что б предметы держались на плоскости, а то при экспорте в dinamic у меня предметы прыгают!! хотя раньше нормально экспортились.



Сообщение отредактировал alex8 - Суббота, 29 Сентября 2012, 15:27
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг