Задать вопрос
  • Как использовать SqLite в Юнити для Андроид?

    kreo_OL
    @kreo_OL
    Медузко -_-
    1. Нужно ли использовать БД на телефонах? (например, если мне нужно сохранить какую-то статистику)

    Традиционно информацию хранят в XML.
    Следующие это БД.
    Затем PlayerPrefs.

    2. Как использовать SqLite совместно с Юнити? (Пожалуйста, киньте примеры, где подробно всё описывается)

    Лично по мне самое простое и хорошее описание можно найти вот тут
    Ответ написан
    Комментировать
  • Как в Юнити обращаться к функциям Андроида?

    BasmanovDaniil
    @BasmanovDaniil
    Геймдизайнер-телепат
    Такое делается через плагин, юнити из коробки ничего не предоставляет. Либо пишете свою обёртку для вызова API андроида, либо качаете готовое решение из магазина.
    Ответ написан
    Комментировать
  • При нажатии на кнопку несколько раз выполняется действие, подробности внутри. Что изменить?

    GavriKos
    @GavriKos Куратор тега Unity
    GetKey возвращает true если кнопка находится в нажатом состоянии, а не именно факт нажимания кнопки (а-ля зажали кнопку.). Если вам нужно отловить одиночное нажатие - GetKeyDown используйте.
    Ответ написан
    1 комментарий
  • Как использовать SqLite в Юнити для Андроид?

    Rou1997
    @Rou1997
    1. Ответ очевиден.
    2. Скорее всего через Jav'ино API, оно входит в Android, но можно и через .NET, есть библиотеки.
    Ответ написан
    Комментировать
  • Как использовать SqLite в Юнити для Андроид?

    iLLuzor
    @iLLuzor
    Java, Kotlin, Android Developer
    1) Нужно, если в этом есть необходимость. Базы данных используют, если нужно хранить большое количество данных.
    2) Это наверняка описано в документации
    Ответ написан
    Комментировать
  • Как создать объект в сцене из Инспектора?

    @vargan
    Еще один вариант - ContextMenu, например:

    [ContextMenu("RunInEditor")]
    	void Start () {
    	
    	}

    И в инспекторе в свойствах компонента появится соответствующий пункт
    1b089208f7446c52b3a68ca7fa417db2.png
    Ответ написан
    Комментировать
  • Как реализовать двойной клик (Double Click)?

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

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

    если и таймер маленький и клики рядом - считает что был дабл клик.

    а там хоть лучом, хоть по интерфеису, принцип останется таким же.

    и все это не оч сложно( но с телефона писать сюда для вас код увы) да и полезно будет самому сделать
    Ответ написан
    3 комментария
  • Как пользоваться git в Visual Studio?

    @Free_ze
    Пишу комментарии в комментарии, а не в ответы
    Git работает отдельно от студии. В VS же есть (опционально) дополнение, благодаря которому с Git можно взаимодействовать прямо из IDE. Допустим, над каждым типом/методом пишется автор крайнего изменения, можно прямо оттуда посмотреть diff по файлу от прошлой версии и т.п.

    По поводу сценариев использования Git можно почитать материалы по gitflow или что-то такое.
    Ответ написан
    Комментировать
  • Как организовать движение в сторону курсора в Unity3d?

    BasmanovDaniil
    @BasmanovDaniil
    Геймдизайнер-телепат
    С помощью Camera.ScreenPointToRay находите луч от камеры по направлению клика. Потом находите точку на земле с помощью Physics.Raycast. Далее берёте вектор направления в эту точку:
    Vector3 toPoint = raycastHit.point - transform.position;

    Чтобы найти вращение берёте Quaternion.LookRotation и передаёте в него toPoint. Имейте в виду, что этот вектор может выходить за плоскость XZ, поэтому перед использованием его нужно спроецировать на плоскость и нормализовать.
    toPoint.y = 0;
    toPoint.Normalize();

    Если вектор был близок по направлению к оси Y, то после проецирования он может оказаться равен нулю. Quaternion.LookRotation будет на это ругаться, поэтому лучше вставить проверку toPoint == Vector3.zero.
    Ответ написан
    Комментировать
  • Как создать объект в сцене из Инспектора?

    BasmanovDaniil
    @BasmanovDaniil
    Геймдизайнер-телепат
    Есть несколько вариантов. Если вы хотите один и тот же метод использовать в редакторе и рантайме, то можно сделать свой инспектор с кнопкой. Например, вы хотите вызвать метод Method в редакторе:
    using UnityEngine;
    
    public class Test : MonoBehaviour
    {
        private void Awake()
        {
            Method();
        }
    
        public void Method()
        {
            Debug.Log("Method");
        }
    }

    Создаёте класс, наследуетесь от UnityEditor.Editor и вешаете атрибут CustomEditor. В папку Editor кладёте скрипт с инспектором:
    using UnityEditor;
    using UnityEngine;
    
    [CustomEditor(typeof (Test))]
    public class TestEditor : Editor
    {
        public override void OnInspectorGUI()
        {
            base.OnInspectorGUI();
    
            if (GUILayout.Button("Method"))
            {
                ((Test) target).Method();
            }
        }
    }

    В результате получите такую кнопку:
    Ziazn
    Если метод нужен только в редакторе, то можете сделать менюшку с помощью MenuItem. Скрипт тоже кладёте в папку Editor.
    using UnityEditor;
    using UnityEngine;
    
    public static class TestUtility
    {
        [MenuItem("Tools/Method")]
        public static void Method()
        {
            Debug.Log("Method");
        }
    }

    Получите такую менюшку:
    HddYD
    Если жаждете приключений, то можете ещё попробовать EditorWindow, но я бы начал с инспектора.

    Для конкретно генерации вам могут пригодиться атрибуты HideInInspector и SerializeField. С их помощью вы сможете в скрипте генератора хранить ссылки на созданные объекты и не терять их при перезагрузке сцены.
    using System.Collections.Generic;
    using UnityEngine;
    
    public class Test : MonoBehaviour
    {
        [HideInInspector, SerializeField]
        private List<GameObject> gameObjects = new List<GameObject>();
    
        private void Awake()
        {
            Generate();
        }
    
        public void Generate()
        {
            for (int i = 0; i < 100; i++)
            {
                var go = GameObject.CreatePrimitive(PrimitiveType.Cube);
                gameObjects.Add(go);
            }
        }
    
        public void Clear()
        {
            foreach (var go in gameObjects)
            {
                if (Application.isPlaying)
                {
                    Destroy(go);
                }
                else
                {
                    DestroyImmediate(go);
                }
            }
            gameObjects.Clear();
        }
    }
    Ответ написан
    1 комментарий
  • Как сделать переход между сценами unity3d?

    @Firik67
    Middle PHP Developer
    using UnityEngine.SceneManagement;
    SceneManager.LoadScene("scene_name")

    или
    using UnityEngine.SceneManagement;
    SceneManager.LoadScene(scene_id)
    Ответ написан
    1 комментарий
  • Насколько актуальна пиксельная графика, векторная и другие?

    FeNUMe
    @FeNUMe
    На ваш вопрос нет и не может быть точного ответа, но если говорить о инди то я бы выбирал пиксельную - она в тренде последние несколько лет. Из успешных пиксельных проектов последнего времени особо стоит отметить Stardew Valley - игра стала бестселлером в стиме буквально за несколько дней после выхода. Естественно успех ей обеспечил в первую очередь вакуум в данном жанре, но и приятная пиксельная графика хорошо дополнила картину.
    С другой стороны растр и вектор более универсальны, а значит охватывают намного больше рынок.
    В любом случае я бы сосредоточился на том типе в котором лично у вас рисовать выходит лучше, к которому "душа лежит" так сказать.
    Ответ написан
    Комментировать
  • Насколько актуальна пиксельная графика, векторная и другие?

    Nekto_Habr
    @Nekto_Habr
    Чат дизайнеров: https://t.me/figma_life
    Какая лучше воспринимается игроками: векторная, растровая или пиксельная?

    Красивая, талантливо сделанная.

    Это если говорить про графику.

    А если про игру - красивая графика не спасёт плохую игру и наоборот: хорошая игра может быть с очень плохой графикой)
    Ответ написан
    6 комментариев
  • Как получить компонент объекта, полученного рейкастом?

    BasmanovDaniil
    @BasmanovDaniil
    Геймдизайнер-телепат
    RaycastHit это структура, у которой нет метода GetComponent. Такой метод есть у RaycastHit.transform:
    private void Attack()
    {
        if (Input.GetMouseButtonDown(0))
        {
            Ray ray = Camera.main.ScreenPointToRay(new Vector2(Input.mousePosition.x, Input.mousePosition.y));
            RaycastHit _hit;
            if (Physics.Raycast(ray, out _hit))
            {
                if (_hit.collider.tag == "tree")
                {
                    Hp tt = _hit.transform.GetComponent<Hp>();
                    if (tt != null)
                    {
                        tt._curHealth -= 1;
                    }
                    Debug.Log("Этот объект с тэгом tree");
                }
            }
        }
    }

    И лучше не пользуйтесь GetComponent с аргументом-строкой, используйте универсальный метод как в примере выше, иначе ваш код сломается, если вы решите переименовать класс.
    Ответ написан
    1 комментарий
  • Подойдет ли Unity для такой игры?

    AxisPod
    @AxisPod
    Ну сделали же Adventure Capitalist на unity.
    Ответ написан
    Комментировать
  • Какой процент от прибыли для программиста в компании?

    @Memorivardo
    Два важных фактора должны определить для Вас это число:
    1. Кем Вам приходятся учредители
    Если это неблизкие Вам люди, то нужно смотреть насколько эти люди вобще понимают в IT. Если там толковый PM, то при завышенном проценте Вас быстро пнут и резво найдут достойную замену с меньшими потребностями. Если же люди от айти далеки, то можно поспикулировать важностью своих знаний, но сильно задаваться не советую.
    Если эти люди Ваши друзья или хотя бы хорошие знакомые, то вполне можно просить равноценную долю, выше лучше не забегать.

    2. Какой вклад Вы думаете вносить в проект после разработки
    Если Вы хотите разработать проект и почевать на лаврах, то выше 10-15% подниматься не стоит. Чем выше процент тем раньше Вас захотят выкинуть из проекта.
    Если Вы хотите периодически осуществлять доработки с подачи учредителей, то 20% вполне хорошая цифра.
    Если Вы хотите взять на себя целый фронт работ по IT, начиная от простых доработок и заканчивая аналитикой и реализацией маркетинговых программ, то смело выходим на цифру 33%

    Выше 33% Вам вряд ли выдадут, поэтому верхний лимит лучше остановить на этой цифре.

    P.S. Если все же не можете определиться, то можно выведать у учредителей насколько они к Вам в этом плане лояльны. Например, фразами в духе: "Николай(к примеру), как Вы думаете, какую часть проекта занимает IT? Треть? А что там можно делать кроме разработки? Аналитика? А мне это тоже очень интересно и я хотел бы взять на себя ответственность за эту часть работ! Я уже начал об этом думать, неплохо бы вот здесь и вот здесь добавить метрик..." - естественно это утрированная версия. Начните с прямого вопроса про долю Вашего участия, потом плавно выводите на то, что Вы можете взять на себя. Но не перегибайте палку, груз невыполненных обещаний - тяжкое бремя :)

    Удачи Вам.
    Ответ написан
    Комментировать
  • С чего начать изучение Unity3D?

    BasmanovDaniil
    @BasmanovDaniil
    Геймдизайнер-телепат
    Начинать нужно с мануала, тут без вариантов. Всё подряд можно не читать, всё равно потом к нему ещё вернётесь.
    docs.unity3d.com/Manual
    Потом посмотрите официальные туториалы, особенно в категории Intermediate, они годные и постоянно обновляются.
    unity3d.com/learn/tutorials/modules
    unity3d.com/learn/tutorials/projects
    Ещё очень советую почитать статьи на Catlike Coding. Нет лишней воды и много хороших примеров.
    catlikecoding.com/unity/tutorials
    Ответ написан
    Комментировать