Суббота, 28 Декабря 2024, 15:10

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

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
AddForce-ContactPoint
levsha161Дата: Вторник, 16 Июня 2015, 17:33 | Сообщение # 1
был не раз
Сейчас нет на сайте
Ребят подскажите мне пожалуйста как реализовать такое чтобы: объект при столкновении с другим отскакивал в направление от их удара?!?!?
Мануал мне почему то много не дал.
Сам скрипт не получается написать.
Прошу вашей помощи.


Сообщение отредактировал levsha161 - Вторник, 16 Июня 2015, 17:33
ЛевшаДата: Вторник, 16 Июня 2015, 18:14 | Сообщение # 2
почти ветеран
Сейчас нет на сайте
Vector3.Reflect();

X.cor.R (Prologue)

Сообщение отредактировал Левша - Вторник, 16 Июня 2015, 18:15
levsha161Дата: Вторник, 16 Июня 2015, 18:51 | Сообщение # 3
был не раз
Сейчас нет на сайте
Разве это подойдет мне нужно чтобы объекту задалась сила в направлении от удара, а не отражение
seamanДата: Вторник, 16 Июня 2015, 19:34 | Сообщение # 4
старожил
Сейчас нет на сайте
А что Вам мешает приложить силу в этом направлении?
ЗЫ: тут левша с левшою говорит!..
levsha161Дата: Вторник, 16 Июня 2015, 19:59 | Сообщение # 5
был не раз
Сейчас нет на сайте
Цитата seaman ()
А что Вам мешает приложить силу в этом направлении?

Так я и спрашиваю как?!
seamanДата: Вторник, 16 Июня 2015, 21:26 | Сообщение # 6
старожил
Сейчас нет на сайте
Вам игру написать?
Для начала узнайте как вообще приложить силу. Затем почитайте про то, что указал Левша. Объедините это -получите результат.
ЗЫ: может кто из форумчан напишет код человеку?
levsha161Дата: Вторник, 16 Июня 2015, 22:23 | Сообщение # 7
был не раз
Сейчас нет на сайте
Я пробовал не выходит я не знаю как объединить contact.point и addforce с направление от поинта,поэтому и спросил,мб кто то приведет пример кода?!?!
ЛевшаДата: Вторник, 16 Июня 2015, 23:54 | Сообщение # 8
почти ветеран
Сейчас нет на сайте
Цитата seaman ()
тут левша с левшою говорит!

smile

направление прилагаемой силы к ударяемому обьекту = -(-направление движения ударяющего обьекта + отражение от направления движения ударяющего обьекта);

Или упрощенный вариант:

void OnCollisionEnter(Collision other) {
dir = -other.contacts[0].normal.up;
}


Тут точность не гарантирована...


X.cor.R (Prologue)

Сообщение отредактировал Левша - Среда, 17 Июня 2015, 00:04
RangerДата: Среда, 17 Июня 2015, 04:11 | Сообщение # 9
почти ветеран
Сейчас нет на сайте
Цитата Левша ()
void OnCollisionEnter(Collision other) {
dir = -other.contacts[0].normal.up;
}

не пойдет, если столкновение будет вскользь, или сложные коллайдеры.

самое простое.(если речь идет об "отскоке")
Код
dir = (one.transform.position-two.transform.position).normalized*velocity;


или так:
Код
void OnCollisionEnter(Collision collision) {
dir = collision.relativeVelocity*-1;

}




Сообщение отредактировал Ranger - Среда, 17 Июня 2015, 04:20
  • Страница 1 из 1
  • 1
Поиск:

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