Толчок
Здравствуйте. Есть главный объект - "игрок"; за ним ходят "враги". Если их много, то они окружают "игрока", и он не может сдвинуться с места, вот.
Хочу сделать так, чтобы при нажатии на Пробел, например, все "враги" отталкивались от "игрока" на определенное расстояние. Ну так вот, как это сделать? |
Ответ: Толчок
|
Ответ: Толчок
Я подозревал, что так кто-то подумает..
Ну а по теме что-то есть? |
Ответ: Толчок
http://docs.unity3d.com/ScriptRefere...sionForce.html
Это если с физикой делать. |
Ответ: Толчок
А если без нее? мне она как-то не особо нужна. Лишний геморрой с ней.
|
Ответ: Толчок
А если без неё, то находишь все объекты в радиусе вокруг игрока, вычисляешь вектор по направлению от игрока и двигаешь по этому вектору.
|
Ответ: Толчок
Ладно..давайте с физикой все-таки попробуем разобраться.
AddExplosionForce не работает, вот. |
Ответ: Толчок
На врагах ригидбоди висит?
|
Ответ: Толчок
Конечно, епт. "Ты за меня придурка не держи" (с)
|
Ответ: Толчок
Я не работаю с юнити но : Поиграй с массой тел и меняй типы прилагаемых сил.
|
Ответ: Толчок
Цитата:
|
Ответ: Толчок
Вот до толчка.
Вот после (ну или во время него). Ну то есть, они как бы покосились чуть-чуть и все, вот. ----- О.о Вот это да, кто кого оскорбил-то? |
Ответ: Толчок
Картинки ничего не показывают. Покажи состав компонентов на врагах и сам скрипт применения сил. Тогда будет понятно почему не работает.
Цитата:
|
Ответ: Толчок
Код:
using UnityEngine; ----- |
Ответ: Толчок
Цитата:
|
Ответ: Толчок
1. Не понятно на каком объекте этот скрипт.
2. Если такой скрипт на игроке, то он применяет силу к игроку. 3. Для поиска врагов можно использовать теги. Наприер если всем врагам назначить тег Enemy, то потом можно получить все объекты с этим тегом http://docs.unity3d.com/ScriptRefere...tsWithTag.html и применить к ним что-то. Например силу взрыва. 4. Если опираться на твой подход, то применить к врагу силу можно так: PHP код:
|
Ответ: Толчок
Код:
using UnityEngine; Assets/Handmade/Enemy/spacebarImpulse.cs(18,45): warning CS0219: The variable `enemy' is assigned but its value is never used При нажатии на пробел: NullReferenceException: Object reference not set to an instance of an object spacebarImpulse.Update () (at Assets/Handmade/Enemy/spacebarImpulse.cs:19) |
Ответ: Толчок
ну не будь дураком.
Цитата:
ты делаешь цикл по врагам и НЕ ЮЗАЕШЬ объект enemy. |
Ответ: Толчок
Код:
foreach (GameObject enemy in Enemies) { Цитата:
|
Ответ: Толчок
Цитата:
|
Ответ: Толчок
Ох..ну вот, я ведь сказал, что это непросто. с:
Ну..теперь просто ничего не происходит. Вернее, они не отталкиваются, а просто наклоняются в сторону игрока. |
Ответ: Толчок
больше силу попробуй ставить
|
Ответ: Толчок
Бинго! Как жахнуло-то. с:
Большое спасибо, взрыв сам работает. Но вы бы не могли мне еще объяснить почему, когда я нажимаю второй раз на пробел (ну, скрипты обратно включаются), то все враги встают на те места, откуда улетели? P.S.: A* Pathfinding Project...кажется, в нем причина..вы случаем не имели с ним дело? |
Ответ: Толчок
Цитата:
Оффтоп удален. |
Ответ: Толчок
Ну так что, никто не проконсультирует?
|
Ответ: Толчок
Вероятно никто не использует эту систему поиска путей здесь. Скорее всего тебе надо для каждого объекта после взрыва пересчитать позицию на сетке навигации, а потом заново включать поиск пути к игроку.
|
Часовой пояс GMT +4, время: 21:46. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot