Мне нужна помощь со скрптом
| |
alex8 | Дата: Пятница, 28 Сентября 2012, 17:38 | Сообщение # 1 |
частый гость
Сейчас нет на сайте
| Подскажите каким скриптом связать Мышь и RigidBody так, что бы RigidBody двигался только по плоскости (например Terrain) Очень надо.... Заранее спасибо
|
|
| |
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 |
|
| |
|