Ответы пользователя по тегу C#
  • Как сделать уничтожение двух объектов по истечению времени на Юнити?

    MrMureno
    @MrMureno Куратор тега Unity
    VR for all
    а что не так?
    вроде про колизии и тригеры вы в курсе.
    как удалять объекты в курсе.
    про проверку по тэгу - тоже вроде знаете.

    если этот код не копипаста - то описывайте что именно не так работает и на что ругается.

    из того что на глаза попалось
    if (Enemi.tag == "UltA")
    разве так тэг видит?? Enemi - это же коллизия. надо у нее брать геимобджект или коллайдер
    Ответ написан
    2 комментария
  • Как получить информацию о Image Target Parameters?

    MrMureno
    @MrMureno Куратор тега Unity
    VR for all
    https://library.vuforia.com/articles/Solution/Opti...

    судя по всему как и код распознавания , код по реитингу меток - сугубо внутри движка. делаете базу и вам говорят какие у вас метки. видать не нужно им стороннее приложение считающее тоже самое)))
    Ответ написан
    Комментировать
  • Как задать для объекта новую систему отсчета поворота?

    MrMureno
    @MrMureno Куратор тега Unity
    VR for all
    вам придется разобраться с Quaternion, вместо копипасты((
    https://docs.unity3d.com/ScriptReference/Quaternio...

    тогда появится понимание как "добавить 90 градусов вокруг оси N к текущему повороту"

    дело в этих двух строчках
    Quaternion to = transform.rotation;
    to *= Quaternion.Euler( axis * angle );

    не помню как делал для себя такой же один в один куб)) попробуйте умножение в другом порядке (кватернионам важно, что на что умножать))
    to = Quaternion.Euler( axis * angle ) * to;

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

    плюс в конце цикла анимации сделайте
    transform.rotation = to;
    чтоб не было углов по 88,9 и так далее, а то лерп не докручивает каждый раз по чуть чуть и накапливается))
    Ответ написан
  • Можно ли из сайта, написанного на ASP.NET - сделать кроссплатформенным приложением?

    MrMureno
    @MrMureno
    VR for all
    https://habr.com/ru/company/ruvds/blog/352200/
    условно - можно что-то в духе такого сотворить. но на сколько это рационально и адекватно - под большим вопросом.
    проще будет прикрутить REST API для серверной части и делать адекватное приложение. или оставить саит саитом, если разговор про "почитать страницу"
    Ответ написан
    Комментировать
  • Как записать данные в один файл xml без перезаписи?

    MrMureno
    @MrMureno
    VR for all
    так вы же в каждой итерации цикла foreach создаете НОВЫЙ объект

    XmlDocument doc = new XmlDocument();

    Выносите создание из цикла. и не перезаписывайте, а дополняйте)) хотя чую вам хочется не просто текст подряд, а сохранить структуру xml, тогда парсить вам каждый фаилик/ссылку и собирать нужное в один свой.
    Ответ написан
    6 комментариев
  • Не переключается True False. Что делать?

    MrMureno
    @MrMureno Куратор тега Unity
    VR for all
    Input.GetKey(KeyCode.D)

    вот тут проблема основная. кроме мешанины флагов которые вас путают))
    почитайте чем отличается
    GetKey
    GetKeyDown
    GetKeyUp.

    и поймете. что GetKey - может несколько раз за кадр сработать.

    и еще важный момент INPUTделать на Update (каждый кард для отзывчивости и адекватности).
    не на FixedUpdate (это под физику)
    Ответ написан
    1 комментарий
  • Как вращать объект по двум точкам, а не по центру?

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

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

    или для вращения используйте какой то трюк. пусть вагон поворачивает чуть раньше, беря за цель куда должен "смотреть" точку на рельсах чуток впереди себя на пару метров) эдакий LookaHead

    очень уж много зависит от текущей реализации движения по пути))
    Ответ написан
    Комментировать
  • Как отследить трафик в unity?

    MrMureno
    @MrMureno Куратор тега Unity
    VR for all
    Делаете полноценную интеграция.
    в игру встраивается SDK фэисбучная. и при инициализации его отсылается что-то вроде "это я вот установил такую то приложуху"
    в фэисбуке заведена приложуха (айдишник по сути и доступ к статистике и рекламной компании в вашем случае)

    и вот. подставляя рекламу фэисбук запоминает различные идентификаторы пользователя. и если он и рекламу посмотрел и потом скажем в течении суток поставил игру - считается инсталом.

    но конкретно по феисбуку надо узнавать предлагают ли они рекламу по инсталам. возможно конвертация - это уже ваша проблема, они возможно только просмотры или клики продают.

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

    они продают билборд, а не "мы вам игроков приведем"
    Ответ написан
  • Как решить проблему неправильного спауна?

    MrMureno
    @MrMureno Куратор тега Unity
    VR for all
    не знаю что там раньше было, но сейчас по коду, каждый цикл физики (странно почему не в Update сделали)
    у вас проверяется не задело ли лучом.
    так как циклов пару десятков в секунду - ничего удивительного что срабатывает условие несколько раз почти подряд))

    может там раньше иначе устроен таймер был.
    или в настроиках проекта fixedDeltaTime зачем-то меняли на какое то довольно большое значение (что по сути не стоило делать)
    Ответ написан
    Комментировать
  • Почему не фокусируется InputField в Unity?

    MrMureno
    @MrMureno Куратор тега Unity
    VR for all
    скопирую в ответ, для кого-нибудь в будущем (тем более даже автор вопроса попросил)

    а скриншот иерархии? что там в настроиках инпутфилда у вас покажете?
    EventSystem есть в сцене?
    в канвасе евент камера выставлена? на самом канвасе висит график реикаст?
    чтоб оно могло ловить клики и прочее))

    рядом просто кнопки есть? они нажимаются? (ну то есть убедится ,что просто евенты кликов попадают на канвас)


    так же было предложение сделать пустую новую сцену и сделать тест на "чистовую"

    создайте просто из меню Юнити, в новой чистой сцене
    GameObject -> UI -> Canvas.
    Потом на канвасе - UI -> InputField.

    Всё, дефолтный пример ,который точно работает - у вас есть. сравнивайте с вашим, смотрите что отличается.
    надеюсь найдете)

    и как итог
    необходимо было добавить EventSystem.
    Вы были правы, спасибо.
    Ответ написан
    1 комментарий
  • Что делать что бы перестал трястись gameobject?

    MrMureno
    @MrMureno Куратор тега Unity
    VR for all
    вы бы код оформили как код.

    а по делу.
    вы знаете что делает у вас кусок (и такой же для Y )
    pos.x += Mathf.Sign(direction_x) * speedMove * Time.deltaTime; ??

    а понимаете полностью суть проверки
    if (Mathf.Abs(direction_x) < maxDis && Mathf.Abs(direction_y) < maxDis) ??

    ну и главное , у вас как только "поровняются" объект и его цель -они не будут один в один совпадать координатами.
    у вас значение direction_x и direction_y будет становиться то крохотным положительным, то крохотным отрицательным.
    связанно это с тем что вы двигаете объект за целью, независимо от текущего между ними расстояния.
    всегда, если не слишком далеко друг от друга - начинает преследование.
    и как бы близко не подошел к цели движется со скоростью (условно то самое
    pos.x += Mathf.Sign(direction_x) * speedMove * Time.deltaTime; ))

    в итоге чуток обгоняет. начинает двигаться обратно. отстает - снова начинает обгонять.

    как решение можете ввести минимальное расстояние, на котором считается что уже "догнал" и перестать преследовать.
    Ответ написан
  • Как решить проблему с In-App Purchase in Unity3D 2018.3?

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

    MrMureno
    @MrMureno Куратор тега Unity
    VR for all
    я просто оставлю здесь мнение, вдруг вам поможет что-нибудь осознать) - что делать в тетрисе проверку путем "прощупывания лучом" - довольно таки странно.
    и как оно покрывает варианты для горизонтальной палки? лучи из каждого края? а если палка на ПИК серединой наткнулась?

    а конкретно по вопросу
    transform.position - вернет вам Pivot (Центр объекта).
    как таковые крайние точки можете задать отдельно в фигурах, просто разместив пару дочерних Transform, и ссылки на них сохранив в какой то контейнер.
    Если у вас фигуры - это цельный кастомный меш - то можно еще посмотреть в сторону
    https://docs.unity3d.com/ScriptReference/Mesh-boun...
    чтобы узнать граничные точки меша.

    ну а узнав точки из которых луч хотите послать - просто подставляйте из координаты вместо transform.position.

    если все вышеописанное вызывает недоумение и непонимание - то англ. и туториалы по юнити - зарабатывать шишки, то есть опыт))
    Ответ написан
    3 комментария
  • Unity как исправить ошибку десериализации?

    MrMureno
    @MrMureno Куратор тега Unity
    VR for all
    Item : MonoBehaviour{

    Вот тут проблема зарыта. нельзя создать просто объект наследованный от MonoBehaviour. только через AddComponent.

    Вам надо данные от компонента хранить отдельно.
    Делайте Item : MonoBehaviour компонентом. вешайте его на нужный объект в сцене и все такое.
    а данные храните в
    ItemDATA
    а в Item : MonoBehaviour - поле с ссылкой на данные или еще какое преобразование и "запихивание" данных))

    суть в общем то простая, нельзя сериализовать компонент, только данные))
    Ответ написан
    Комментировать
  • Что не так с GetComponent?

    MrMureno
    @MrMureno
    VR for all
    Добавить бы Tag Unity

    А ошибка явно указывает что нет ссылки на GameObject output - или стер её какой то скрипт, или не назначили.
    или назначили в префабе ссылку на объект на сцене, а потом и не заметили как при создании префаба на сцене ссылка - пуста.

    Или назначили в это поле префаб и не инстанцировали его на сцене.

    И так же, по сути придирки но все же.
    Не обзывать бы классы и переменные в глобальном нэимспеисе console и output.
    И классы обычно с заглавной именуют) и не такими общими резервными почти что словами))
    назовите CustomConsol или GUIConsole, чтоб потом проблем не встретить с похожими именами в плагинах.

    Надеюсь что то из этого поможет
    Ответ написан
  • Как записать характеристики нескольких персонажей?

    MrMureno
    @MrMureno Куратор тега Unity
    VR for all
    "варьировать кол-во этих листов в зависимости от кол-ва созданных минуту назад персонажей"

    вот это уже какая то каша в голове у вас пошла.

    Попробуйте в отрыве от игры и персонажей. сделать какое нибудь сохранение данных.
    Для начала что-то очень простое и абстрактное. Тот же список персонажей, но у персонажей есть ТОЛЬКО ИМЯ , к примеру.

    Что в такой вот упрощенной ситуации мешает создать 12 имен? или 5 из 12?
    а по номеру в списке получить данные о персонаже (имя) тоже по идее не проблема?
    надеюсь что нет.

    А теперь кроме имени у персонажа есть параметр ВОЗРАСТ. то есть не список из string NAME.
    А список состоящий из элементов MyCLASSorSTRUCT (свой собственный класс с нужными внутри полями)
    Если тут возникают проблемы - вперед в гугл читать что-нибудь про это))
    условно что-то в духе
    https://dzone.com/articles/different-ways-of-creat...
    https://www.c-sharpcorner.com/UploadFile/mahesh/cr...

    Потом если все это дело сохранять и сохранения загружать - то читайте про сериализацию данных. в тот же Json должно быть вполне удобно. по запросу аля "unity сохранить объект в json" как нибудь найдется, что-то))

    а там уже с более конкретными проблемными местами (если возникнут) - с новыми вопросами на тостер ))
    Ответ написан
    1 комментарий
  • Как починить ошибку связанную с работой в коде?

    MrMureno
    @MrMureno Куратор тега Unity
    VR for all
    а что за платформа??
    адроид наверное? а покупки из play market?

    а в логе есть сообщения об успешной инициализации и подобное?))

    и если андроид - то представьте себе все это будет работать на устройстве, не в Editor. (нет у вас в винде Play Store, как ни странно)))

    и если опять же какая то мобильная платформа, то там в документациях описано как тестировать, не забыть настроить консоли разработчика, тестовые аккаунты, бета альфа версии и все прочее (на ios тоже не все так просто что запустил Editor и готово))

    Читайте документацию. собирайте и читайте логи. тестируйте на устройстве. удачи.
    Ответ написан
    7 комментариев
  • Как вы используете тени в мобильных играх?

    MrMureno
    @MrMureno Куратор тега Unity
    VR for all
    https://habr.com/ru/company/mailru/blog/243737/

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

    MrMureno
    @MrMureno Куратор тега Unity
    VR for all
    если вы про свернутое приложение - то там все не так просто. фоновая активити. манифестик. плагин. в недра андроида лезть.

    если вы про "запустил игру и оно само играет"
    то у компонента AudioSource - есть документация
    https://docs.unity3d.com/ScriptReference/AudioSour...

    и там отлично описано что делает параметры - playOnAwake и loop.
    Разбирайтесь. читайте. удачи.
    Ответ написан
    Комментировать
  • Как записать результаты функций поочередно?

    MrMureno
    @MrMureno
    VR for all
    Что нужно сделать??
    Все просто вам надо написать другую функцию, которая будет выводить в нужном формате))

    если в bina() и в Encrypt() одинакова "длина строки", то переписать так чтоб они выдавали по одному символу, в зависимости от входного параметра. что то наподобие
    string result;
    for(int i=0;i<SomeCount();i++)
    {
    result +=bina(i) + Encrypt(i)
    }
    textBox1.Text = result;


    это так общий принцип. а вообще формулировка и постановка вопроса отвратительная, а значит и понимание задачи хромает..
    Ответ написан
    7 комментариев