Среда, 17 Августа 2022, 13:04

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

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 446 из 446
  • «
  • 1
  • 2
  • 444
  • 445
  • 446
Модератор форума: beril  
Форум игроделов » Движки для разработки игр и сложные системы разработки » Unity » Вопрос-[ответ] по Unity (Задаём свои вопросы)
Вопрос-[ответ] по Unity
QWER56Дата: Понедельник, 09 Августа 2010, 10:58 | Сообщение # 1
старожил
Сейчас нет на сайте
Вопрос-[Ответ] по Unity3d

  • База скриптов Unity3d
  • Курс Уроков по Unity 3D от Alcatraz

    ConsMark - поисковик по интернет магазинам.

    Сообщение отредактировал QWER56 - Вторник, 26 Июля 2011, 20:54
  • drcrackДата: Суббота, 28 Мая 2022, 01:17 | Сообщение # 8901
    старожил
    Сейчас нет на сайте
    Цитата
    Но я почему-то уверен, что есть способ без теней не освещать объект, который находится за другим объектом.

    Да, сделать источники света меньше, а стену толще, чтобы они ее не пробивали :D

    Можно попробовать на слоях: https://docs.unity3d.com/Package....rs.html
    Сложность и вообще возможность заставить это работать зависит от твоих уровней и как ты их генерируешь

    Еще в теории есть такая фича как задание bounding box / bounding planes источникам света вручную, но в юнити ее насколько знаю нет


    Сообщение отредактировал drcrack - Суббота, 28 Мая 2022, 10:25
    mrFrankensteinДата: Воскресенье, 29 Мая 2022, 23:29 | Сообщение # 8902
    частый гость
    Сейчас нет на сайте
    Цитата drcrack ()
    В чем проблема-то, в том что теней нет? Включи или запеки)

    И ещё про это.
    https://imgur.com/XRXQNkq


    Тама вот написано "Realtime shadows for point lights are not supported. Either disable shadows or set the light mode to
    Baked." что в переводе на наш означает "Тени в реальном времени для точечных источников света не поддерживаются. Либо отключите тени, либо установите режим освещения на
    Запеченный." если верить переводчику.

    Вот чего хочу спрсить: А как, собсно тени-то включить? в статье аткого ничего не нашёл, или просто не туда смотрю. Я хз в общем(
    Версия Unity 2020.3.31f1 (64-bit)


    Сообщение отредактировал mrFrankenstein - Воскресенье, 29 Мая 2022, 23:33
    drcrackДата: Вторник, 31 Мая 2022, 08:45 | Сообщение # 8903
    старожил
    Сейчас нет на сайте
    Обнови Unity и URP
    Судя по https://docs.unity3d.com/Package....OG.html тени для Point Lights поддерживаются с 11.0


    Сообщение отредактировал drcrack - Вторник, 31 Мая 2022, 08:46
    mrFrankensteinДата: Вторник, 31 Мая 2022, 19:02 | Сообщение # 8904
    частый гость
    Сейчас нет на сайте
    Цитата drcrack ()
    Обнови Unity и URP


    Даже как-то стыдно за себя стало... Спасибо)

    Добавлено (02 Июня 2022, 14:09)
    ---------------------------------------------
    Я тут глупость одну придумал и вот совета у вас хочу спросить.

    Мой уровень строится при старте сцены, и оптимизировать его мне практически нечем (или я просто плохо учился). И я подумал "А не могу ли я использовать тут хаб для статичных объектов?" Ну тоесть уровень строится, расставляются декорации и свет, строится навмеш, а потом всё заменяется на не реагирующие со светом примитивы (кубы или шары), сохраняющие местоположение, размер и название объекта. На каждый такой примитив вешается скрипт, который по функции "OnBecameVisible" меняет примитив на нужный объект из хаба, а когда тот "OnBecameInvisible"- всё меняется обратно.

    Вроде всё просто, а всё ровно кажется, что херня какая-то получится... Что скажете на это?

    Storm54Дата: Четверг, 02 Июня 2022, 14:50 | Сообщение # 8905
    постоянный участник
    Сейчас нет на сайте
    Какие-то дикие костыли.
    На уровне GPU нет никакого различия между юнитевскими статическими объектами, динамическими или еще какими-нибудь. Есть просто набор треугольников (мешей), текстур и программ (шейдеров), которые все это дело рисуют. Сгенерите сцену из динамических объектов и не парьтесь. Если станет слишком много вызовов отрисовки (draw calls), то можно в несколько строчек эти меши объединить - https://docs.unity3d.com/Manual/combining-meshes.html
    Галочка static просто дает понять юнити, что эти объекты не двигаются на сцене, а значит их можно попытаться объединить во время билда, но ничего не мешает вам сделать это самостоятельно через вызов
    Mesh.CombineMeshes или собственную реализацию. Естественно, что объединяемые меши должны использовать один и тот же материал (в общем случае), чтобы после объединения их можно было отрисовать тем же материалом.


    Сообщение отредактировал Storm54 - Четверг, 02 Июня 2022, 14:51
    drcrackДата: Четверг, 02 Июня 2022, 21:05 | Сообщение # 8906
    старожил
    Сейчас нет на сайте
    Цитата
    На каждый такой примитив вешается скрипт, который по функции "OnBecameVisible" меняет примитив на нужный объект из хаба, а когда тот "OnBecameInvisible"- всё меняется обратно.

    Ты почти изобрел frustum culling — обьекты вне поля зрения камеры не рисуются (не отправляются на видеокарту), и это базовая фича юнити (и вообще любого современного движка) :D
    mrFrankensteinДата: Пятница, 03 Июня 2022, 11:29 | Сообщение # 8907
    частый гость
    Сейчас нет на сайте
    Цитата Storm54 ()
    Если станет слишком много вызовов отрисовки (draw calls), то можно в несколько строчек эти меши объединить


    именно это из-за этого я всем этим и занялся. Спасибо за подсказку, сейчас сяду пробовать)

    Цитата drcrack ()
    Ты почти изобрел frustum culling


    это было бы второй моей целью, т.к. базовый рендерит всё что перед камерой, а не только то, что видно. А поскольку у меня под 2000 базовых обьектов (это только основные) то и вызовов отрисовки какое-то неймоверное количество, особенно если зайти в край уровня и посмотреть назад...
    Сейчас с комбайном попробю и, если что, вернусь)

    Добавлено (06 Июня 2022, 14:00)
    ---------------------------------------------
    так... Я попробовал комбинировать меши и всё получилось отлично и батчей стало намного меньше (спасибо друзья), но...
    У меня имеется целая куча одинаковых квадратиков для пола и потолка, меши которых комбинируются в первую очередь и с ними есть некоторая проблема.
    https://imgur.com/EdmVkAi

    Их меши тупо приклеиваются друг к другу (как с лева), из-за чего остается неимоверное количество треугольников, которые просто не нужны. Есть ли какой-нибудь способ пересчитать скомбинированный меш так, чтобы убрать лишнее?

    Добавлено (06 Июня 2022, 15:14)
    ---------------------------------------------
    Как я понял, CombineMeshes берёт объекты и перекладывает их матрицы в массив, а потом по массиву лепит это всё друг к другу. И я подумал, что наверное можно попробовать проверить матрицы на точки , которые есть у нескольких объектов сразу и избавится от них (если это возможно).
    https://imgur.com/V58gnHr

    Проблема только в том, что я хз как обращаться с матрицами и никогда их даже не трогал, а инфы которая всё это разжевывает я не могу найти:(
    Кто-нибудь может знает где смотреть?

    Добавлено (16 Июля 2022, 14:28)
    ---------------------------------------------
    Прошлые разы мне тут очень помогали, может и сейчс помогут)
    Мне надо в один контейнер упаковать (или сделать что-нибудь близкое к этому) переменные типа булеан, флоат, стринг и вектор3, а потом запихнуть этот контейнер в список, чтобы можно было легко перебирать эти контейнеры и менять их при необходимости. При чём количество таких контейнеров не известно. вот.
    если можете сказать что почитать по этому поводу- буду очень признателен, ато я даже не знаю с чего подступится...

    smertsovДата: Среда, 20 Июля 2022, 15:48 | Сообщение # 8908
    был не раз
    Сейчас нет на сайте
    Добрый день.Не подскажите что нужно прописать в коде чтобы персонаж ходил по диагонали прямо, без наклона, без navmesh, используя waypoints. Есть ступеньки на 3d сцене и ai идет к точке на высоте, но наклоняется rotation на угол в -30 градусов, а так сделать в 0 градусов.

    Сообщение отредактировал smertsov - Среда, 20 Июля 2022, 15:56
    drcrackДата: Четверг, 21 Июля 2022, 10:08 | Сообщение # 8909
    старожил
    Сейчас нет на сайте
    Цитата
    Прошлые разы мне тут очень помогали, может и сейчс помогут)
    Мне надо в один контейнер упаковать (или сделать что-нибудь близкое к этому) переменные типа булеан, флоат, стринг и вектор3, а потом запихнуть этот контейнер в список, чтобы можно было легко перебирать эти контейнеры и менять их при необходимости. При чём количество таких контейнеров не известно. вот.
    если можете сказать что почитать по этому поводу- буду очень признателен, ато я даже не знаю с чего подступится...

    со списком все просто — делаешь [SerializeField] List<Container> как обычно
    теперь о самом классе Container:
    1) это может быть [Serializable] Container { }, тогда в инспекторе прямо в списке будут твои поля
    2) либо [CreateAssetMenu] Container: ScriptableObject, тогда контейнеры будут отдельными ассетами которые ты перетаскиваешь в список (см тут: https://docs.unity3d.com/Manual/class-ScriptableObject.html

    Цитата
    Добрый день.Не подскажите что нужно прописать в коде чтобы персонаж ходил по диагонали прямо, без наклона, без navmesh, используя waypoints. Есть ступеньки на 3d сцене и ai идет к точке на высоте, но наклоняется rotation на угол в -30 градусов, а так сделать в 0 градусов.

    покажи код


    Сообщение отредактировал drcrack - Четверг, 21 Июля 2022, 10:10
    Форум игроделов » Движки для разработки игр и сложные системы разработки » Unity » Вопрос-[ответ] по Unity (Задаём свои вопросы)
    • Страница 446 из 446
    • «
    • 1
    • 2
    • 444
    • 445
    • 446
    Поиск:

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