Суббота, 20 Апреля 2024, 10:53

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

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 6 из 7
  • «
  • 1
  • 2
  • 4
  • 5
  • 6
  • 7
  • »
Форум игроделов » Записи участника » InsaneSystems [134]
Результаты поиска
InsaneSystemsДата: Суббота, 28 Апреля 2018, 17:16 | Сообщение # 101 | Тема: [Unity] Статьи по созданию игр и программированию
участник
Сейчас нет на сайте
coremission, статьи всё-таки для инди-разработчиков больше, и я смело могу сказать, что сейчас для инди-разработчика C++ – явно не самый лучший выбор. Возможно, где-то там он и используется, но если человек об этом знает, то ему, вероятно, уже не нужны эти статьи или какие-либо советы по выбору языка программирования. :D

Сообщение отредактировал InsaneSystems - Суббота, 28 Апреля 2018, 17:17
InsaneSystemsДата: Суббота, 28 Апреля 2018, 16:28 | Сообщение # 102 | Тема: [Unity] Статьи по созданию игр и программированию
участник
Сейчас нет на сайте
Christopher, хабрахабр несколько иначе устроен, тут сразу нет. Medium неплох, как-то даже в голову не приходило, поразмыслим над этим вариантом, спасибо. :)

Добавлено (22 Апреля 2018, 14:14)
---------------------------------------------

Добавили новую статью, будет интересно начинающим 3D-дизайнерам и просто независимым разработчикам, кому приходится самостоятельно делать всю работу в своих играх:
Нужно ли уметь рисовать для создания 3D-моделей?

Думаю, подобный взгляд на вещи может некоторым не понравиться, для них есть отдельное обращение в конце статьи.

Добавлено (28 Апреля 2018, 16:28)
---------------------------------------------
Выпустили ещё одну статью, которая будет полезна как начинающим, так и некоторым опытным разработчикам. Она посвящена организации работы над созданием игры:

Как правильно организовать разработку игры


Сообщение отредактировал InsaneSystems - Суббота, 28 Апреля 2018, 16:29
InsaneSystemsДата: Воскресенье, 22 Апреля 2018, 19:52 | Сообщение # 103 | Тема: Динамическая отрисовка линии.
участник
Сейчас нет на сайте
absolute_null, LineRenderer отлично подойдёт для такой задачи. В вашем коде как минимум одна критичная ошибка - вы задаёте только одну точку LineRenderer, а для построения линии нужно минимум две.

Что сделать для решения проблемы:
1. Задавать две точки LineRenderer.
2. Задавать для каждой точки две координаты как минимум (x и y, у вас сейчас задаётся только одна координата x)
3. Заметьте, что мышь у вас в двумерном пространстве экрана, а LineRenderer работает в трёхмерном пространстве игры. Используя Camera.main.ScreenToWorldPoint вы мыслите в верном направлении, но отмечу, что это может давать не всегда корректные результаты.

Как итог, ваш код мог бы выглядеть примерно следующим образом:
Код

    public Vector2 mousePos1;
    public Vector2 mousePos2;

    public LineRenderer lineRenderer;

    private void Start()
    {
        lineRenderer = GetComponent<LineRenderer>();
        mousePos1 = new Vector2(0, 0);
    }

    private void OnMouseDown()
    {
        mousePos2 = Camera.main.ScreenToWorldPoint(Input.mousePosition);
    }

    private void OnMouseDrag()
    {
        if (mousePos2 != new Vector2(0, 0))
        {
            mousePos1 = Camera.main.ScreenToWorldPoint(Input.mousePosition);
            Debug.Log(mousePos1);
            Debug.Log(Vector2.Distance(mousePos2, mousePos1));

            lineRenderer.SetPosition(0, new Vector3(mousePos1.x, mousePos1.y, 0));
            lineRenderer.SetPosition(1, new Vector3(mousePos2.x, mousePos2.y, 0));
           
        }
    }


Однако не факт, что он заработает корректно.


Сообщение отредактировал InsaneSystems - Воскресенье, 22 Апреля 2018, 19:54
InsaneSystemsДата: Воскресенье, 22 Апреля 2018, 10:09 | Сообщение # 104 | Тема: [3D] qBox [Головоломка, пззл]
участник
Сейчас нет на сайте
Цитата
А новый, v2.0 работает только в 2018 кажись

Использую его в 2017.0.1f3, всё ок, бывают некоторые проблемы, но они так же связаны с бета-версией этого PP 2.0 :D
К слову, на мерцание как-то не обращал внимания, разницы между 1 и 2 версиями в этом плане у себя в проектах не замечал, забавно. Но в вашей игре действительно, второй вариант смотрится гораздо приятнее.
InsaneSystemsДата: Суббота, 21 Апреля 2018, 12:53 | Сообщение # 105 | Тема: [3D] qBox [Головоломка, пззл]
участник
Сейчас нет на сайте
Leonin, выглядит отлично. Единственное "но" - вы очень рисковый человек, раз занимаетесь разработкой на бета-версии Unity. Даже релизные версии не отличаются стабильностью. :D
InsaneSystemsДата: Суббота, 21 Апреля 2018, 12:20 | Сообщение # 106 | Тема: [Unity] Статьи по созданию игр и программированию
участник
Сейчас нет на сайте
НезНал, но как это зависит от нас? :) Возможно, в скором времени мы запустим собственный сайт, а Яндекс.Дзен оставим лишь как дополнительную ссылку на него. Такой сайт, вероятно, будет доступен из любой страны, где есть интернет.
InsaneSystemsДата: Суббота, 21 Апреля 2018, 12:04 | Сообщение # 107 | Тема: [Unity] Статьи по созданию игр и программированию
участник
Сейчас нет на сайте

Привет! Запустили канал по созданию игр и программированию на Яндекс.Дзене, будем рады вашей подписке. Пишем статьи как для новичков, так и для опытных разработчиков, стараемся добавлять несколько материалов в неделю. :)

На момент создания темы у нас уже вышло 3 статьи для начинающих разработчиков, которые помогут им выбрать свой путь в этой сфере:

Данные статьи носят довольно общий характер, но в будущем мы планируем выпускать более детальные статьи. Так же собираемся запустить формате дневника разработчиков, в которых будем показывать нюансы разработки игр.

Ждём вас на нашем канале!

Пишите отзывы и пожелания, оставляйте комментарии. :)



Сообщение отредактировал InsaneSystems - Четверг, 28 Марта 2019, 14:48
InsaneSystemsДата: Четверг, 19 Апреля 2018, 22:31 | Сообщение # 108 | Тема: Чем вы любите заниматься в играх?
участник
Сейчас нет на сайте
Многие сейчас любят игры-песочницы, поскольку в них можно заниматься чем душе угодно. Это GTA 5, Far Cry 4, 5 и так далее. Достижения не меняются годами - прокачка, "наращивание" мощи и состояния игрока.

Лично мне доставляет удовольствие находить глитчи в играх, которые позволяют получить преимущество или забавный эффект. Особенно это интересно в многопользовательских играх, геймплей на всём сервере сразу меняется, когда идёт что-то не так, как задумали разработчики. И очень часто становится гораздо более динамичнее. :) Вообще, дисбаланс в сетевых играх - штука, казалось бы, плохая, но чёрт возьми, почти все старые сетевые игры с онлайном держатся только на нём.
InsaneSystemsДата: Вторник, 03 Апреля 2018, 11:40 | Сообщение # 109 | Тема: World Space canvas поверх всех обьектов
участник
Сейчас нет на сайте
JakartaIlI, две камеры. Одна основная, отключить рендеринг слоя с World Canvas, вторая с Clear Flags, установленным в Depth Only. Рендеринг только слоя с интерфейсом.

InsaneSystemsДата: Пятница, 23 Марта 2018, 19:43 | Сообщение # 110 | Тема: The Experiment ☭
участник
Сейчас нет на сайте
EfimovMax, прощу прощения, но если это Top-Down Shooter, как написано в теме, то почему все скриншоты от первого лица? Если для красоты, то интересно другое - зачем такая детализация, и будет ли это смотреться красиво с видом сверху?
InsaneSystemsДата: Понедельник, 12 Марта 2018, 15:15 | Сообщение # 111 | Тема: Цвета спрайтов в Unity ухудшаются
участник
Сейчас нет на сайте
Anate, попробуй поставить Compression на None или хотя бы High Quality.


Сообщение отредактировал InsaneSystems - Понедельник, 12 Марта 2018, 15:16
InsaneSystemsДата: Понедельник, 05 Февраля 2018, 11:00 | Сообщение # 112 | Тема: RTS
участник
Сейчас нет на сайте
Jamal, для RTS есть неплохой движок Spring Engine, но, боюсь, что под подобную тематику его будет трудно переделать. Можно взглянуть в сторону Unity, там освоиться можно довольно быстро и функционал достаточный.
InsaneSystemsДата: Суббота, 27 Января 2018, 21:59 | Сообщение # 113 | Тема: Меш
участник
Сейчас нет на сайте
defGMDefeloper, у тебя делегат указывает на переменную i. А она в конце цикла равна двум. Задавай внутри цикла значение переменной i в другую переменную, и её передавай в делегат.

Сообщение отредактировал InsaneSystems - Суббота, 27 Января 2018, 21:59
InsaneSystemsДата: Четверг, 25 Января 2018, 20:21 | Сообщение # 114 | Тема: Меш
участник
Сейчас нет на сайте
defGMDefeloper, использовать GetPixels у Texture2D - получается массив из цветов каждого пикселя картинки. Там и альфа тоже есть.
InsaneSystemsДата: Суббота, 20 Января 2018, 12:27 | Сообщение # 115 | Тема: Множество объектов
участник
Сейчас нет на сайте
defGMDefeloper, совет. Используй профайлер (Ctrl + 7), отслеживай, что именно больше всего производительности требует, и уже от этого думай, как устранить.
InsaneSystemsДата: Пятница, 19 Января 2018, 15:22 | Сообщение # 116 | Тема: Множество объектов
участник
Сейчас нет на сайте
Цитата
Не,конечно нет) Это вызывается в корутине ,и только для целых массивов звезд,разбитых по размеру.А проверка на дистанцию проходит только если Layer==true.Но за идею спасибо.Чутка переделать.Сделать все в 1 скрипте.

Насчёт материалов хорошо, что так. Остальное тоже рекомендую вынести в отдельный скрипт.

Цитата
А World Space не подходит.Звезды то 2д картинки,но камера двигается в трехмерном пространстве.

Ну и что с того? :) В данном случае просто задаёте ту же позицию, что и у трёхмерных звёзд, уже минус Camera.WorldToScreenPoint.
Цитата
Canvas.LookAt(camera) плохо.ибо повернуть холст с 10к дочерних обьектов..

Ничем не хуже, чем поворачивать каждый из этих объектов отдельно.
Цитата
а в World Space координаты масштабируются в месте с холстом и короч не очень удобно

Честно говоря, трудно решать подобные задачи, не пробуя разные варианты и не сравнивая производительность. ;)


Сообщение отредактировал InsaneSystems - Пятница, 19 Января 2018, 15:23
InsaneSystemsДата: Пятница, 19 Января 2018, 14:26 | Сообщение # 117 | Тема: Множество объектов
участник
Сейчас нет на сайте
defGMDefeloper, насчёт шейдеров совет, конечно хороший, но человек без знаний в них никогда не сможет подобное самостоятельно сделать, а примеры из интернета вряд ли подойдут под конкретную задачу.

Насчёт программного решения, объясняю ваши основные проблемы в данный момент.
Проблема:
Вы используете на каждом объекте MonoBehaviour. При этом поведение абсолютно одинаковое и в данном случае это нерационально.
Решение:
Используйте один общий скрипт, хранящий массив или список звёзд. Это как минимум упростит логику взаимодействий и даже, возможно, ускорит быстродействие игры. Плюс открывается новая возможность - можно использовать многопоточное прохождение цикла в данной задаче, поскольку последовательность тут не важна. По этому поводу погугли c# parallel for, лично я в юнити это не использовал пока что. Но это позволит более выгодно использовать ресурсы процессора и увеличит производительность игры.
Проблема:
У вас для каждой звезды вызываются методы Camera.main.WorldToScreenPoint и Vector3.Distance, а ещё и SetColor для материала, как я понял. Почитайте про быстродействие каждого из этих методов и умножьте задержку выполнения на количество звёзд (10к в данном случае) и получите время, которое это занимает при обработке процессором. А теперь вспоминаем, что Update выполняется каждый кадр, и такая задержка соответственно будет каждый кадр.
Решение:
Необходимо либо сократить количество вызовов данных методов (например, как-нибудь обобщить для нескольких звёзд), либо вызывать их реже, чем каждый кадр. Допустим, 10 раз в секунду. Или разбить выполнение одной задачи (for по всем звёздам) на несколько кадров, что сократит задержки выполнения и увеличит производительность. При должной реализации можно добиться приемлемого результата.

Но, честно говоря, к решению такой задачи стоит, наверное, подойти иначе. Как именно - зависит только от ваших умений и креативности. 10к UI-элементов на экране это уже само по себе нехорошо очень.

P.S.: для того, чтобы избавиться от Camera.WorldToScreenPoint, можно использовать Canvas с Render Mode типа World Space.


Сообщение отредактировал InsaneSystems - Пятница, 19 Января 2018, 14:34
InsaneSystemsДата: Суббота, 13 Января 2018, 22:16 | Сообщение # 118 | Тема: Вопрос-[ответ] по Unity
участник
Сейчас нет на сайте
Petra, Можно, с помощью Quaternion.Lerp.
InsaneSystemsДата: Вторник, 09 Января 2018, 20:58 | Сообщение # 119 | Тема: Как сделать перемещение врага по миру
участник
Сейчас нет на сайте
tduk, мыслишь в верном направлении. Что именно не работает? Если игра 3D, то зачем по оси Y считаешь рандомную точку? Это ведь ось высоты.
InsaneSystemsДата: Вторник, 09 Января 2018, 19:26 | Сообщение # 120 | Тема: c#
участник
Сейчас нет на сайте
Почему бы просто не использовать uint?
Форум игроделов » Записи участника » InsaneSystems [134]
  • Страница 6 из 7
  • «
  • 1
  • 2
  • 4
  • 5
  • 6
  • 7
  • »
Поиск:

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