Форум программистов, компьютерный форум, киберфорум
Unity, Unity3D
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.88/8: Рейтинг темы: голосов - 8, средняя оценка - 4.88
0 / 0 / 0
Регистрация: 08.05.2022
Сообщений: 5

Нужно привязать к движущемуся объекту другой

09.05.2022, 13:04. Показов 2009. Ответов 3

Студворк — интернет-сервис помощи студентам
Есть задача: "Игрок бежит по извилистой дороге, на которой появляются зоны, забегая в которые количество бегунов увеличивается или уменьшается. К концу трассы придумать событие. Много уровней"
1) Извилистая дорога - готова
2) Движения по ней сделаны по технике 3 дорог, то есть игрок может передвигаться только из одной в другую (не произвольно)
3) Зоны тоже готовы (через trigger), но появляется проблема, когда появляется второй бегун, он либо в нем, либо где-то далеко и двигается он не синхронно с ним
мне бы хотелось как-то сделать, чтобы последующие бегуны, которые будут появляться, либо просто привязались к главному, либо настроить их так, чтобы все было синхронно и не друг в друге. Не знаю как это сделать, нужна помощь 0_0.

Скрипт для бегунов :
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using Redcode.Extensions;
using Redcode.Moroutines;
using Redcode.Moroutines.Extensions;
using Redcode.Demo;
using Redcode.Awaiting;
using Redcode.Paths;
using Redcode.Tweens;
 
public class Runing : MonoBehaviour
{
    private int _lineIndex = 1;
 
    [SerializeField]
    private Transform _linePoints;
 
    [SerializeField]
    private float _animationDuration;
 
    private Playable _animation;
 
 
    private void HandleInput(KeyCode key, int direction)
    {
        if ((_animation == null || _animation.PlayedTime == _animationDuration) && Input.GetKey(key))
        {
            _lineIndex = Mathf.Clamp(_lineIndex + direction, 0, _linePoints.childCount - 1);
            var point = _linePoints.GetChild(_lineIndex);
            _animation = transform.DoPositionX(point.position.x, _animationDuration, Ease.InOutBack).Play();
        }
    }
 
 
      private void Update()
    {
        HandleInput(KeyCode.A, -1);
        HandleInput(KeyCode.D, 1); 
 
 
    }
}

Скрипт, который стоит на trigger-е:

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using Redcode.Extensions;
using Redcode.Moroutines;
using Redcode.Moroutines.Extensions;
using Redcode.Demo;
using Redcode.Awaiting;
using Redcode.Paths;
using Redcode.Tweens;
 
 
public class Trigger : MonoBehaviour
{
    [SerializeField]
    private GameObject _prefab;
 
    [SerializeField]
    private Transform _linepoints;
 
 
    private void OnTriggerExit(Collider collision)
    {
        int i = 0;
        if (i == 0)
        {
            Instantiate(_prefab, new Vector3(-2, 0, 10), Quaternion.identity);
            i = 1;
            
        }
        
     
 
    }
}
Добавлено через 11 минут
https://youtu.be/e6Pg1m9Wh4s - запись проблемы
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
09.05.2022, 13:04
Ответы с готовыми решениями:

[Проблема] Движение персонажа по движущемуся объекту
Есть объект, у которого задано движение через: public float speed = 0.1f; private void FixedUpdate() { ...

Привязать Label к объекту
Подскажите как можно сделать чтобы Label появлялся над созданным прямоугольником? (как показано на рисунке.)

Как привязать к объекту координты?
Ну, вот я имею ввиду, что если у меня есть объект (не в контексте ООП, а в прямом смысле), например группа из четырех звездочек...

3
гуглю вместо тебя
 Аватар для raygman
240 / 157 / 88
Регистрация: 20.05.2021
Сообщений: 436
09.05.2022, 15:43
Sonner, можешь попробовать родителя задать ИГРОКА клонам его (SetParent)
и выставлять на позиции, ну у тебя вроди это работает
бег(само передвижение) у клонов можно отрубить, а только запустить анимацию бега
тогда они просто будут создавать иллюзию что бегут за игроком вместе,
но по факту они в локалке в тех же координатах, если чот не получится, кину видос
1
0 / 0 / 0
Регистрация: 08.05.2022
Сообщений: 5
09.05.2022, 16:16  [ТС]
Если не сложно, кинь видос как это сделать, я не особо понимаю)

Добавлено через 1 минуту
или проще в дискорд пойти, как тебе удобнее...
0
гуглю вместо тебя
 Аватар для raygman
240 / 157 / 88
Регистрация: 20.05.2021
Сообщений: 436
09.05.2022, 18:10
Лучший ответ Сообщение было отмечено Sonner как решение

Решение

пример настройки в редакторе, вместо других моделек, можешь просто пустышки для точек накидать
Кликните здесь для просмотра всего текста


когда спавнишь клона: присвой родителя, поставь на нужную точку, в аниматоре запусти анимацию бега
SetParent Documentation
Animator.Play Documentation
C#
1
2
3
4
GameObject clone = Instantiate(_prefab, new Vector3(0, 0, 0), Quaternion.identity);
clone.SetParent(player.gameobject.transform);
clone.transform.position = //точка
clone.GetComponent<Animator>().Play("Run");
а так, скорее всего у тебя огромная толпа может собираться,
поэтому тебе нужно алгоритм для определения новой точки веток
что-то по типу этого
Кликните здесь для просмотра всего текста






всё дальше или долби себя инфой и пытайся понять, или кто-то другой поможет
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
09.05.2022, 18:10
Помогаю со студенческими работами здесь

Привязать элемент к другому объекту
В groupBox1 «Найденные файлы» может перечисляться до 6 файлов. И когда программа их находит groupBox изменяет высоту и закрывает второй...

Как привязать текст к объекту в OpenGl
Можете подсказать как привязать текст, например :&quot;Земля&quot; в модели солнечная система к объекту сфера.Чтоб при вращении объекта по заданой...

Как правильно привязать меню (QMenu) к объекту ?
Добрый день. Извиняюсь, если немного сумбурно. Пытаюсь разобраться с созданием QMenu. Делаю объекты на QGraphicsScene, они состоят из...

Как привязать к одному объекту несколько других?
Я начинаю осваивать джаву и у меня имеется задание, которое я не очень понимаю как сделать. Мне нужно сохранить в списке 5 объектов класса...

Как привязать ссылку к объекту (див, надпись и т.д.) ?
Как привязать ссылку к объекту (див, надпись и т.д.) ? дан див, по нажатию на него нужно перейти на другую страницу, как это сделать...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru