С Новым годом! Форум программистов, компьютерный форум, киберфорум
Unity, Unity3D
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.93/40: Рейтинг темы: голосов - 40, средняя оценка - 4.93
3 / 2 / 1
Регистрация: 24.06.2016
Сообщений: 63

Как заставить объект придерживаться координат другого объекта?

16.11.2017, 19:19. Показов 7440. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть объекты Target и шар. Управляем Target, а шар постоянно катится в его направлении. Как заставить Target постоянно придерживаться координат X и Y, но заставить его двигаться по Z.
Управление как-бы от 3-го лица, по этому Target может двигаться только вперед/назад относительно своих локальных координат и вращаться.
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
void FixedUpdate () {
        if (Input.GetKey(KeyCode.W))
        {
            transform.Translate(Vector3.forward *Time.deltaTime* speed);
        }
        if (Input.GetKey(KeyCode.S))
        {
            transform.Translate(Vector3.back *Time.deltaTime* speed);
        }
        if (Input.GetKey(KeyCode.A))
        {
            transform.Rotate(Vector3.down * speedRotation);
        }
        if (Input.GetKey(KeyCode.D))
        {
            transform.Rotate(Vector3.up * speedRotation);
        }
    }
Данный скрипт работает хорошо только на идеально ровной площадке. Если нужно подняться по горе вверх или упасть в низ, шар падает/подымается, но Target, понятное дело, или зависает, или проходит сквозь подъем. А как сделать что б если шар падал, то и Target падал за ним, если прыгал, то и Target прыгал бы вместе с ним?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
16.11.2017, 19:19
Ответы с готовыми решениями:

(A*) Как заставить объект двигаться по точкам?
Есть рассчитанный с помощью A* путь.Внимание вопрос!Как заставить сферу пердолить по этим точкам?

Как создать объект на основе другого объекта
Добрый день, подскажите: есть к примеру объект: var myObj = {name: "Teddy", age: 20}; как создать другой объект, на основе...

Как из одного объекта получить объект другого класса?
Форумчане, подскажите. У меня есть два класса: class Category{ private $id = ''; private $parentId = ''; private...

2
136 / 131 / 43
Регистрация: 07.11.2017
Сообщений: 553
17.11.2017, 12:30
чтобы понимать как двигается шар, необходимо видеть и его код, а не только Target.

у вас есть противоречия
Цитата Сообщение от GLaD0S Посмотреть сообщение
Управляем Target, а шар постоянно катится в его направлении.
и
Цитата Сообщение от GLaD0S Посмотреть сообщение
как сделать что б если шар падал, то и Target падал за ним
Добавлено через 3 минуты
не видя кода можно только предположить что вам необходимо брать координаты Таргет и отнимать от них координаты Шара, таким образом получим новый вектор движения , который и нужно задать нашему шару.

Добавлено через 6 минут
https://docs.unity3d.com/ru/53... metic.html
0
3 / 2 / 1
Регистрация: 24.06.2016
Сообщений: 63
18.11.2017, 16:06  [ТС]
На шар просто воздействует сила в сторону Target.
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
public class HeroController : MonoBehaviour {
Vector3 difference;
public float speed ;
void Start () {
        heroRigbody = GetComponent<Rigidbody>();
}
void FixedUpdate () {
        // от позиции Target отнимаем позицию шара и на шар воздействует сила 
        // разности их позиций
        difference = target.position - transform.position;
        heroRigbody.AddForce(difference * speed);
    }
}
Добавлено через 4 часа 33 минуты
проблему сам решил. тему можете закрывать.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
18.11.2017, 16:06
Помогаю со студенческими работами здесь

Дополнить объект из другого объекта (как лучше сделать?)
Доброго времени суток! Есть два объекта - ответы и вопросы public class Answer { public int AnswerID { get; set; } ...

Как поместить объект выше или ниже другого объекта
По аналогии со слоями в фотошопе - как поместить первый объект над- или под- вторым? Например растровое изображение использовать как фон.

Объект не из класса, а из другого объекта
Вобщем есть такая интересная задачка: создать объект не из класса, а тиражировать из другого объекта. У меня есть идея: надо скопировать...

Привести объект к типу другого объекта
Нужно определить тип объекта1 и привести второй объект2 к типу объекта1 что-то вроде: Object объект1 = e.Source as Object; ...

Получить объект, который внутри другого объекта
Создаю ScrollViewer,затем создаю StackPanel и вкладываю в него еще пару элементов TextBlock: ScrollViewer scroll = new ScrollViewer(); ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Первый деплой
lagorue 16.01.2026
Не спеша развернул своё 1ое приложение в kubernetes. А дальше мне интересно создать 1фронтэнд приложения и 2 бэкэнд приложения развернуть 2 деплоя в кубере получится 2 сервиса и что-бы они. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит токи на L и напряжения на C в установ. режимах до и. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru