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 ( ) тут левша с левшою говорит!
направление прилагаемой силы к ударяемому обьекту = -(-направление движения ударяющего обьекта + отражение от направления движения ударяющего обьекта);
Или упрощенный вариант:
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 |
|
| |