• Как решать задачи по программированию математическим путем, а не "в тупую"?

    hint000
    @hint000
    у админа три руки
    Возможно, буду нескромен, но всё же приведу в качестве иллюстрации несколько своих ответов:

    Всё это несложные задачи, постановка которых доступна для понимания любому, но которые требуют немножко математического мышления.
    Безусловно, здесь есть много лучших примеров применения математики в программировании от других участников, просто свои мне было проще найти.
    Или тут только надо учить математику и все, но вроде знаю её но применять не особо умею
    Если база есть, то учиться применению - примерно так же, как ребёнок учится ходить, учится говорить. Т.е. наблюдать, как это делают другие и пробовать-пробовать-пробовать, пока не начнёт получаться. Каких-то волшебных рецептов нет, просто мозг постепенно привыкнет мыслить определённым образом.
    Ответ написан
    Комментировать
  • Как решать задачи по программированию математическим путем, а не "в тупую"?

    vabka
    @vabka
    Токсичный шарпист
    Чтобы решать математическими методами - да, нужно знать математику. В частности дискретную, тк чаще именно её использую при решении алгоритмических задач.

    Книга есть. Начать можно с достаточно толстой: Алгоритмы, построение и анализ.
    Например там в начале показан пример, как найти (или хотябы доказать корректность) решение при помощи индукции, доказывая, что на каждом шаге алгоритма будет выполняться какой-то инвариант (например что вся левая часть массива отсортирована после того, как мы перешли к правой)
    Ответ написан
    Комментировать
  • Какой из методов выполнится быстрее в Start разных скриптов?

    GavriKos
    @GavriKos Куратор тега Unity
    Порядок стартов в разных геймобджектах не определен. Но - старты не выполняются одновременно. Т..е сначала выполнится один старт (а или б - неизвестно), закончится, а потом второй.
    Ответ написан
    2 комментария
  • Пропадут ли изменения если объединить 3 ветки?

    sabramovskikh
    @sabramovskikh
    При слиянии веток будет конфликт и вы сможете решить какие изменения оставить, а какие убрать
    Ответ написан
    Комментировать
  • Как узнать, достиг ли я уровня Junior Unity Developer?

    NikS42
    @NikS42
    Unity developer
    На позицию джуна этого может и хватить в некоторых командах. Но только в некоторых. Обычно должно быть неплохое теоретическое знание программирования. алгоритмы, структуры данных, то, как работает c#, сборка мусора, система типов. Человек, по примерам людей из интернета что-то собравший, можно считать, ничего и не умеет. Это заслуга разработчиков движков, создавших интуитивно понятный продукт, которым могут пользоваться даже дети. Но пользование движком не имеет никакого отношения к разработке игр, там важны совершенно другие вещи. В некоторых командах, обычно или довольно слабых или наоборот, способных и желающих вырастить себе разработчика с ~~полного нуля~~чистого листа. Джун может тупить, делать не лучшим образом, но ДОЛЖЕН уметь слушать и непрерывно работать над собой. Учиться как надо делать и не спорить. И если не получил до этого, получать теоретические знания, без которых полноценным разработчиком не стать, даже разобрав саму юнити вдоль и поперек. Обычно джун забирает время старших коллег на свое обучение. В ГК обычно джуны не нужны, там предпочтительны люди с опытом от middle, способные взять проект (Обычно, с нетривиальной механикой. Все таки, ГК не первый год существует, и игрока уже надо чем-то удивлять и цеплять. Многие ГК игры сейчас это сложнореализуемая фича в минималистичном окруженим) и выполнить его самостоятельно в короткие сроки.
    Ответ написан
  • Как можно проверить какой скрипт создает объект?

    @Ezekiel4
    Охотник на пиратов
    Если у вас нормальная IDE, можете запустить поиск по всем файлам метода Instantiate. А если не влом руками поковыряться, можете выключить все объекты сцены и понемногу их включать перед каждым перезапуском, проверяя, не прошёл ли спавн.
    Ответ написан
    3 комментария
  • While Do не работает?

    GavriKos
    @GavriKos Куратор тега Unity
    Ну так первая дистанция больше 300. false && true && true даст false. Цикл и прервется.

    P.S. за такие циклы в целом надо руки отрубать. Их время выполнения неизвестно от слова совсем. Могут вообще никогда не завершитсья
    Ответ написан
  • Как можно зарисоватьб область на миникарте?

    freeExec
    @freeExec
    Участник OpenStreetMap
    Такое делают в шейдере, например. Допустим это спрайт на всю карту, ты в шейдер передаёшь нужные данные, координаты креста или ещё что нужное. А в шейдере определяешь попал данный пиксель в зону или нет, а если попал то проверяешь он на решётке или нет и красишь соответственно.
    Ответ написан
    3 комментария
  • Как внедрить seed для рандомизации шума перлина?

    freeExec
    @freeExec
    Участник OpenStreetMap
    float noiseValue = Mathf.PerlinNoise(XPos + RandomX, YPos + RandomY);
    Ответ написан
    Комментировать
  • Какие есть способы оптимизации Post Processing для телефона?

    @Ezekiel4
    Охотник на пиратов
    К сожалению, процессинг (да и URP в целом) - это не про производительность. Тут есть всего два пути - лёгкий, то есть просто отключить и придумать что-то другое и геморный - ковыряться руками и всё оптимизировать под конкретно вашу игру для телефона. Или, хотя бы, под мобильную платформу.
    Это довольно трудозатратная задача, поэтому имеет смысл посмотреть в сторону готовых решений. Я не пробовал бесплатные варианты, так что хз что там норм, но вот то, что использовал я:
    https://assetstore.unity.com/packages/vfx/shaders/...
    Ответ написан
    Комментировать
  • Как можно зафиксировать позицию дочернего объекта после проигрывания анимации?

    @Ezekiel4
    Охотник на пиратов
    Либо с помощью пустой ноды, либо разделив анимацию на слои (в аниматоре слева раздел Layers), либо использовать скрипт вместо анимации. Не видя иерархии и вообще самой анимации точнее не могу сказать, что-то из этого должно подойти
    Ответ написан
    2 комментария
  • Как разделить 3D модель на конечности?

    @Ezekiel4
    Охотник на пиратов
    Вроде были дополнения для работы с мешами в юнити, но они $15++ стоят, и имеют функционал далёкий от того же бесплатного блендера, который предлагаю вам использовать. Также в блендере легче и приятнее анимировать модели, ведь можно управлять такими вещами, как веса костей, чтобы, например, при подъёме задней ноги не деформировалась геометрия крупа или хвоста.
    Ответ написан
    3 комментария
  • В какой последовательности лучше учить паттерны проектирования?

    @mayton2019
    Bigdata Engineer
    Как говорят "дорога ложка к обеду".

    Design patterns надо учить применительно к вашему проекту. Вот как они у вас возникают в проекте - так и учите.
    И никакой учитель или теоретик все равно не знает где оно у вас полезно а где - оверинжинеринг.

    Не забывайте про YAGNI/KISS.
    Ответ написан
    Комментировать
  • В какой последовательности лучше учить паттерны проектирования?

    @d-stream
    Готовые решения - не подаю, но...
    Учат - стихи.
    Паттерны - изучают. До полного понимания что это и зачем. Со временем - осознают это. Ну или нет...)
    Ответ написан
    Комментировать
  • В какой последовательности лучше учить паттерны проектирования?

    @12rbah
    В каком удобнее, сначала обычно рассматривают GoF читаете про них, пишете базовые примеры, и пробуете применить их на практике, например фабрику можно довольно много где применить, а абстрактная фабрика часто бывает излишней. Потом можно изучать более специфические паттерны типа Circuit Breaker или Saga.
    Ответ написан
    Комментировать
  • В какой последовательности лучше учить паттерны проектирования?

    Ugolnikovvv
    @Ugolnikovvv
    Junior Frontend-разработчик
    Последовательность учебы паттернов проектирования не имеет какого-либо особого значения, важно только то, чтобы вы хорошо понимали суть каждого из них и умели применять их на практике
    Ответ написан
    Комментировать
  • Как изменить ambient light только для одной камеры?

    @Ezekiel4
    Охотник на пиратов
    Насколько мне известно - никак, т.к. это глобальные настройки. Если я правильно понял вашу задумку, вы можете выехать за счёт возможности источников освещения светить только на объекты выбранного типа. У компоненты Light самое нижнее свойство - Culling Mask - слои, на которые данный свет способен светить. Аналогичная настройка есть и у камеры.
    Вы можете создать набор слоёв, видимых разными камерами по-разному и также по-разному освещаемыми двумя разными источниками.
    Ответ написан
    Комментировать
  • Почему на RenderTexutre не отображается UI?

    @Ezekiel4
    Охотник на пиратов
    Я распишу весь процесс для тех, кто будет гуглить, вы просто проверьте у себя, всё ли правильно:

    1. Создать основной и дополнительный холст (Hierarchy >> Create >> UI >> Canvas) - на основном вы будете отображать текстуру, в которой будет виден целевой интерфейс;
    2. Создать Render Texture (вкладка Project >> Create >> Render Texture) - это контейнер для графической информации;
    3. В основном холсте создать Raw Image (Hierarchy >> Create >> UI >> Raw Image), в свойство RawImage.texture указать созданную в [2] текстуру - тут мы будем отображать данные текстуры;
    4. Создать дополнительную камеру, в свойство Camera.targetTexture установить текстуру из [2] - а отсюда мы будем данные в текстуру брать;
    5. У дополнительного хоста свойство Canvas.renderMode сменить на "Screen Space - Camera", а в появившемся ниже поле Canvas.renderCamera указать камеру из [4] - это нужно для того, чтобы в текстуру рисовался и UI.
    Ответ написан
    3 комментария
  • Как работает сохранение в Skyrim?

    swanrnd
    @swanrnd
    Издатель HTML5 игр
    Если подробно то так:
    https://en.uesp.net/wiki/Skyrim_Mod:Save_File_Format

    Если кратко.
    Есть мир по умолчанию, если ты вносишь отличие, например заходишь в дом и перетаскиваешь предмет, то записывается,
    Предмет Х передвинут туда-то.
    И такого много.
    Все это хранится в оперативной памяти и сбрасывается с save.

    Это довольно частая практика в играх
    Ответ написан
    Комментировать