• Что означает 19 в описании ошибки Юнити?

    GavriKos
    @GavriKos Куратор тега Unity
    Символ от начала строки.
    Ответ написан
    Комментировать
  • Что не так с поворотом?

    WNeZRoS
    @WNeZRoS
    Всё зависит от того что вы хотите получить и что такое "криво выглядит".

    Можно, например, делать интерполяцию, тогда при подходе к 3 метрам расстояния дополнительный угол плавно уберётся:
    angle = Mathf.LerpAngle(angle, angle - additionalAngle, direction.magnitude - 3);


    А можно не давать целится ближе 3 метров:
    if (direction.magnitude < 3)
        targetPos = ownerPos + direction.normalized * 3;


    PS

    На вопрос можно было бы получить ответ быстрее если прикладывать больше контекста:
    - больше кода - всё что относится к повороту
    - как настроены объекты
    - видео или гифку с проблемой
    - видео как хотелось бы чтобы оно работало
    Ответ написан
    2 комментария
  • Как правильно отправить команду на устройство по BluetoothLowEnergy?

    402d
    @402d
    начинал с бейсика на УКНЦ в 1988
    Имхо минимальный пакет 6 байт. Попробуй два зеро байта длины нагрузки добавить к запросу статуса. И ахз как там код команды идёт. Не прокатит младший, старший, то поменяй местами
    Ответ написан
    Комментировать
  • Почему в Unity я хожу на A вправо, на d в лево, на w назад, на s вперед?

    by_kapt0xa
    @by_kapt0xa
    Учу кресты катаюсь на велике
    Vector3 moveDir = -new Vector3(Input.GetAxisRaw("Horizontal"), 0, Input.GetAxisRaw("Vertical")).normalized;
                      ^ вы уверены что вам нужен тут минус?
    Ответ написан
    Комментировать
  • Как удалить объект при касании другого объекта в юнити 3д?

    @Zerg89
    If (x) do Deststroy object
    Ответ написан
    Комментировать
  • Как доказать Google, что мой аккаунт разработчика не связан с другим?

    402d
    @402d
    начинал с бейсика на УКНЦ в 1988
    Сложно и имхо бесперспективно.
    У Вас серия про стикмана ?
    То есть вы написали 3-5 игр из 300+ подобных в плее (это те у кого стикман в названии и т п)
    Топ 9 по запросу имеет 100М+
    Так что ваши 5 лямов установок за 7 лет незначительный процент . А если глянуть на мау там наверное вообще микроскопический с точки зрения гугла.
    Ин аппы или рекламная сетка от гугла в приложениях есть ?
    Доля гугла в месяц на ваших доходах хотя бы 100 баксов была (а 15% от него) ?

    В общем я даже не знаю насколько крутым нужно быть для модерации живым человеком ?
    В этом году на мои аппеляции отвечал похоже ИИ. Живой человек понял бы обсурдность претензий.
    Или если смотрел все таки живой, то никак не мог поменять алгоритмы автомодерации для редкого исключения и отписывался шаблоном (собственно повтором первого письма)
    Ответ написан
    Комментировать
  • Дрожит камера в игре на godot4 при перемещении, как исправить?

    Lumus
    @Lumus Автор вопроса
    Изучаю питон, знаю html css
    Проблема во мне, лазил по настройка проекта и случайно поставил галочку на какойто херне по сглаживанию, всё исправилось646358d945687621845231.png
    Ответ написан
    1 комментарий
  • Можно ли менять цвета логотипов App Store и Google Play?

    @Drno
    Можно, разрешаю
    Ответ написан
    Комментировать
  • Где учить c# с нуля для игр?

    freeExec
    @freeExec
    Участник OpenStreetMap
    Учат в школе, учат в школе, учат в школе. И вопрос не задавать, самому ответ искать, учат в школе, учат в школе, учат в школе.
    Ответ написан
  • Можно ли назвать это обучение?

    @Viilture
    Разработчик С/С++/Python (Desktop/Embedded)
    Личное мое мнение:
    При обучение программирования сначало нужно просто ставить себе задачу и выполнять её, как можно интенсивнее, не важно, что вы большую часть не понимаете, главное, чтобы программа работала, постепенно пробелы будут уменьшаться.
    Потом вы начнете понимать больше, потом все пойдет в память.
    После этого нужно начинать читать книги о том, как это все работает внутри на самом деле, а не как этим пользоваться. Это уже 2 этап обучения.
    Потом другие языки, матан, алгоритмы и тд. Новые технологии(Хотя их не так много на самом деле, лучше сконцентрироваться на чем то реально важном и ценном. Программист, который просто умеет писать на С++,Python,Java и C# менее ценный, чем программист с очень глубокими практическими познаниями вышмата и алгоритмов, физики(Смотря, что за отрасль))
    Ответ написан
    2 комментария
  • Как подключиться к внешнему IP с помощью tcp?

    @none7
    В нынешних условиях когда каждое подключение проходит через домашний роутер с NAT, нет не у кого "белого" ip-адреса(глобального, внешнего), кроме как у серверов. Даже если "белый" ip-адрес выдаётся провайдером роутеру(что не факт), то нужно сперва пробросить порт через UPnP или пользователем вручную. В последнем случае пользователь должен указать Вашей программе адрес и порт. Конечно есть ещё IPv6, но тех у кого он есть не слишком много. Есть Teredo, но включать его без спроса пользователя не стоит. Да и как любая технология основанная на STUN, работает он не всегда. Метод который работает абсолютно всегда это VPN, который будет проксировать подключения.
    Кстати Ваш код очень наивен. У меня в системе есть сетевые адаптеры виртуальных машин, VPN-соединений, даже могут быть дополнительные Loopback, ну и конечно физические. В каком порядке будут выдаваться адреса всех этих адаптеров?
    Ответ написан
    6 комментариев
  • Как подключиться к внешнему IP с помощью tcp?

    @Flatt10342
    Да, это возможно, но при соблюдении одного условия - белый IP адрес у сервера. В этом случае сервер будет доступен для всех, кто знает IP вашего сервера. Для этих целей вы так же можете использовать сторонние сервисы, например, NGROK.
    Однако, обратите внимание, что в таком случае вы работаете с url, а не с IP адресом.

    Если же вы хотите, чтобы сервер был доступен только конкретным участникам, то вы можете поднять свой VPN сервер и выдать сертификаты всем, кто сможет в дальнейшем воспользоваться вашим сервером. Т.е. доступ к этой сети будет строго ограничен теми людьми, у которых есть учетные данные и сертификат. Одним из вариантов реализации такого решения может стать, например, OpenVPN.

    Здесь адресация будет работать так же, как и в локальной сети
    Ответ написан
    Комментировать
  • Как закрасить 2D многоугольник, созданный с помощью LineRenderer?

    GavriKos
    @GavriKos Куратор тега Unity
    Встроенными средствами - никак.

    Можно детектить что у вас замкнулся лайн и генерировать меш.
    Можно - очень через дупу - че то мутить с рендер текстурой.
    Ну и еще навреняка есть пачка вариантов
    Ответ написан
    Комментировать
  • Как избежать зависания во время выполнения огромного цикла for?

    @Ezekiel4
    Охотник на пиратов и сборщик монолитов
    Так или иначе, вам придётся делать задачу в фоне. Если одна корутина работает долго, разбейте задачу на несколько корутин, каждой делегируйте свою часть. Если принципиально важно всё делать в один поток, делайте работу до вызова результата и сохраните в кэш, после просто показав результат.

    Если данные варианты вам не подходят и вы хотите обойтись прогрессбаром, то разбейте задачу на шаги, в вашем случае шаги итерации, и после завершения каждого добавляйте +1/к-во шагов к величине прогресса, просто вызывая это в конце блока цикла.
    Ответ написан
    Комментировать
  • Возможно ли уменьшить строку с цифрами в 10 раз и потом вернуть её обратно?

    NikFaraday
    @NikFaraday
    Student full-stack Developer
    Технически, это сделать можно, но для этого вам нужно более детально изучить методы кодирования информации, вот одни из самых простых, которые вы можете реализовать:

    • Алгоритм Шеннона — Фано
    • Алгоритм Хаффмана
    • Метод LZ77
    • Метод LZSS
    • Метод LZ78
    • Метод LZW
    • Метод Хэмминга (Сложный)
    Ответ написан
    Комментировать
  • Плавное движение и вращение персонажа с помощью acceleration.x?

    K0TlK
    @K0TlK
    Буллю людей.
    Код твой изменять не буду, сам все перепишешь на моем примере.

    Начнем с низов. Есть ввод от игрока. Для этого ввода вводим интерфейс:
    namespace SmoothMovement
    {
        public interface IPlayerInput
        {
            float Acceleration { get; }
        }
    }


    Далее нам нужно сглаживать этот Acceleration, значит вводим еще один интерфейс:
    namespace SmoothMovement
    {
        public interface ISmoothAcceleration
        {
            float Smooth(float acceleration, float input);
        }
    }


    Далее реализуем IPlayerInput:
    using UnityEngine;
    
    namespace SmoothMovement
    {
        public class MobileInput : MonoBehaviour, IPlayerInput
        {
            public float Acceleration { get; private set; }
    
            [SerializeField] private float _minAcceleration = -1f;
            [SerializeField] private float _maxAcceleration = 1f;
            [SerializeField] private float _smoothMultiplier = 5f;
            [Range(0, 1)] [SerializeField] private float _fadingSpeed = 0.01f;
    
            private ISmoothAcceleration _smoothing;
    
            private void Awake()
            {
                _smoothing = new SmoothedAcceleration(_minAcceleration, _maxAcceleration, _smoothMultiplier, _fadingSpeed);
            }
    
            private void Update()
            {
                Acceleration = _smoothing.Smooth(Acceleration, Input.acceleration.x);
            }
        }
    }


    В апдейте присваиваем свойству Acceleration сглаженное значение инпута. Далее само сглаживание:
    using UnityEngine;
    
    namespace SmoothMovement
    {
        public class SmoothedAcceleration : ISmoothAcceleration
        {
            private readonly float _multiplier;
            private readonly float _minValue;
            private readonly float _maxValue;
            private readonly float _fadingSpeed;
    
            
            public SmoothedAcceleration(float minValue, float maxValue, float multiplier, float fadeSpeed)
            {
                _minValue = minValue;
                _maxValue = maxValue;
                _multiplier = multiplier;
                _fadingSpeed = fadeSpeed;
            }
            
            public float Smooth(float acceleration, float input)
            {
                if (input == 0)
                {
                    acceleration = Mathf.Lerp(acceleration, 0, _fadingSpeed);
                    return acceleration;
                }
                
                acceleration += input * _multiplier * Time.deltaTime;
                acceleration = Mathf.Clamp(acceleration, _minValue, _maxValue);
    
                return acceleration;
            }
        }
    }


    Есть минимальные и максимальное значение ускорения, множитель - чем он больше, тем быстрее разгоняться будет и скорость затухания ускорения - чем больше тем быстрее ускорение будет стремиться к нулю. И тест:
    using UnityEngine;
    
    namespace SmoothMovement
    {
        public class TestMovement : MonoBehaviour
        {
            [SerializeField] private MonoBehaviour _input = null;
            [SerializeField] private float _speed = 10f;
            
            
            private IPlayerInput Input => (IPlayerInput)_input;
    
    
            private void OnValidate()
            {
                if (_input is IPlayerInput) return;
                
                Debug.LogError($"{nameof(_input)} should implement {nameof(IPlayerInput)}");
                _input = null;
            }
    
            private void FixedUpdate()
            {
                Move(Input.Acceleration);
            }
    
            private void Move(float direction)
            {
                if (direction == 0) return;
                
                var position = transform.position;
                position.x += direction * _speed * Time.deltaTime;
                transform.position = position;
            }
        }
    }

    Инжектим IPlayerInput через инспектор, двигаем геймобжект. С вращением делай сам что-нибудь, я не знаю как у тебя там что должно вращаться
    Ответ написан
    Комментировать
  • С помощью каких фреймоворков создают мобильные приложения на Java?

    azerphoenix
    @azerphoenix Куратор тега Java
    Java Software Engineer
    Подскажите, с помощью каких фреймоворков создают мобильные и десктоп приложения на Java?

    Добрый день.
    Десктоп - платформа JavaFX. Остальные старые либы, но используются и по сей день. Например, swt, awt, Swing
    Мобайл - на Java пишут нативно под андроид используя Android SDK.
    Под iOS есть вроде бы Multi-OS Engine - https://multi-os-engine.org/ , но я сам никогда его не использовал.
    Если хотите кросплатформенно писать мобайл приложения, то смотрите в сторону React Native (javascript, typescript) или Flutter (Dart). Ну и изучив js можно писать десктоп на ElektonJS
    Ответ написан
    2 комментария
  • С помощью каких фреймоворков создают мобильные приложения на Java?

    Десктопные - при помощи какого-нибудь Swing.
    Мобильные - при помощи Android SDK и того что идёт с ним (под ios не выйдет, ибо инструментов соответствующих нет)
    Но вообще я бы лучше посмотрел в сторону Kotlin, так как у него в этом плане экосистема лучше (Compose)
    Ответ написан
    3 комментария
  • Как исправить ошибку в юнити CS1061?

    QuiShimo
    @QuiShimo
    Держу путь на бекэнд :)
    Т.к. самого текста ошибки нет, предположу, что это опечатка вmoney.ToSpring()
    Должно быть так:
    money.ToString()
    Ответ написан
    Комментировать
  • Как сгладить границы между тайлами?

    freeExec
    @freeExec
    Участник OpenStreetMap
    Можно включить у текстуры билинейную интерполяцию. Но лучше конечно взять каждый пиксель и "разбить" его на четыре, пересчитав цвета для каждого из нового пикселя.
    Ответ написан
    Комментировать