Задать вопрос
  • Что делать если персонаж не прыгает в unity 2d?

    @DrRen7
    вероятно человек учится и использует public что б задавать параметры в инспекторе.
    И да будет правильнее использовать SerializeField но вопрос не в этом)
    Написано
  • Как сделать чтобы платформа ждала в конечной и стартовой точке заданное время?

    @DrRen7
    kroliczek,
    такого быть не должно
    MoveTowards это изменение вектора 1 в вектор 2 с определенной страстью, есть вариант с
    if(Vector3.Distance(_platform.transform.position,targetPos)>0.1f)

    или можно сделать другой вариант через интерполяцию
    if (reversed) pos -= Time.deltaTime * distance;
    else pos += Time.deltaTime * distance;
    if ((pos < 1f) && (pos > 0f))
    {
        _platform.transform.position = Vector3.Lerp(startPoint.position, endPoint.position, pos);
    }
    else _canMove = false;

    так получается что ты двигаешь от 0 до 1 или наоборот где 0 это значение 1(вектор) а 1 это вектор 2 тогда не надо будет задать новый таргет а просто изменить значение reversed на противоположное
    Написано
  • Игровой объект, на котором есть свойство Rigidbody, очень медленно падает с высоты?

    @DrRen7
    Moskaa,
    direction.Set(Input.GetAxis("Horizontal) * speed,rb.velocity.y,Input.GetAxis("Vertical") * speed);
     rb.velocity=direction;

    AddForce просто добавляет силу условно тот же velocity, если так передвигать персонаж надо делать ограничение в идеале должно получится вот так
    Vector3 movementVector = transform.forward * movementInput.y * CurrentSpeed + transform.right   * movementInput.x * CurrentSpeed;
    
     if (IsGrounded) RB.velocity = Vector3.Lerp(RB.velocity, movementVector, Config.MovementBlendRate);
    else if (Config.AirControl)
    {
    movementVector.y = RB.velocity.y;
    RB.velocity = Vector3.Lerp(RB.velocity, movementVector, Config.MovementBlendRate);
    }
    Написано
  • Как сделать зацикленное проигрывания видео в кликере, когда игрок нажимает кнопку, и когда перестает кликать, плавную остановку видео?

    @DrRen7
    var videoPlayer =  GetComponent<UnityEngine.Video.VideoPlayer>()


    вот не помню, вроде через подключение библиотеки UnityEngine.VideoModule можно следить за статусом VideoPlayer
    Написано
  • Не компилируется код в Unity. Как исправить?

    @DrRen7
    koha0281, ну варианты такие
    1)это ошибка в скрипте он может быть не прикреплен к объекту по этому в инспекторе ошибки не будет
    2)удален какой то из модулей/пакетов
    3)баги среды или юньку
    попробуй создать новый проект и там протестить, на голом можно протестить 3 пункт потом поставить те же Unity Package что и в основном проекте что б избавится от 2 пункта
    Написано
  • Не компилируется код в Unity. Как исправить?

    @DrRen7
    Создается скрипт и нет загрузке. Обычно такое происходит когда в проекте уже есть скрипт что не может скомпилироваться вариант когда название скрипта и класса не совпадают, когда в названии/в скрипте есть не латинские буквы, ну и как вариант повторные/системные названия
    Написано
  • Как исправить error CS1955: Non-invocable member 'Transform.position' cannot be used like a method?

    @DrRen7
    Верно, но судя по контексту вот что нужно
    other.gameObject.transform.position = new Vector3(x, y, z);
    Написано
  • Как можно определить когда игрок находится в темноте, а когда под светом?

    @DrRen7
    Есть ещё вариант с проверкой цветов рядом но будет в разы затратнее.
    А так да самый легкий вариант это триггер на источнике, который вызывает LineCast у перса к источнику и если не доходить то перс в тени
    Написано
  • Почему видеоплеер на unity 2D пропадает?

    @DrRen7
    Сделай скрин канваса и его дочерних объектов
    Написано
  • Ошибка в юнити. Как исправить?

    @DrRen7
    ChangeStory в DialogueStory public ?
    Написано
  • Ошибка со скриптом NullReferenceException. Unity что делать?

    @DrRen7
    попробуй сделать компоненты глобальными и получить их после загрузки сцены
    Skins skins;
            GameObject Store;
            Store = GameObject.FindGameObjectWithTag("MainCamera");
            skins = Store.GetComponent<Skins>();

    можно переписать как
    Skins skins = Camera.main.GetComponent<Skins>();
    а так у тебя подписано в какой строке ошибка, пометь как то в коде тогда мб что ещё заметят
    и название переменных с маленькой буквы стоит начинать, хорошая привычка и читаемость

    Ну ошибка в public void MySave()
    попробуй по дебажить начни с
    Skins skins = Camera.main.GetComponent<Skins>();
    
    if(skins==null )Debug.log("initialization of the bug"); 
    Debug.Log(YandexGame.savesData.sand);
    Debug.Log(skins.Sand);
    YandexGame.savesData.sand is int ?Debug.Log("Ok"):Debug.Log(" Not INT");    тут за место инта должно долно быть skins.Sand не уверен что верно написал, надо проверить что YandexGame.savesData.sand и skins.Sand одинаковы по типу
    Написано
  • Как убрать лимит в 30 фпс на телефоне?

    @DrRen7
    Project setting => Player => Resolution and Presentation => optimizedFramePacing=false
    а ну Application.tagretframrate = 60 оставляем
    Написано
  • Почему GameObject null?

    @DrRen7
    kaliboba,
    ну камера это
    _camera=Camera.main;
    Ну в итоге все и пришло к тому что проблемы с заполнением скрипта) Хотя странно что рейкаст вообще сработал если луча нету
    Написано
  • Почему GameObject null?

    @DrRen7
    kaliboba,
    Ну так это тож самое что и у тебя просто чуть оптимизированей)
    И так все было верно сейчас просто костыли ищем.
    Ну есть такой вариант сделать shootPF дочерним объектом, объекта с этим компонентом.
    ///===///
     GameObject Decal = Instantiate(GetGO(), hit.point + (hit.normal * .01f));
     Decal.transform.SetParent(null); //под вопросом 
    ///===///
    GameObject GetGO()
    {
        return transform.GetChild(0).gameObject;
    }

    не знаю почему у тебя пропадает shootPF но если его нет и проблем нет)
    Написано
  • Почему GameObject null?

    @DrRen7
    kaliboba,
    хмм интересно, у декали нет никаких скриптов? можно попробовать передавать не GameObject а любой компонент что есть у делаки и инстатить его и будет тож самое, скрипт есть только на 1 объекте

    чучуть поправил код просто чтоб не создавать ещё один GO, больше из того что показано не выжать
    if (Input.GetMouseButtonDown(0))
     {
         Ray ray = _camera.ScreenPointToRay(Input.mousePosition);
         if (Physics.Raycast(ray, out RaycastHit hit))
         {
            if(hit.transform.gameObject.TryGetComponent(out EnemyCode enemy))
             {
                 enemy.hit();
             }
             else
             {
                 if (shootPF == null) Debug.LogError("Instance Bug");
                 GameObject Decal=Instantiate(shootPF,hit.point + (hit.normal * .01f));
                 Decal.transform.forward = -hit.normal;
                 Decal.transform.SetParent(hit.transform);
             }
         }
     }
    Написано
  • Почему GameObject null?

    @DrRen7
    a3dline,
    не тут дело не в этом всеравно первый возможный инстанс будет в апдейте. И вот сейчас возможно не прав но переменные из инспектора инициализируются при онэнайб
    Написано
  • Почему GameObject null?

    @DrRen7
    kaliboba,
    Ну оно и не будет работать если нету объекта который дублируется, вот только он не должен теряться если он поставлен через инспектор и не создается заново.
    Надо поискать где теряется if(shootPF==null) Debug.Log("Bug"); в авейке и старте, потом попробовать сделать дубликат на сцене и брать его, странная фигня если честно
    Написано
  • Почему GameObject null?

    @DrRen7
    kaliboba,
    странно можно попробовать
    [SerializeField] Transform shootPF;
    ////....///
    GameObject decal= Instantiate(shootPF.gameObject, hit.point + (hit.normal * .01f),Quaternion.identity);
    decal.transform.forward=-hit.normal;

    больше с shootPF нигде нет взаимодействия?
    Написано
  • В инспекторе скрипта исчезает компонент листа с прифабами после запуска и остановки сцены, как можно исправить?

    @DrRen7
    EggrUOR,
    попробовал у меня все работает единственное что выкинул это
    [SerializeField] Slider MapSizeSlider, EmptinessSlider, BrightnessSlider;

    заменил просто на инты
    66788ab990c50329061626.png
    так что ошибка не в скрипте , мб ошибка в заполнении или баг юньки я пробовал на 2022.3.30
    Написано
  • В инспекторе скрипта исчезает компонент листа с прифабами после запуска и остановки сцены, как можно исправить?

    @DrRen7
    EggrUOR,
    В скрипте все норм, тут наверно проблема с префабами попробуй кинуть их на сцену и из сцены добавь в скрипт. Если ошибка после этого пропадет тогда надо будет в старте сделать метод на проверку загрузки а потомно только разрешать с ними работать.
    Хотя есть вопрос про спавн выхода и спавна, мб там стоит прописать удаление комнаты из листа перед уничтожением, а что ставятся на замену просто добавлять
    Написано