• В юнити критично на 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
    Самое простое - повесить на неё анимацию зацикленную.
    Можете просто в скрипте добавить вращение.

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

    Если справились с вуфорией и маркером и тд, то как реализовать описанное выше - тоже справитесь думаю)
    Ответ написан
  • C#. Как в WebBrowser просто загрузить страницу?

    MrMureno
    @MrMureno
    VR for all
    Не знаю почему вы не воспользовались гуглом, но вам просто надо
    private void Form1_Load(object sender, EventArgs e)
        {
          WebBrowser wb = new WebBrowser();
          wb.AllowNavigation = true;
    
          wb.DocumentCompleted += new WebBrowserDocumentCompletedEventHandler(wb_DocumentCompleted);
    
          wb.Navigate("http://www.google.com");
    
       }
    
        private void wb_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
        {
          WebBrowser wb = sender as WebBrowser;
          // wb.Document is not null at this point
        }


    И Navigate - это метод, в него нельзя присвоить URI, оно задается параметром метода как в примере выше.
    (это собственно по поводу ошибки CS1656)
    Ответ написан
  • Delta Time или Fixed Delta Time?

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

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

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

    MrMureno
    @MrMureno
    VR for all
    так прям если совсем по хорошему, то конечно просто держать в голове надо бы что именно для геимплея важно сохранить. что сериализовать и тд.
    И не заморачиваясь особо с самим сохранением, защитой сеивов и тд. просто отдавать себе отчет что вот эти вот парочку переменных и вот здесь еще инвентарь и вот тут положение на карте - лучше повыделять в отдельные адаптеры и потом удобно через них работать. хоть локальный сеив , хоть с сервера потом его получай.

    То есть если в кратце, проэктировать с оглядкой на то что будете сохранять, а реализацию сохранений можно отложить на потом.
    Ответ написан
    1 комментарий
  • Как проиграть анимацию из кода в 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 комментария
  • Как добавить библиотеку MySql в Unity проект?

    MrMureno
    @MrMureno Куратор тега Unity
    VR for all
    А разве в гугле не выдало https://habrahabr.ru/post/185594/ ??
    как в статье не помогает?
    Ответ написан
    5 комментариев
  • Почему Canvas в Unity не видит импортированные картинки?

    MrMureno
    @MrMureno Куратор тега Unity
    VR for all
    Я просто для прояснения оставлю здесь это.

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

    Канвас работает с спраитами, для этого вам правильно советуют выбрать настроики импорта для текстуры корректные.

    Ну и так из общего, юнити все текстуры, какой формат ей не "скармливай"(хоть psd , хоть tga, хоть jpeg), хранит в своем формате текстур, зависящем от настроек импорта.
    Ответ написан
    Комментировать
  • Как решить проблему с компиляцией .apk файла в Unity?

    MrMureno
    @MrMureno Куратор тега Unity
    VR for all
    Неужели из лога не ясно что у вас две папки для ресурсов гугл сервисов
    "res\values"
    вам даже пишет что одно для версии 10.0.1 второе для версии 10.2.0.
    Удалите старую. и вообще удалите сервисы версии 10.0.1.
    Ответ написан
    Комментировать
  • Как решить проблему с конвертом Java classes into dex format, Unity - GPG Plugin?

    MrMureno
    @MrMureno Куратор тега Unity
    VR for all
    already added: Lcom/google/android/gms
    У вас дубликат метода. где то в проекте есть еще плагин/библиотека с таким же методом. Что-то для GSM , пуши какие-нибудь.
    Как вариант на крайняк (если нет идей что такое еще может в себе содержать гугл сервисы частично) - удалять jar фаилы по одному пока не найдется виновник
    Ответ написан
    Комментировать
  • Как исправить CS0119?

    MrMureno
    @MrMureno Куратор тега Unity
    VR for all
    А теперь по делу.
    transform.rotation = Quaternion (new Vector3 (transform.rotation, transform.rotation, rotation));
    Вы СОЗДАЕТЕ объект типа Quaternion , а при создании объектов используется new (выделение памяти и тд и тп).
    тоесть должно бы быть
    transform.rotation = new Quaternion (new Vector3 (transform.rotation, transform.rotation, rotation));

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

    Многовато повторений и так уже, но повторюсь - вам бы какой нибудь курс "Основы программирования" в обязательном порядке
    Ответ написан
    1 комментарий
  • Как написать библиотеку под Unity3D чтобы она работала на Android?

    MrMureno
    @MrMureno Куратор тега Unity
    VR for all
    Вот вам пару ссылка из документации про плагины.
    https://docs.unity3d.com/Manual/NativePlugins.html
    И вот урок по ним
    https://unity3d.com/ru/learn/tutorials/topics/scri...
    Ответ написан
  • Направление 2D объекта на курсор Unity?

    MrMureno
    @MrMureno Куратор тега Unity
    VR for all
    Положение курсора вы знаете и так - Input.mousePosition
    Получить точку в "мире игры" - Camera.ScreenToWorldPoint

    А поворачивать объект - Transform.LookAt
    Ответ написан
    Комментировать
  • Как сохранить сообщения push notifications в unity 3D?

    MrMureno
    @MrMureno Куратор тега Unity
    VR for all
    Могу только на документацию скинуть ссылку (для андроида, думаю в разделе для iOS тоже что-нибудь упомянули)
    https://api.playfab.com/docs/push-for-android

    Advanced Push for Android
    By default, our plugin routes the push notification message to the notification area whether the game is the active app or not. To override this behavior, you will need to be subscribed to the push notification listener and update the plugin with your routing preference.

    To subscribe to the event listener call:

    PlayFabGoogleCloudMessaging._MessageCallback += OnPushReceived;
    Ответ написан
  • Как убрать меню настроек игры Unity?

    MrMureno
    @MrMureno Куратор тега Unity
    VR for all
    File -> Build Settings -> Player Settings

    Справа ищем подменю Standalone Player Settings Ставим значение Disabled у опции Display Resolution Dialog.
    Раньше так было, может куда перенесли.

    И так к слову гугл выдает ответ на это - первое же ссылкой, если уточнить что это не меню настроек, а стартовое меню при сборке PC.
    Ответ написан
    Комментировать