Понедельник, 30 Сентября 2024, 02:31

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
Результаты поиска
robertonoДата: Суббота, 10 Мая 2014, 20:14 | Сообщение # 581 | Тема: Чего не хватает графике в unity?
Чокнутый Кот
Сейчас нет на сайте
DantorS, впринципе да) Когда всё готово там не составит труда склипать четвертый crysis.
У юнити мало официальных примеров, и то в основном они старые. В юнити плохая производительность. Движок расчитан на мультиплатформенность. И к сожалению в юнити нельзя использовать потоки, поэтому всё работает не так быстро как хотелось бы...
robertonoДата: Суббота, 10 Мая 2014, 19:54 | Сообщение # 582 | Тема: Чего не хватает графике в unity?
Чокнутый Кот
Сейчас нет на сайте
{Game-Maker}Maxs, да эта башня как шестигранная гайка! Ты посмотри как полигонов мало) Графооон. В скриншоте нет ничего особенного.
robertonoДата: Пятница, 09 Мая 2014, 16:09 | Сообщение # 583 | Тема: Raycast2D не всегда срабатывает
Чокнутый Кот
Сейчас нет на сайте
Вот что бы рейкаст не срабатывал - не встречал) Хотя вроде были случаи мне кажется, но не думал что в этом проблема.
А rigidbody если имеет большую скорость, маленький коллайдер, да ещё и стандартное значение просчета коллайдеров в настройках rigidbody, то да, легко пролетает.
robertonoДата: Четверг, 08 Мая 2014, 22:50 | Сообщение # 584 | Тема: Как получить доступ к переменным в C#?
Чокнутый Кот
Сейчас нет на сайте
MisterTimeChip, может автор сам не знает что хочет, или просто не понимает правильно как делается система hp ?
robertonoДата: Четверг, 08 Мая 2014, 21:57 | Сообщение # 585 | Тема: Как получить доступ к переменным в C#?
Чокнутый Кот
Сейчас нет на сайте
EchoIT, автор вообще ничего не указал, что бы мы могли ему нормально помочь)
robertonoДата: Четверг, 08 Мая 2014, 21:56 | Сообщение # 586 | Тема: Случайная генерация Terrain`а.
Чокнутый Кот
Сейчас нет на сайте
MisterTimeChip, я особо с этим не разбирался, но.. Шум перлина, точнее результат, именно картинка, она похоже на heightmap ? Если они одинаковы, то можно к terrainу назначит полученный шум как карту высот.
robertonoДата: Четверг, 08 Мая 2014, 21:54 | Сообщение # 587 | Тема: Общение между процессами как создание multithreadинга
Чокнутый Кот
Сейчас нет на сайте
Storm54, не всё из кубов, говорил же. Я и так придумал отличное решение).
На кубах cube коллайдер, на 3д моделях несколько куб коллайдеров. Так что всё довольно шустренько. Можно даже ещё меньше сделать времени. Например массивы на другие потоки перекинуть. Ещё выключить очистку мусора оставленного юнити после совершенной оптимизации. В итоге сократив до 5 мс.
robertonoДата: Четверг, 08 Мая 2014, 19:39 | Сообщение # 588 | Тема: Общение между процессами как создание multithreadинга
Чокнутый Кот
Сейчас нет на сайте
Цитата Ranger ()
Повлияет. Новый проц у тебя в компе из-за нового потока не вырастет.

потоки обычно не зависят от друг друга. Поэтому пока второй поток мучается с генерацией, основной поток спокойно рендерит и производит игру.
Цитата Ranger ()
В сопрограмме можно сделать отслеживание загрузки цп (например по ФПС) и подстраивать ее выполнение "на лету".

К сожалению я это применить не могу, у меня есть два способа : ПересчитатьНормали(), CombineMeshes().
Цитата Ranger ()
Это кто такое сказал?

в потоках нельзя использовать Unity API. А значит в потоке я не могу вызвать mesh.CombineMeshes().
Это и есть проблема этой темы.

Добавлено (08.05.2014, 17:06)
---------------------------------------------
эх, ладно, на днях если не будет чем заняться я попробую реализовать задуманное) Просто для теста, потом отпишусь, думаю интересно будет)

Добавлено (08.05.2014, 19:00)
---------------------------------------------
Потестил что больше всего даёт нагрузку. Оказывается 80 % времени комбинирования занимает создание меш коллайдера (добавление его как компонента).
Коробку как коллайдер использовать не могу, нужно что бы в здание можно было зайти.

Добавлено (08.05.2014, 19:39)
---------------------------------------------
Проблема решена! Вместо того что бы создавать меш коллайдер, у кубов которые я комбинирую я просто выключаю рендер (раньше я выключал gameobject куба). А перс ходит по коллайдерам невидимых кубов, когда видит скомбинированный меш)
50 - 100 милисекунд превратились в 10!
Всем спасибо за помощь.

robertonoДата: Четверг, 08 Мая 2014, 19:01 | Сообщение # 589 | Тема: Случайная генерация Terrain`а.
Чокнутый Кот
Сейчас нет на сайте
EchoIT, да смотри, гладкий же ! Чего тут может не устраивать? biggrin
robertonoДата: Четверг, 08 Мая 2014, 19:00 | Сообщение # 590 | Тема: Photon Chat - создание чата на Photon Cloud
Чокнутый Кот
Сейчас нет на сайте
Storm54, я тоже не знаю) Но не просто так же они его так долго делали))
robertonoДата: Четверг, 08 Мая 2014, 18:35 | Сообщение # 591 | Тема: Разработка на unity простых приложений, есть ли смысл?
Чокнутый Кот
Сейчас нет на сайте
Ranger, кстати да, ксамарин очень хорошая штука для разработки простых (и наверно не только) приложений для мобильных платформ. Когда то хотел этим заниматься, нашёл всё что нужно, но руки не дошли до дела)
robertonoДата: Четверг, 08 Мая 2014, 18:34 | Сообщение # 592 | Тема: Photon Chat - создание чата на Photon Cloud
Чокнутый Кот
Сейчас нет на сайте
а на photon server можно использовать?
robertonoДата: Четверг, 08 Мая 2014, 18:32 | Сообщение # 593 | Тема: Случайная генерация Terrain`а.
Чокнутый Кот
Сейчас нет на сайте
MisterTimeChip, фу, некрасиво по отношению к shubniggurath.
Ты ссылки то смотрел?
Вторая ссылка не кубический террайн. Гладкий.
Вот помогаешь на форуме, дал нормальную ссылку, а тебя грубо говоря послали...
robertonoДата: Четверг, 08 Мая 2014, 18:12 | Сообщение # 594 | Тема: Случайная генерация Terrain`а.
Чокнутый Кот
Сейчас нет на сайте
shubniggurath, вторая ссылка интересная smile
robertonoДата: Среда, 07 Мая 2014, 22:01 | Сообщение # 595 | Тема: Общение между процессами как создание multithreadинга
Чокнутый Кот
Сейчас нет на сайте
Storm54, чаще всего это просто сгенерированные меши, 16 на 16, с измененными высотами точек. Каждая точка идет через 1 метр, что создает им вид кубов.
Так как эти меши определенного размера, можно использовать чанковую систему, т.е. загрузку только тех мешей, которые реально увидеть.
А у меня помимо кубов есть ещё 3д модели, и мне нужно нормальное ими управление. Что бы я мог легко вытащить блоки из меша. Комбинирование тут как раз, но оно создает лаг.
Вот кстати какие у меня разрушения:

VIDEO
robertonoДата: Среда, 07 Мая 2014, 21:25 | Сообщение # 596 | Тема: Общение между процессами как создание multithreadинга
Чокнутый Кот
Сейчас нет на сайте
Storm54, По какому принципу они работают?
robertonoДата: Среда, 07 Мая 2014, 17:05 | Сообщение # 597 | Тема: Общение между процессами как создание multithreadинга
Чокнутый Кот
Сейчас нет на сайте
nwsx, На самом деле мультипоточность в юнити довольно спорная тема.
Loom - всего лишь облегчает работу с потоками. Но никак не позволяет мне пересчитать нормали или скомбинировать меши. А именно это у меня создает лаг. Толку от лума будет ноль.

nwsx, я использую какой то прозрачный материал и diffuse.
Да, батчинг действительно уменьшал количество драв колов, но никак не увеличивал фпс. Проверю сейчас ещё раз.

Добавлено (07.05.2014, 17:05)
---------------------------------------------
Отчет:
~6300 кубов, способы их оптимизации:
CombineMeshTest
Меши скомбинированы, 30 дравколов, 900 - 1100 фпс
Nothing
~ 6400 дравколов, 60 фпс
Dynamic Batching
30 дравколов, сохранено батчингом ~6400, 90 фпс

Железо:
8 gb ram, i5 3570 3.40ghz 4 core, geforce gtx770.

Вывод:
Комбинирование мешей убирает дравколы, поднимает фпс до 1000, но жертвует до 100 милисекунд для комбинирования
Ничего делает ничего, 60 фпс.
Батчинг не влияет на фпс, хорошо убирает дравколы (30).
Вывод - если я правильно им пользуюсь, батчинг штука безтолковая (хотя скорее всего просто не то что мне нужно)

robertonoДата: Среда, 07 Мая 2014, 11:27 | Сообщение # 598 | Тема: Общение между процессами как создание multithreadинга
Чокнутый Кот
Сейчас нет на сайте
Я не знаю почему, но когда я комбинировал меньше мешей то задержка была больше
robertonoДата: Среда, 07 Мая 2014, 08:16 | Сообщение # 599 | Тема: Общение между процессами как создание multithreadинга
Чокнутый Кот
Сейчас нет на сайте
Я и так использую курутины. Да, немного плавнее они делают, но не сильно. Лаг вызывает сама функция CombineMesh. Я когда то читал, что много поточность можно получить с помощью lock. Правда?
robertonoДата: Вторник, 06 Мая 2014, 23:38 | Сообщение # 600 | Тема: Общение между процессами как создание multithreadинга
Чокнутый Кот
Сейчас нет на сайте
Все вы знаете что в юнити нельзя использовать потоки.
У меня вот в голове давно крутиться идея, но всё не решаюсь попробовать. Мне нужно комбинировать меши во время игры. По измерениям, каждую пятую секунду я комбинирую меш, это занимает 70 милисекунд. Впринципе почти незаметно, но не очень приятно.
Лаг в игре происходит из за того что комбинирование выполняется на основном потоке игры. Т.е. нагружая основной поток мы ухудшаем производительность всей игры.
Идея:
Создать отдельный процесс (можно хоть консольное приложение через visual studio),
добавить туда UnityEngine.dll.
Когда нужно скомбинировать меш отправляем всё что надо в этот отдельный процесс, там комбинируем и потом посылаем обратно в игру.
Комбинирование то в отдельном процессе, значит на игру это не повлияет!
Вопрос: Реально вообще? Если у кого есть время лишнее, проверьте) Ведь идея то по сути интересная.
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг