0 / 0 / 0
Регистрация: 23.10.2019
Сообщений: 31

Как сделать так, чтобы одна фишка обнаруживала другую в сцене при пороговом значении расстояния?

23.10.2019, 16:51. Показов 4002. Ответов 64
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
В Юнити 3-й день. Не знаю даже где посмотреть справочную информацию. Хотя, уже научился создавать 3д объекты, моделировать системы частиц с определенными свойствами и анимировать все это. Если можно, посоветуйте, хотя бы, где посмотреть - как сделать так, чтобы одна фишка обнаруживала другую в сцене при пороговом значении расстояния, свыше значения которого она ее просто не видит.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
23.10.2019, 16:51
Ответы с готовыми решениями:

Как сделать так, чтобы при нажатии на кнопку менялась одна форма на другую?
Я вот пытаюсь разработать тест и столкнулась с такой проблемой, как смена формы на другую... В связи с этим достаточно тупой вопрос: Как...

Сделать так, чтобы одна процедура вызывала другую
Всем добрый. Я все продолжаю рисовать Вселенную, темы...

Как сделать так, чтобы при каждом клике происходила одна итерация цикла?
Надо, чтобы при каждом нажатии на лейбл происходила итерация цикла: public void label1_Click(object sender, EventArgs e) { ...

64
 Аватар для 1max1
3364 / 1776 / 1029
Регистрация: 26.10.2018
Сообщений: 5,204
12.12.2019, 13:37
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от НовикДД Посмотреть сообщение
ОБРАЩАЮ ВНИМАНИЕ ЕЩЕ РАЗ ТЕХ, КТО ИМПОРТИРУЕТ В ИГРУ МОДЕЛИ В ФОРМАТЕ OBJ - ЮНИТИ КАТЕГОРИЧЕСКИЕ НЕ ВОСПРИНИМАЕТ ПОД КОЛЛАЙДЕР ОБОЛОЧКУ КРОМЕ КАК В ПОДОБЪЕКТЕ
Дело в том что Mesh Collider не может автоматом натянуться на объект, на котором нет Mesh Filter, поэтому нужно указать меш ручками, см. скрин.
Миниатюры
Как сделать так, чтобы одна фишка обнаруживала другую в сцене при пороговом значении расстояния?  
0
0 / 0 / 0
Регистрация: 23.10.2019
Сообщений: 31
13.12.2019, 16:17  [ТС]
To 1max1, благодарю! Надож, я не подозревал даже...

Пока не разобрался, в чем дело, почему программа не видит вновь созданные объекты, которые правильно названы и имеют правильный тэг.

Еще вопрос, для меня это один из основных. Потому, что иначе у меня не будет походного ордера в отряде и не возможно будет ставить мины, а война на 80% была минная. Нужно определить пройденный путь. Я попытался это сделать суммируя скорость каждый фрейм в переменную. Вроде, все правильно написал, скрипт даже показывал цифики, хотя неправильные , но потом перестал работать. Где я ошибся?

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
44
45
46
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
 
public class ShipDistance : MonoBehaviour
{
    public Vector3 previousShipPosition;
    public Vector3 newShipPosition;
    public double distanceX;
    public double newdistanceX;
    public double newdistanceZ;
    public double distanceZ;
    public double shipSpeed;
    public double shipWay;
    public double newShipWay;
    
    // Start is called before the first frame update
    void Start()
    {
       
    }
 
    // Update is called once per frame
    void Update()
    {
        distanceX = newShipPosition.x - previousShipPosition.x;
        distanceZ = newShipPosition.z - previousShipPosition.z;
        if (distanceX < 0) { newdistanceX = distanceX * -1; }
        if (distanceX > 0) { newdistanceX = distanceX; }
        if (distanceZ < 0) { newdistanceZ = distanceZ * -1; }
        if (distanceZ > 0) { newdistanceZ = distanceZ; }
 
        shipSpeed = Mathf.Sqrt(Mathf.Pow(newdistanceX, 2) + Mathf.Pow(newdistanceZ, 2));
        shipWay = shipSpeed;
 
        newShipWay = shipWay + shipSpeed; 
        
        previousShipPosition = transform.position;
  
    }
    void LateUpdate()
    {
        newShipPosition = transform.position;
       
    }
}
0
 Аватар для 1max1
3364 / 1776 / 1029
Регистрация: 26.10.2018
Сообщений: 5,204
13.12.2019, 17:25
Как-то так вроде:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
public class ShipDistance : MonoBehaviour
{
    public float distance = 0.0f;
    public float speedMove = 0.0f;
 
    Vector3 prevPosition = Vector3.zero;
 
    void Start()
    {
        prevPosition = transform.position;
    }
 
    void Update()
    {
        float delta = (transform.position - prevPosition).magnitude;
 
        prevPosition = transform.position;
 
        distance += delta;
 
        speedMove = delta / Time.deltaTime;
    }
}
0
0 / 0 / 0
Регистрация: 23.10.2019
Сообщений: 31
16.12.2019, 04:31  [ТС]
To 1max1, благодарю! Я правда не успел его проверить, но с учетом того, что это один из 2-х основных скриптов игры (второй - расчет баллистической составляющей для снарядов) мне будет необходимо указать тебя в качестве разработчика...
To Steroid - никогда не говори никогда, никак и что-то навроде, потому, что вдруг если КАК - то будешь выглядеть бледно. Поиск по переменной вполне возможен, хотя и через одно место. Это мне иностранные партнеры сказали. Если хочешь узнать как - спроси, мне не в лом рассказать
0
 Аватар для Steroid
296 / 217 / 86
Регистрация: 17.02.2016
Сообщений: 1,276
Записей в блоге: 1
16.12.2019, 09:01
Цитата Сообщение от НовикДД Посмотреть сообщение
по переменной вполне возможен, хотя и через одно место. Это мне иностранные партнеры сказали
ну раз ты так говоришь...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
16.12.2019, 09:01
Помогаю со студенческими работами здесь

Как сделать так чтобы при открытие дочерних форм (через MainMenu) появлялась только одна вкладка TabSet
Такая ситуация, существует главная форма и дочерние(MDI), как сделать так чтобы при открытие дочерних форм (через MainMenu) появлялась...

Как сделать , чтобы одна текстура не перекрывала другую?
Как сделать , чтобы одна текстура не перекрывала другую? У меня здесь одна текстура получается прозрачной а другая не прозрачной , и ...

Как сделать чтобы при значении "Забил" Игрок 1 бил дальше, а при значении "Промахнулся" ход переходил другому игроку.
Покажите как правильно сделать,чтобы при значение &quot;Забил&quot; например Игрок 1 дальше бил, чтобы &quot;Игрок 1 &quot; промахивался и ход...

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

OpenGl+qt как сделать чтобы при нажатии на кнопки камера передвигалась по сцене
Помогите с проблемой. Хочу чтобы камера двигалась вокруг своей оси, вперед, назад при нажатии на кнопки со стрелками. glRotate,...


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

Или воспользуйтесь поиском по форуму:
65
Ответ Создать тему
Опции темы

Новые блоги и статьи
Транскрипция 55-минутного видео через Whisper: WhisperDesktop облажался, спас Google Colab[
anaschu 01.06.2026
Понадобилось получить текст из свежезагруженного видео на YouTube. Казалось бы, задача на пять минут. Заняла полтора часа. Делюсь опытом — может кому пригодится последовательность решений. . . .
21 мат мед. Планы на развитие модели здравоСохранения
anaschu 01.06.2026
AnyLogic: план развития симуляционной модели рабочего коллектива — динамический абсентеизм, реальные данные, три сценария сравнения Продолжаю серию постов о дискретно-событийной модели рабочего. . .
20. Мат мед. Абсентеизм как отдельный тип простоя
anaschu 29.05.2026
Апдейт модели: исправленные баги, абсентеизм и новые механизмы Продолжаю развивать ранее описанную модель рабочего коллектива на AnyLogic. За последние несколько дней был проведён серьёзный. . .
19. здоровье, усталость и психотип работника влияют на производительность предприятия, и наоборот, производительность на здоровье, усталось и психотип
anaschu 28.05.2026
Дискретно-событийная модель рабочего коллектива на AnyLogic: здоровье, выгорание, психотипы и микростимуляция Привет, коллеги. Хочу поделиться итогами нескольких недель работы над симуляционной. . .
"Прокси" для последовательного порта
Eddy_Em 28.05.2026
Эту штуку написал я достаточно давно. Но сейчас вот понадобилось настроить датчик грозы, но при этом не отключать его от "метеодемона". Соответственно, надо запустить этот "прокси": метеодемон будет. . .
Рефакторинг программы уравнивания.
Massaraksh7 26.05.2026
Пример по предыдущей записи в блоге. Но, надо заметить, что, во-первых, там оптимизация не только математики, но и работы с базой данных, и с графами, а во-вторых, это ещё не всё.
Использование TThread в Lazarus для математических вычислений.
Massaraksh7 25.05.2026
Производя рефакторинг своих программ на предмет ускорения их работы, обратил внимание на такой аспект, как сокращение времени матвычислений. Дело в том, что приходится работать с большими матрицами. . .
Модель здравосохранения 18. Чем здоровее работник, тем быстрее выгорает
anaschu 24.05.2026
Имитационная модель корпоративного здравоохранения: что показывает математика Сегодня в модели рабочего коллектива на AnyLogic появились три новые механики — выгорание через накопленную усталость,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru