Tag: unity3d

Каким образом исходный шаблон StartCoroutine / yield действительно работает в Unity?

Я понимаю принцип сопрограммы. Я знаю, как получить стандартный StartCoroutine yield return StartCoroutine / yield return для работы в C # в Unity, например, вызвать метод, возвращающий IEnumerator через StartCoroutine и в этом методе что-то сделать, StartCoroutine yield return new WaitForSeconds(1); подождать секунду, затем сделать что-то еще. Мой вопрос: что действительно происходит за кулисами? Что […]

Масштабирование GUI.TextArea с размером экрана

Я пытаюсь масштабировать GUI.TextArea. блок кода работает в функции OnGui. Но когда я изменяю размер экрана, textArea не будет в правильном положении и размере. первый размер экрана второй размер экрана есть ли какое-либо решение, например Canvas.ScaleMode.ScaleToFit, или я должен воссоздать GUI.TextArea? Изменить: я использую кнопку, изображение и текст в canvasе и легко масштабирую их с […]

База данных установки (SQLite) для Unity

Я просмотрел слишком много учебников, чтобы перечислить их, и все они рекомендуют то же самое. Однако они не помогли решить мою проблему. Я пытаюсь включить в свой проект SQLite DB, а при создании для ПК, MAC и Linux Standalone (тестирование на компьютере под управлением Windows) firebase database работает так, как ожидалось. При тестировании на устройстве […]

Unityscript / Javascript прекращено?

Я использую Unity 2017.2.0b5 . Я пытался помочь кому-то, кто задал вопрос о Unityscript несколько мгновений назад, но я заметил, что: Активы> Создать> Сценарий C # присутствует, но отсутствуют атрибуты> Создать> JavaScript . Это также отсутствует на вкладке «Проект» и в меню «Создать новый сценарий», которое находится в меню «Добавить компонент». Я прочитал заметку о […]

Перемещение GameObject вперед и назад

У меня есть объект, который я хочу переместиться в точку A, и когда он достиг точки A, он должен перейти в точку B. Когда он достиг точки B, он должен вернуться к точке A. Я думал, что могу использовать Vector3.Lerp для этого void Update() { transform.position = Vector3.Lerp(pointA, pointB, speed * Time.deltaTime); } Но как […]

Использовать сопрограмму внутри classа non MonoBehaviour

Как вы можете передать Monobehaviour внутри экземпляра classа non Monobehaviour? Я нашел эту ссылку, где TonyLi упоминает, что вы можете передать Monobehaviour для запуска и остановки сопрограмм внутри экземпляра classа, но он не показывает, как вы можете это сделать. Он делает это theEvent.StartEvent (myMonoBehaviour); но он не показывает, откуда он получает myMonobehaviour. Я огляделся по […]

Масштабировать пользовательский интерфейс для нескольких разрешений / различных устройств

У меня довольно простой интерфейс GUI, который имеет следующую схему: Где Брект и так есть кнопки. Графический интерфейс прекрасно работает на ПК и находится на screen space : overlay поэтому оно должно быть адаптировано автоматически для каждого экрана. Но на планшете весь графический интерфейс меньше и уменьшен в центре экрана, с огромными полями вокруг элементов […]

Не удалось resize массива в переменной Inspector в Unity?

Из того, что я прочитал, это то, как устанавливается вектор «Размер» public Color[] teamAColors = new Color[4]; Но когда код запускается, он выглядит так: Кажется, не имеет значения, какое число я положил для [4], размер всегда остается 6. Я не уверен, где число 6 даже исходит из того, что я ничего не установил для этого […]

Переместить / Сдвинуть объекты в массиве, а затем перенести первый элемент на последний индекс

Я создаю игру в Unity3D, и я пытаюсь повторно использовать GameObjects, позволяя и отключая их, а не создавая и уничтожая их. У меня есть 10 пружин в массиве GameObject, и каждый раз, когда я использую пружину, я хочу взять ее из первого элемента в массиве, переместив все остальные элементы этого массива вверх, а затем перенесим […]

Найти неактивный GameObject по имени, тегу или слою

Во-первых, мне нужно деактивировать игровой объект, а затем через 10 секунд активировать его, поэтому я подумал, что сопрограммы подходят: IEnumerator BarDeactivate(float sec) { yield return new WaitForSeconds(sec); var obj = GameObject.Find(“OBJ”); obj.SetActive(false); } IEnumerator BarReactivate(float sec) { yield return new WaitForSeconds(sec); var obj = transform.Find(“OBJ”); obj.SetActive(true); } Очевидно, я больше не могу использовать GameObject.Find поэтому […]

Давайте будем гением компьютера.