Ответы пользователя по тегу Unity
  • Почему не работает аутентификация?

    MrMureno
    @MrMureno Куратор тега Unity
    VR for all
    https://github.com/playgameservices/play-games-plu...
    я просто оставлю это здесь.
    кроме того что версия более чем годичной давности, так еще бы вам уточнить как вы тестировали проверяли? в Editor (так он и не сможет в эдиторе авторизоваться, только на живом устройстве и в документации про это пишут)? На устройстве? Лог с устройства покажете с запросом и ответом, тамна сколько помню плагин "говорливый"?
    Ответ написан
  • Как лучше сохранять уровни в Unity?

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

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

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

    Если захотите прям пример кода - то вперед смотреть и читать официальные туториалы от Unity о том как делать базовые вещи.
    Ответ написан
    Комментировать
  • Как сделать скрипт, чтобы проходить препятствия, как на этом примере?

    MrMureno
    @MrMureno Куратор тега Unity
    VR for all
    Есть (как уже указал TheTalion) Rigidbody
    Так же есть MeshCollider, который сделает вам коллайдер по форме меша.
    Но тут есть проблема в том что мешКоллайдер по производительности и "адекватности" - плохая идея.
    Вот вам еще на мануал ссылка, там про склеику коллаидеров, какие друг с другом взаимодеиствуют и прочее полезное .
    По сути хорошим тоном было бы из примитивных BoxCollider сделать стены для вашего лабиринта, они все равно будут у вас static и "склеятся в сцене", так что с производительностью проблем быть не должно.
    Ответ написан
  • Вопрос к инди разработчикам игр на Unity3D?

    MrMureno
    @MrMureno Куратор тега Unity
    VR for all
    Ничего сверх естественного не приходилось использовать. Но минимальные знания вроде матриц, сферических координат, структур данных, алгоритмов, вектора и операции с ними и тп. постоянно изо дня в день помогают делать не "копируем вот это вот рабочее, которое не понятно толком как выполняет свою работу"

    как-то так)
    Ответ написан
    Комментировать
  • Как передвинуть объект в Unity 3D?

    MrMureno
    @MrMureno Куратор тега Unity
    VR for all
    Я бы уточнил что за объект?!
    Если спраит, то так же как у вас в примере (И там тоже Vector3, просто Z координату не обязательно менять)
    посмотрите какие бывают "виды" Translate

    Если же вы про какой-то canvas элемент , то там ужу RectTransform и малость по другому, но тогда вам стоило б описать.

    В любом случае стоило описать что за объект вы двигать собрались)
    Ответ написан
    Комментировать
  • Почему не активируется объект после функции ***.gameObject.SetActive(true);?

    MrMureno
    @MrMureno Куратор тега Unity
    VR for all
    за вызовом childObj.gameObject прячется по сути childObj.FindObject(), а поиск не найдет отключенные объекты.
    Сохраните ссылку сразу на GameObject ,а не на Transform
    Ответ написан
  • Что за ошибка в Unity3d?

    MrMureno
    @MrMureno Куратор тега Unity
    VR for all
    MeshCombineUtility это старый престарый скрипт.
    там в нем есть галочка/настроика связанная с TriangleStrip - такой вариант склеивания неактуален и бесмысленен)
    так вот все это (код который исполняется при этом флаге) можно смело удалить из скрипта и пользоваться как будто этот флаг не вставлен. и будет вам счастье.
    И вообще если вам не нужно склеивать на рантаиме модели - можете вообще весь скрипт и его зависимости удалить.
    Ответ написан
    2 комментария
  • Как загрузит 3d модели в unity?

    MrMureno
    @MrMureno Куратор тега Unity
    VR for all
    a16a: https://docs.unity3d.com/Manual/Shaders.html
    все подряд из радела по ссылке читайте, изучайте, подтягивайте теорию
    Начать работать с юнити и не попасть где-нибудь в уроке на создание и использование материалов - не реально.
    Означает что вы почти не смотрели обучающих уроков по работе в юнити, какие-нибудь скрипты только что ли ?
    Ответ написан
    Комментировать
  • В юнити критично на C# писать игру или на JS?

    MrMureno
    @MrMureno Куратор тега Unity
    VR for all
    Смотрите сами:
    1) не js , а UnityScript там, просто синтаксис похож на js.
    2) все ассеты, плагины , библиотеки - куда проще найти в C# варианте.
    3) не дай боже вам смешать c# и js в проекте, это можно и бывает даже, но это кошмар. Вызовы из одного в другой. очередность и прочие прелести(
    4) пункт скорее к п.2 относится, но официальные туториалы от юнити почти все на С# уже делают.

    А на выходе все равно почти под все платформы уже компилируется у них в баит код, так что все равно на чем пишете.
    Ответ написан
    3 комментария
  • Как заменить картинку в unity?

    MrMureno
    @MrMureno Куратор тега Unity
    VR for all
    Как вам уже и укзали UI.Image.sprite
    только вот не Sprite, а sprite
    И настроики импорта у текстуры/изображения должны быть именно для спраита, не текустура по умолчанию как стоит.

    Другими словами вы не сможете впихнуть в UI текстуру, но сможете спраит.
    Ответ написан
    7 комментариев
  • Как включить анимацию у объекта по нажатию на кнопку E?

    MrMureno
    @MrMureno Куратор тега Unity
    VR for all
    Если вы про простую анимацию , а не аниматор...
    Пробовали просто Play On Awake?
    Если работает через Play On Awake неправильно имя указали.
    Если же и так не запускается то смотрите сюда Как проиграть анимацию из кода в Unity3D?
    Ответ написан
    Комментировать
  • Как сделать так чтобы модель вращалась в unity 3d?

    MrMureno
    @MrMureno Куратор тега Unity
    VR for all
    Самое простое - повесить на неё анимацию зацикленную.
    Можете просто в скрипте добавить вращение.

    Сейчас у вас инстанциирует модельку по маркеру. а будет инстанциировать префаб состоящий из модельки с анимацией/скриптом

    Если справились с вуфорией и маркером и тд, то как реализовать описанное выше - тоже справитесь думаю)
    Ответ написан
  • Delta Time или Fixed Delta Time?

    MrMureno
    @MrMureno Куратор тега Unity
    VR for all
    тут важно б уточнить что даже в документации упоминается что deltaTime само "мутирует"(начинает считаться как fixedDeltaTime) в fixedDeltaTime, если использовать его в FixedUpdate. так что с этим можно не заморачиваться)

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

    По сути же , вам насколько принципиальна точность?
    Если прям до долей секунд - то вам нужно засекать время через что-то системное) в духе таймеров меряющих производительность методов в коде и тд)
    Если же вам погрешность в 1/30 секунды..плюс минус..не критична) то просто на Update плюсуйте свой таймер и не страдайте)
    Ответ написан
  • Как проиграть анимацию из кода в Unity3D?

    MrMureno
    @MrMureno Куратор тега Unity
    VR for all
    https://docs.unity3d.com/ScriptReference/Animation...
    для начала используйте метод не устаревший. (хотя может у вас конечно еще четвертая версия юнити)

    во вторых, точно проверьте название анимации "On"

    и если точно есть в списке и название правильное.
    то дело в том как вы её создали ) точнее в кривости юнити)
    выберите анимацию и в дебаг режиме инспектора проверьте чтоб в ней стояла галочка Legacy
    https://docs.unity3d.com/Manual/InspectorOptions.html - это про то как включить дебаг отображение инспектора

    уточню именно анимацию саму, а не компонент Anomation
    Ответ написан
  • Как определить какая кнопка мыши была нажата?

    MrMureno
    @MrMureno Куратор тега Unity
    VR for all
    Замените его на Update c проверкой Input
    Как вот на пример в документации)
    https://docs.unity3d.com/ScriptReference/Input.Get...
    И луч в коллайдер послать, проверить в какой объект попали.
    Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
            if (Physics.Raycast(ray, 100))
                print("Hit something!");


    Еще как вариант почитать про новый интерфеис и как с помощью него реализовать (тут уже самому много погуглить)
    https://docs.unity3d.com/ScriptReference/EventSyst...
    Ответ написан
  • Как запустить видео в Unity VR(Cardboard)?

    MrMureno
    @MrMureno Куратор тега Unity
    VR for all
    По сути правльно рассуждаете, MovieTexture нужен. и текстуру из него транслировать в материал.
    Видео из поддерживаемых нативно чтоб кодеки не добавлять)
    удобнее всего mp4 контйнер какой-нибудь c h.264+AAC внутри.

    Ну а на деле, все же плагин из ассет стора, который умеет работать с нативной реализацией видеоплеера для оси (андрой и ios ) и что не мало важно проигрывать стрим видео и с карточки памяти и тд. (а муви текстур это надо парсить заранее и в проект складывать)
    Принцип работы плагина(вдруг решитесь копать и свой писать) по сути сводится к
    - создать активити нативную плеера
    - "скормить" ему видео
    - получать с видео плеера (той самой активити) текстуру (кадр)
    - натянуть эту текстуру на антисферу (для 360)
    (приправить все это шейдерами для рендера и обертками для работы из юнити)

    Но на всякий уточню еще раз, что по сути плагин баксов за 70 - 150 сэкономит времени вам (и денег больше своей стоимости)
    И еще момент MovieTexture поддержка скоро в Unity прекратиться, они новое апи для видео в версии 5.6 выкатывают , а старое будут прикрывать как сверх неудобное и почти бесполезное((
    Ответ написан
    3 комментария
  • Вращение камеры вокруг объекта свайпом в Unity3D?

    MrMureno
    @MrMureno Куратор тега Unity
    VR for all
    Очень надеюсь что про сваип в гугл вы тоже найдете, там вроде все просто.

    А вот по инерции принцип подскажу.
    По сути в таче(и в курсоре мышки) есть дельта https://docs.unity3d.com/ScriptReference/Touch-del...
    По сути - на сколько сместилась за кадр (если на апдеите считываете)
    Так вот можно просто дельту, можно за несколько кадров усредненную (как кому больше нравится) - запомнить.

    Вот эта запомненная дельта и будет мерой инертности) И по сути вам нужно просто продолжать на апдеите применять такую жу дельту к вращению и потихоньку её уменьшать (банально в том же апдеите множить на что то меньшее и близкое к единице, какие нибудь 0,97)

    Собственно множитель и будет мерой инертности)

    //////////
    	                    Vector2 position = UnifiedInput.position();
    	                    dLong = -position.x * longitudeSensivity;
    	                    dLat = position.y * latitudeSensivity;
    
    	                    velocity += new Vector2(dLat, dLong);
    	           
    	                //      Also implement tap controls
    
    	                if (velocity.sqrMagnitude > boundary * boundary)
    	                {
    	                    float dt = Time.deltaTime;
    
    	                    Vector2 prevVelocity = velocity;
    	                    velocity -= dt * damping * velocity;
    	                    if (Vector2.Dot(velocity, prevVelocity) <= 0)
    	                        velocity = Vector2.zero;
    
    	                    latitude += dt * velocity.x;
    	                    longitude += dt * velocity.y;
    
    	                    latitude = Mathf.Clamp(latitude, 0 + boundary, Mathf.PI - boundary);
    	                    longitude = Mathf.Repeat(longitude, 2 * Mathf.PI);
    
    	                    relativePosition = SphericalToCartesian(longitude, latitude, orbitRadius);
    	                }
    	              
    	                this.transform.position = this.realTarget.transform.position + this.relativePosition;
                    	this.transform.LookAt(this.realTarget.transform);
    
    ///////
    private Vector3 SphericalToCartesian(float longitude, float latitude, float radius)
        {
            float x = radius * Mathf.Sin(latitude) * Mathf.Cos(longitude);
            float y = radius * Mathf.Cos(latitude);
            float z = radius * Mathf.Sin(latitude) * Mathf.Sin(longitude);
            return new Vector3(x, y, z);
        }
    Ответ написан
    3 комментария