Size: a a a

2020 March 15

AY

Artem Yurchenko in unity3d.ru
Serg
Я уже не помню предыдущая установка крякнутая или нет. В этот раз я крякнул ее, а на предыдущей винде походу нет.
А, так а какую ты хотел стабильность на взломанной юнити?
источник

PD

Paul Dyatlov in unity3d.ru
Болтаем в @unity_flood
источник

AY

Artem Yurchenko in unity3d.ru
Переслано от Artem Yurchenko
Товарищи, такая дилемма:
где-то наговнокодил и юнити просто "зависает" где-то в районе данного кода:
OnCollisionEnter(Collider other) {
   //something
   Destroy(gameobject)
}
Безопасно ли удалять объект объект через свой же скрипт? + там например регистрирует 4 коллизии, в первой удаляет этот объект, а остальные 3 дальше работают с данным объектом.
источник

AS

Anton Smetanin in unity3d.ru
Artem Yurchenko
Переслано от Artem Yurchenko
Товарищи, такая дилемма:
где-то наговнокодил и юнити просто "зависает" где-то в районе данного кода:
OnCollisionEnter(Collider other) {
   //something
   Destroy(gameobject)
}
Безопасно ли удалять объект объект через свой же скрипт? + там например регистрирует 4 коллизии, в первой удаляет этот объект, а остальные 3 дальше работают с данным объектом.
Безопасно
источник

AS

Anton Smetanin in unity3d.ru
Кто-нибудь знает, есть ли вот это в JSON'е?
https://unity3d.com/unity/releases.xml
источник

AY

Artem Yurchenko in unity3d.ru
Anton Smetanin
Кто-нибудь знает, есть ли вот это в JSON'е?
https://unity3d.com/unity/releases.xml
Не думаю. Так создай клас на пару строк, который тебе переконвертирует в джсон
источник

AS

Anton Smetanin in unity3d.ru
Да мне сам JSON не нужен, просто лень парсить XML)
источник

S

Serg in unity3d.ru
Кинул файл Unity_lic.ulf от 2017 куда надо, все заработало и 2017 и 2019. Видимо от 2019й не подхватывается. Ну а так-то билд посмотрел, на обычной работал версии, не про.
источник

AY

Artem Yurchenko in unity3d.ru
Anton Smetanin
Безопасно
Просто проблема в следующем - есть у меня, допустим, 10 объектов. Для каждого запускает Task. Далее в этом потоке (уже не асинхронно), например, для 100 дочерних объектов создаются Rigidbody. И как только какой-то из обьектов вступает в коллизию, оно почему-то не даёт завершить таск для одного из тех первых 10 объектов. И юнити  бесконечно ждёт, пока таск завершит свою работу, хотя после добавления всем дочерним объектам Rigidbody, таск должен нормально завершать свою работу
источник

AS

Anton Smetanin in unity3d.ru
Покажи код
источник

AY

Artem Yurchenko in unity3d.ru
Anton Smetanin
Покажи код
Основной файл, с которого начинается работа (этот файл запускает n Taskов для предполагаемых n обьектов)
https://pastebin.com/qq1zegCf
источник

AY

Artem Yurchenko in unity3d.ru
Anton Smetanin
Покажи код
Далее код, который висит на каждом из n обьектов, в котором создаются дочерние обьекты (для каждого из них тоже запускаеться свой таск)
https://pastebin.com/qXeThqcJ
источник

AY

Artem Yurchenko in unity3d.ru
Anton Smetanin
Покажи код
Ну и последний скрипт, который висит на каждом дочернем объекте.
https://pastebin.com/sG5xss6x
источник

AS

Anton Smetanin in unity3d.ru
Ну вроде ничего криминального не вижу
источник

AS

Anton Smetanin in unity3d.ru
А зависает при каком вызове?
источник

AS

Anton Smetanin in unity3d.ru
Код только слишком размашистый
источник

AS

Anton Smetanin in unity3d.ru
Можно то же самое в 5 раз короче записать
источник

AY

Artem Yurchenko in unity3d.ru
Anton Smetanin
Код только слишком размашистый
Это да, склепал за 2 дня, вообще хочу под DOTS переписать (текущая производительность меня не устраивает)
источник

AS

Anton Smetanin in unity3d.ru
var buffer_forest = new List<GameObject>();
           
foreach (var one_tree in _trees)
{
   buffer_forest.Add(one_tree);
}

var job_pool = new List<Task>();

foreach (var one_tree in buffer_forest)
{
   job_pool.Add(one_tree.GetComponent<TreeController>().TreeMainLoop());
}

//Debug.Log("Wait tasks");
await Task.WhenAll(job_pool.ToArray());


Вот это например можно так записать:

await Task.WhenAll(_trees.Select(x => x.GetComponent<TreeController>().TreeMainLoop()).ToArray());
источник

AS

Anton Smetanin in unity3d.ru
И это даже будет эффективнее по аллокациям
источник