Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   forum.boolean.name > Программирование игр для компьютеров > Unity > Общие вопросы

Общие вопросы вопросы не попадающие ни в один из доступных разделов

Ответ
 
Опции темы
Старый 06.12.2020, 00:39   #181
EvilOkta
Знающий
 
Аватар для EvilOkta
 
Регистрация: 31.07.2008
Сообщений: 321
Написано 108 полезных сообщений
(для 229 пользователей)
Ответ: Проблемы разработки от EvilOkta

Машина состояний постепенно пилится на базе аниматора (спасибо pax за видео), столкнулся со следующей задачкой, видимо туплю где-то.
Есть такой кусок кода:
public Transform SetWalkTarget()
    {
        
System.Random rnd = new System.Random(DateTime.Now.Millisecond);
        return 
GameLogicInit.Points[rnd.Next(0GameLogicInit.Points.Count)].transform;
    }
    } 
Он находится у множества объектов и по хорошему должен случайным образом выбирать точку назначения из списка для каждого объекта, но так как он срабатывает у всех объектов одновременно рандомайзер выдает им один и тот же результат. Как его разнообразить?
__________________
Области Хаоса - мой новый Youtube проект
(Offline)
 
Ответить с цитированием
Старый 06.12.2020, 01:38   #182
seaman
Знающий
 
Регистрация: 08.01.2013
Адрес: Самара
Сообщений: 284
Написано 104 полезных сообщений
(для 180 пользователей)
Ответ: Проблемы разработки от EvilOkta

Иметь в игре один rnd (статический), получать там где надо rnd.Next(0,1), приводить к нужному диапазону уже в объекте.
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
EvilOkta (06.12.2020)
Старый 06.12.2020, 18:11   #183
pax
Unity/C# кодер
 
Аватар для pax
 
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений
(для 5,323 пользователей)
Ответ: Проблемы разработки от EvilOkta

Есть уже статический рандом в Unity
https://docs.unity3d.com/ScriptRefer...dom.Range.html
__________________
Blitz3d to Unity Wiki
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
EvilOkta (14.12.2020)
Старый 14.12.2020, 23:58   #184
EvilOkta
Знающий
 
Аватар для EvilOkta
 
Регистрация: 31.07.2008
Сообщений: 321
Написано 108 полезных сообщений
(для 229 пользователей)
Ответ: Проблемы разработки от EvilOkta

Немного странный вопрос. Дебаггером сейчас прохожу свой код, внутри аниматора. И вижу что порядок выполнения команд такой, что аниматор как-бы находится одновременно в двух разных State. Я так подозреваю это в момент transition происходит. Как то можно отловить такой момент чтобы отфильтровать? А то получается логика в разных стейтах начинает друг друга перебивать.
__________________
Области Хаоса - мой новый Youtube проект
(Offline)
 
Ответить с цитированием
Старый 15.12.2020, 10:30   #185
pax
Unity/C# кодер
 
Аватар для pax
 
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений
(для 5,323 пользователей)
Ответ: Проблемы разработки от EvilOkta

Ну тебе надо настроить транзишн так, чтобы у него Has Exit Time галка была снята и длительность (duration) была 0.
__________________
Blitz3d to Unity Wiki
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
EvilOkta (02.02.2021)
Старый 02.02.2021, 13:26   #186
EvilOkta
Знающий
 
Аватар для EvilOkta
 
Регистрация: 31.07.2008
Сообщений: 321
Написано 108 полезных сообщений
(для 229 пользователей)
Ответ: Проблемы разработки от EvilOkta

Есть еще вопрос, как можно посмотреть через VS какие объекты остаются в памяти?
Dispose вызываю, но такое ощущение что это не помогает.

upd: вроде разобрался, выяснил, что данные файла, загруженные в оперативную память почему то остаются после уничтожения объекта в
Microsoft.IO.RecyclableMemoryStreamManager
ее как то вручную нужно чистить?
upd2: все подозрение падает на строчку
FileInfo XLSXFile = new FileInfo(FilePath); 
в которой загружается файл в оперативную память. Данные дергаю из Excel документа.
Как я понял FileInfo не поддерживает IDisposable и этот объем радостно улетает в LOH даже если уже не нужен и я его превращаю в null
XLSXFile null 
Где можно поискать решение? При множественной загрузке файлов через этот метод происходит утечка памяти, т.к. каждый предыдущий файл остается в LOH...
__________________
Области Хаоса - мой новый Youtube проект

Последний раз редактировалось EvilOkta, 02.02.2021 в 14:59.
(Offline)
 
Ответить с цитированием
Старый 03.02.2021, 08:03   #187
pax
Unity/C# кодер
 
Аватар для pax
 
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений
(для 5,323 пользователей)
Ответ: Проблемы разработки от EvilOkta

Попробуй просто после использования через какое-то время вызвать сборщик мусора GC.Collect(). Память сразу обычно не очищается.
__________________
Blitz3d to Unity Wiki
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Andvrok (04.02.2021)
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Часовой пояс GMT +4, время: 18:54.


vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com