Ответы пользователя по тегу C#
  • ScreenCapture.CaptureScreenshot Или Application.CaptureScreenshot не могу разобраться?

    MrMureno
    @MrMureno Куратор тега Unity
    VR for all
    Для начала, оба ваших метода делают одно и тоже, это и есть один и тот же метод, только
    Application.CaptureScreenshot - устаревший, его перенести из Application, и его лучше не использовать.

    "показывать полученный скриншот в отдельном окошке UI " - вот эту часть на компе вы сделали??
    если да, то ничего сложного сделать тоже самое на мобилках
    просто используйте
    https://docs.unity3d.com/ScriptReference/Applicati... (путь к папке для приложения, не надо будет получать права записи и точно работает на iOS и Андроид)

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

    тут уж простите каждый из пунктов - гуглить и выяснять и реализовывать - это уже обучение и за вами остается.
    ( а уж всякие, закончилось место, удалять старые, сохранять в выбранное место (на анроиде только прокатит, ай ос же закрытая и не даст пихать просто куда попало) - это уже вообще отдельныу темы)
    Ответ написан
    Комментировать
  • Разработка мобильных приложений на C#?

    MrMureno
    @MrMureno Куратор тега Unity
    VR for all
    Если вам именно приложения - то Xamarin отличный выбор.
    Если вдруг игры - и вообще что то с графикой, а не UI - то удобнее будет Unity.

    Материалов что по первому, что по второму - много. а вот русскоязычного - привыкайте что всегда будет не хватать. без англ на уровне чтения документации - почти бесполезное дело искать что-то посложнее чем "как сделать нажатие на кнопку"

    Про UI систему и там, и там есть. Подробнее особо не раскажешь, там уже конкретно смотреть надо как оно в Xamarin и Unity сделано.
    Ответ написан
    3 комментария
  • Как поднять объект на определенную высоту в Unity3d?

    MrMureno
    @MrMureno Куратор тега Unity
    VR for all
    Вариантов масса, от навесить анимацию или запустить коронтину, до использовать твиннер или Lerp между двумя запомненными позициями)

    тут больше вопрос в том где это происходит (по методу или на апдеите обязательно как у вас). будет ли там физика. нужно ли когда поднялась до конца дверь - событие тригерить?
    Ответ написан
  • Как реализовать возможность нажатие кнопки только администратору?

    MrMureno
    @MrMureno
    VR for all
    https://stackoverflow.com/questions/5953240/c-shar...
    ну и так , в дополнение к комментарию, первая же ссылка в гугле.
    уж как при наличии булевского флага -"запущенно от имени админа" - надеюсь справитесь с блокировкой клика (или не отображать кнопку, или еще что там в голову придет)
    Ответ написан
    Комментировать
  • Какая программа нужна для создания 2D объекта?

    MrMureno
    @MrMureno Куратор тега Unity
    VR for all
    вы про векторную графику что ли? в юнити нет её поддержки.
    https://habrahabr.ru/company/microsoft/blog/326262/
    прочитайте к примеру эту статью.
    По сути вам просто рисовать разрешением побольше, чтоб не было заметно, экран все равно в пикселях , хоть вы там почти идеально круглую плоскость сделаете из полигончиков..
    Ответ написан
  • Где Ошибка в коде (ввод в Unity)?

    MrMureno
    @MrMureno Куратор тега Unity
    VR for all
    Changename у вас вполне себе может быть без параметра.
    Как вы указали у себя на скрине красными стрелочками - это не из текстового поля текст возможность передать, а методу что-то подпихнуть из Editor (никак не связанно с вводом)

    вам в скрипте надо где то указать или получить ссылку на
    InputField

    using UnityEngine;
    using UnityEngine.UI;
    using System.Collections;
    using System;
    using System.Collections.Generic;
    
    public class Chose : MonoBehaviour {
    public InputField nameField;
      public int i=0;
      public string [] m = new string[100];
      public List <string> films = new List<string>(100);
      public void Changename()
      {
        string newName = nameField.text;
        films.Add(newName );
        i += 1;
        Debug.Log("Имя" + i +", название фильма - " + newName );
      }
      public void WriteAllOfThem()
      {
        foreach (string p in films)
        {
          Debug.Log (p);
        }
      }
    }
    class Film
    {
      public string Name { get; set; } 
    }


    только в инспекторе не забудьте указать ссылку на это текстовое поле.
    и так к слову по этой ссылке мы можете и подставлять текст в это поле и формат менять, да и вообще как без ссылочки на элемент вы хотели с ним работать?))
    Ответ написан
    4 комментария
  • Помощь с аудио в unity5?

    MrMureno
    @MrMureno Куратор тега Unity
    VR for all
    AudioSource audioSource;

    сделайте public и назначте в инспекторе ссылку..

    audioSource.PlayOneShot у вас по сути вызывает
    this.GetComponent<AudioSource>().PlayOneShot
    а по скринам видно, что на объекте, на котором висит walkscript - нет аудиосорса.
    ну или повесьте его на объект "mario right"..как собственно в ошибке и написанно.

    Update
    И для уточнения и понимания
    Вы поидее малость путаете AudioSource и AudioClip
    AudioClip - просто ссылка на сам аудио фаил.
    AudioSource - по сути "плеер", которому можно "скормить" аудиофаил и набор настроек для воспроизведения.
    и вот собственно плеера на mario right и нету.
    он есть на отдельном JumpSound - но вы неправильно ищите в walkscript Start() или забыли на него ссылку сделать.
    Ответ написан
  • Unity C# - Как, после получения урона персонажем, дать ему неуязвимость?

    MrMureno
    @MrMureno Куратор тега Unity
    VR for all
    Update()
    {
      timer -=Time.deltaTime;
      if(timer<=0)
      {
         godMode = false;
      }
      else
      {
           godMode  = true;
      }
    }


    в момент как захотели сделать неуязвимым, увеличили таймер на N. пока не станет равным нулю - будет флаг неуязвимости.
    Ну а как по флагу сделать чтоб урон не домажил, думаю вы уже разберетесь)
    еще вариант просто установить флаг и через Invoke - выключить его через 2 секунды.
    // где то в момент получения урона и включения неуязвимости
    godMode = true;
    Invoke("OffGodMode",2f);
     ////
    
    void OffGodMode()
    {
      godMode  = false;
    }
    Ответ написан
    Комментировать
  • Как сделать чтоб шарик катился быстро через AddTorque?

    MrMureno
    @MrMureno Куратор тега Unity
    VR for all
    answers.unity3d.com/questions/402913/how-to-increa...
    оставлю ссылку на вот этот пост.
    вам по идее нужно maxAngularVelocity поднять.
    Ответ написан
  • Входная строка имела неверный формат, как как лучше переделать?

    MrMureno
    @MrMureno
    VR for all
    Да, скорее всего банально все. у вас в текстбоксе четвертом..ну вот случаем..не перепутано? точно четвертый? и там не "пустая" строка? или лишний символ?
    как на счет пошагово отладить и посмотреть, что пробуете конвертировать?
    и сами увидели б, и людям могли показать что там у вас.

    А так компилятор не врет, у вас не верный формат числа, не число там вообще. буквы, пробелы, пустота))
    Ответ написан
    5 комментариев
  • Причуды Unity3D или GFX.WaitForPresent?

    MrMureno
    @MrMureno Куратор тега Unity
    VR for all
    gfx.waitforpersent - и подобные вызовы в профаилере всего лишь указывают, что проц или видео ожидают видео или проц (соответственно).
    Тоесть что-то является узким местом и не дает на полную работать.
    В Вашем случае видимо видеокарточка успевала бы быстрее отрисовывать, но проц чем-то занят и не отдает так часто на отрисовку данные. Выключив скрипт с волнами - сняли вычисления с проца видимо..и стало больше кадров.
    Ну и тут как бы очевидно что вычислений у вас в Апдеите - многовато. столько умножений.. и каждый кадр. и на каждую вершину меша, небось и не самого простого..
    Ответ написан
    2 комментария
  • Корутина c#Unity, не срабатывает,в чем ошибка синтаксиса?

    MrMureno
    @MrMureno Куратор тега Unity
    VR for all
    void Start()
    {
    print("wait.."); 
    StartCoroutine(Sec()); //запустили коронтину и тут же вернули управление в основной поток
    print("5sec later"); //само собой сразу выполнится все что после запуска короунтины
    }
    ....................................................................
    IEnumerator Sec()
    {
    print("start coroutine"); //Выводится сразу
    yield return new WaitForSeconds(5f); 
    print("5sec later"); //через 5 секунд
    }
    Ответ написан
  • Готовые игры для примера?

    MrMureno
    @MrMureno Куратор тега Unity
    VR for all
    https://unity3d.com/ru/learn/tutorials/topics/2d-g...
    как же вы так искали. и там же на саите и флапи берд подобная игра и просто по 2d игре какой-то минимум
    https://unity3d.com/ru/learn/tutorials/topics/2d-g...
    в общем то, в любом случае вам с официального и кране качественного контента для обучения начинать бы.

    (ну и научиться искать, по запросу "unity tutorial 2d game" - первые же ссылки)
    Ответ написан
    1 комментарий
  • AdMob Rewarded Video. Что я делаю не так?

    MrMureno
    @MrMureno Куратор тега Unity
    VR for all
    Создавайте все эти синглтоны для рекламы, статистики и прочее подобное в одной сцене самой первой стартовой (какой нибудь SingltonLoader ). которая не будет повторно грузится (а при загрузке не будет создаваться еще один дубликат объектов для доступа к апи)
    Ответ написан
    Комментировать
  • Как смещать позицию с помощью Дочерних объектов, тем самым сместить позицию в Центр?

    MrMureno
    @MrMureno Куратор тега Unity
    VR for all
    https://docs.unity3d.com/ScriptReference/Rigidbody...
    Не знаю поможет ли эта ссылка вам, но подозреваю что floatingGameEntityFlat.centerOfMassOffset банально переопределяет вот это вот)
    Там же есть метод заставляющий Физическое тело (Rigidbody) пересчитать центр масс, а считается он банально на основе геометрии коллайдеров , из которых "слепленн" объект
    Ответ написан
    2 комментария
  • Как сдвинуть канвас на screenspace overlay?

    MrMureno
    @MrMureno Куратор тега Unity
    VR for all
    Он на то и оверлей, его нельзя сдвинуть. можешь по нему перемешать только элементы и изменять их размер.
    А канвас как был плоскостью на вьювпорт/экран - так и останется.
    Ответ написан
  • Как удалить объект из иерархии с помощью луча?

    MrMureno
    @MrMureno Куратор тега Unity
    VR for all
    толком и не понял в чем собственно вопрос. Как вместо всего родительского объекта удалить только пару детишек внутри??
    Тут целая масса вариантов.
    1) Отдельные слои/теги для нужных объектов (так же лучом смотрим куда попали, только не первый попавшийся объект. а все кого луч зацепил. RaycastAll метод)
    2) по прежнему попав лучом в родительский объект - просто по именам искать (если однотипные или объекты с определенным компонентом. FindChild , GetComponent и тд.
    3) Наверно мой любимая вариация варианта номер 2 - на родительские однотипные объекты навесить скрипт(или разные скрипты с наследованием) аля "Инфо о здании" какой нить BuildingComponentRefs.cs ,в котором пару публичных ссылок с подставленными нужными объектами. и возможно даже пару методов для работы с ними, для упрощения себе жизни. всякие аля "Выключить всё" "Включить все" "Пометить красным" и тд и тп. Получаться префабы с уже настроенными/подставленными ссылками. и ничего искать не надо, предполагая что на родительском объекте висит этот "описывающий" скрипт (и так как ссылки подставляются ручками, то не обязательно имена и места/иерархию в префабах прям так строго соблюдать)

    Но все вообще сильно упирается в начальную архитектуру приложения и то как вы там что у себя реализовали и что планируете дальше.
    Ответ написан
    3 комментария
  • Почему не работает Debug.ClearDeveloperConsole?

    MrMureno
    @MrMureno Куратор тега Unity
    VR for all
    https://docs.unity3d.com/ScriptReference/Debug.Cle...

    Description

    Clears errors from the developer console.
    как бы в документации все сказано. варнинги, ошибки и сообщения в консоль - поидее разные вещи)

    А на деле в коментах вариант решения и предположительно ответ - почему не срабатывает.
    Ответ написан
  • Почему оно не превращает строку в числовой масив?

    MrMureno
    @MrMureno
    VR for all
    Вы не описали что значит "не превращает" - эксепшн вылетает?
    У вас скорее всего банально trash[i] - элемент массива не является числом. ввели какие нить буквы или другие символы. не число. или вы рассчитывали букву "a" превратить в число??
    Ответ написан
  • Куда пропадает рабочее пространство Unity?

    MrMureno
    @MrMureno Куратор тега Unity
    VR for all
    Как и у обычного компонента камеры, у камеры в Scene View - есть границы ближе и дальше которой не рисует.(в обычной камере Near и Far )
    Так вот вы в плоский предмет прям уткнулись.Пропало отображение только в SceneView. Сами объекты по прежнему все на месте.Так что вы не могли таким вот образом "запороть" сцену.
    Ответ написан