Среда, 27 Ноября 2024, 05:03

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
Вопрос-[ответ] по Unity
QWER56Дата: Понедельник, 09 Августа 2010, 10:58 | Сообщение # 1
старожил
Сейчас нет на сайте
Вопрос-[Ответ] по Unity3d

  • База скриптов Unity3d
  • Курс Уроков по Unity 3D от Alcatraz

    ConsMark - поисковик по интернет магазинам.

    Сообщение отредактировал QWER56 - Вторник, 26 Июля 2011, 20:54
  • arcticДата: Суббота, 04 Января 2020, 00:34 | Сообщение # 8801
    был не раз
    Сейчас нет на сайте
    Цитата drcrack ()
    поставь туда реального врага со сцены, а не префаб

    Результат тот же, может можно как то по другому реализовать отображение переменной health на экране сцены?


    Сообщение отредактировал arctic - Суббота, 04 Января 2020, 00:36
    Viva_Дата: Пятница, 10 Января 2020, 20:24 | Сообщение # 8802
    был не раз
    Сейчас нет на сайте
    Всем привет, я новичок в Unity и не знаю C# (Более менее пытаюсь его понять по документациям и туториалам)
    Но Всё же надеюсь что вы подскажите.
    Вопрос в том могу ли я через скрипт в одной сцене обратиться к объектам в другой сцене и отключить их или включить.
    У меня Главное меню и меню уровней находиться в одной сцене, и мне надо чтобы при переходи в главное меню сам объект отключался и включался другой,как это реализовать?
    DymkensДата: Пятница, 10 Января 2020, 22:01 | Сообщение # 8803
    почетный гость
    Сейчас нет на сайте
    Цитата Viva_ ()
    У меня Главное меню и меню уровней находиться в одной сцене, и мне надо чтобы при переходи в главное меню сам объект отключался и включался другой,как это реализовать?

    Проще всего для понимания это сделать через активацию и деактивацию элементов интерфейса. Например:
    Код

    [SerializeField] GameObject levelSelection; // В юнити во вкладе инспектора бросаем сюда панельку с выбором уровней

    //создаем кнопки для включения и выключения панелек

    public void OnClickSelecetLevel() // активирует панель выбора уровня
        {
            levelSelection.SetActive(true);
        }

    public void BackToMainMenu() // выключает панель выбора уровня
        {
            levelSelection.SetActive(false);
        }



    Как работать с кнопками можно подсмотреть тут.


    Моя первая игра - MilvusX
    Viva_Дата: Воскресенье, 12 Января 2020, 17:12 | Сообщение # 8804
    был не раз
    Сейчас нет на сайте
    Цитата Dymkens ()
    Проще всего для понимания это сделать через активацию и деактивацию элементов интерфейса. Например:


    Как работать с активацией и деактивацией а то знаю,вот не могу понять как сделать чтобы при нажатии на кнопку срабатывала активация и деактивация



    drcrackДата: Воскресенье, 12 Января 2020, 17:53 | Сообщение # 8805
    старожил
    Сейчас нет на сайте
    Цитата
    Вопрос в том могу ли я через скрипт в одной сцене обратиться к объектам в другой сцене и отключить их или включить.

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

    Цитата
    У меня Главное меню и меню уровней находиться в одной сцене, и мне надо чтобы при переходи в главное меню сам объект отключался и включался другой,как это реализовать?

    например через глобальную систему событий, обьект подписывается на событие "переход в меню" и отключается (а другой, аналогично, включается)
    Viva_Дата: Пятница, 07 Февраля 2020, 20:26 | Сообщение # 8806
    был не раз
    Сейчас нет на сайте
    Всем привет, вот не могу понять в чём здесь проблема, прошу не ругаться, я новичок в этом.

    drcrackДата: Пятница, 07 Февраля 2020, 20:30 | Сообщение # 8807
    старожил
    Сейчас нет на сайте
    по-моему там вообще не нужно условие
    строка 28 должна быть такой:
    Код
    else

    а 19 такой:
    Код
    if (Score.scoreAmount >= 70)


    даже если логика другая, посмотри внимательно как должна выглядеть конструкция if-else
    https://docs.microsoft.com/ru-ru....if-else


    Сообщение отредактировал drcrack - Пятница, 07 Февраля 2020, 20:34
    Viva_Дата: Воскресенье, 16 Февраля 2020, 16:57 | Сообщение # 8808
    был не раз
    Сейчас нет на сайте
    Всем привет, вот хотелось бы узнать что не правильного в этом коде
    Код

    using System.Collections;
    using System.Collections.Generic;
    using UnityEngine;
    using UnityEngine.SceneManagement;
    using System.IO;

    [System.Serializable]
    public class UIManager_ : MonoBehaviour
    {
        public bool Levels = false;
        public GameObject GameObjectActivateMenuLevels;
        public GameObject GameObjectFallseGeneralMenu;
        public GameObject GameObjectFallseSupportMenu;
        public GameObject GameObjectFallseSettings;
        ////public GameObject.FindObjectOfType<Score>();
        void Start()
        {
            Time.timeScale = 1;
            Debug.Log("Пауза Отключена");

            
        }
        void Awake()
        {
            GameObjectActivateMenuLevels.SetActive(false);
            GameObjectFallseGeneralMenu.SetActive(true);
            GameObjectFallseSupportMenu.SetActive(false);
            GameObjectFallseSettings.SetActive(false);

        }
            

        public void General_Menu()
        {
            SceneManager.LoadScene(0);
        }
        public void RestartLevel()
        {

            SceneManager.LoadScene(SceneManager.GetActiveScene().name);
            
        }

        public void Level_s()
        {
            SceneManager.LoadScene(0);
            if (Levels == true)
            

                

                GameObjectActivateMenuLevels.SetActive(true); //Включает выключенную меню уровней.
                GameObjectFallseGeneralMenu.SetActive(false); //Отключает Главное меню.
                GameObjectFallseSupportMenu.SetActive(false); //Отключает поддержку.
                GameObjectFallseSettings.SetActive(false); //Отключает настройки.
            
        }

        public void Level_1()
        {
            SceneManager.LoadScene(1);
        }

        public void Openlvl()
        {
            Levels = true;
        }

        public void Level_2()
        {
            SceneManager.LoadScene(2);
        }

        public void Exit_()
        {
            Application.Quit();
        }

        
        
    }


    и почему у меня не работает в коде вот это
    Код

    GameObjectActivateMenuLevels.SetActive(true); //Включает выключенную меню уровней.
                GameObjectFallseGeneralMenu.SetActive(false); //Отключает Главное меню.
                GameObjectFallseSupportMenu.SetActive(false); //Отключает поддержку.
                GameObjectFallseSettings.SetActive(false); //Отключает настройки.
    DivESДата: Воскресенье, 16 Февраля 2020, 17:34 | Сообщение # 8809
    заслуженный участник
    Сейчас нет на сайте
    Viva_, ну ты можешь для начала обрамить код под условием в фигурные скобки:

    Код

    public void Level_s()
    {
        SceneManager.LoadScene(0);
        if (Levels == true)
        {
            GameObjectActivateMenuLevels.SetActive(true); //Включает выключенную меню уровней.
            GameObjectFallseGeneralMenu.SetActive(false); //Отключает Главное меню.
            GameObjectFallseSupportMenu.SetActive(false); //Отключает поддержку.
            GameObjectFallseSettings.SetActive(false); //Отключает настройки.
        }
    }


    А так — не вижу вопроса :)

    Viva_Дата: Понедельник, 17 Февраля 2020, 20:54 | Сообщение # 8810
    был не раз
    Сейчас нет на сайте
    Всем привет,уже пытаюсь понять 2 день подряд,
    хочу понять как правильно сделать ссылку на переменную.
    Хочу сделать так, когда я вызываю
    Код

    public void Openlvl()
        {
            UI1L.Levels = true;
        }

    У меня в другом скрипте поменялось с false На true

    Код

    public bool Levels = false;




    Что я делаю не так %)
    drcrackДата: Понедельник, 17 Февраля 2020, 21:49 | Сообщение # 8811
    старожил
    Сейчас нет на сайте
    сделай UI1L public и в инспекторе поставь ссылку на другой скрипт
    Viva_Дата: Понедельник, 17 Февраля 2020, 22:41 | Сообщение # 8812
    был не раз
    Сейчас нет на сайте
    Сделал Вот так
    Код

    public UI1 UI1L;


    Так же в инспекторе поставил ссылку на другой объект с нужным мне скриптом.
    Но сейчас так же выдаёт ошибку

    Object reference not set to an instance of an object
    geralexДата: Суббота, 04 Апреля 2020, 12:10 | Сообщение # 8813
    участник
    Сейчас нет на сайте
    Подскажите, столкнулся со следующей проблемой, на сцене размещено несколько box-коллайдеров с опцией IsTrigger, в условии стоит проверка нахождения (OnTriggerStay) объекта по тэгу, пример:

    Код

            void OnTriggerStay(Collider col)
            {
                if (col.tag == "Vehicle"


    Получается так, что когда я объектом пересекаю данные боксы он начинает подпрыгивать будто происходит отключении опции IsTrigger и я просто соприкасаюсь в невидимым box-ом , в чем может быть причина?


    Сообщение отредактировал geralex - Воскресенье, 05 Апреля 2020, 17:35
    BoДата: Воскресенье, 26 Апреля 2020, 15:34 | Сообщение # 8814
    почетный гость
    Сейчас нет на сайте
    Есть вопрос из серии про применение "text mesh pro russian fonts".
    Проблемы две:
    1) При импорте обычного txt файла с кирилическими символами в проект Unity 2019.3 эти символы отображаются некорректно даже во внутреннем просмотрщике Unity.
    Пример: https://ibb.co/TKbsRw5


    2) При попытке вставки текстов из этих файлов в префаб для отображения - такая же проблема: https://ibb.co/5RrGNfq


    Сразу, чтобы сэкономить Ваше время:
    - Да, я читал https://forum.unity.com/threads/the-russian-letters-arent-shown-instead-of-them-blocks-help-please.468481/ , не помогло.
    - Кирилические тексты с этим же TMP шрифтом прекрасно отображаются в Unity GUI.
    - Скрин первого примера с txt файлом вообще сделан в пустом проекте сразу после импорта.

    Я уже нагуглил все что можно по теме "text mesh pro russian fonts 2019" но решения не нашел.
    Буду очень признателен за помощь.


    Сообщение отредактировал Bo - Воскресенье, 26 Апреля 2020, 15:36
    drcrackДата: Воскресенье, 26 Апреля 2020, 16:29 | Сообщение # 8815
    старожил
    Сейчас нет на сайте
    Проблемы с кодировкой. Убедись что файлы в юникоде

    Только что проверил — так и есть, ANSI файлы показываются такими же вопросиками как на скрине, с UTF-8 все норм.

    Открой в Notepad++ и в главном меню Encoding → Convert to UTF-8


    Сообщение отредактировал drcrack - Воскресенье, 26 Апреля 2020, 16:33
    BoДата: Воскресенье, 26 Апреля 2020, 16:58 | Сообщение # 8816
    почетный гость
    Сейчас нет на сайте
    Огромнейшее спасибо! помогло
    ДанилаСтержневДата: Среда, 06 Мая 2020, 22:03 | Сообщение # 8817
    постоянный участник
    Сейчас нет на сайте
    Почему direct light просвечивает через текстуру и освещает ее с внутренней стороны? Как этого избежать?


    Красочная сюжетно ориентированная игра-головоломка

    Сообщение отредактировал ДанилаСтержнев - Среда, 06 Мая 2020, 22:23
    drcrackДата: Среда, 06 Мая 2020, 22:36 | Сообщение # 8818
    старожил
    Сейчас нет на сайте
    убедиться что включены тени, убедиться что сверху есть крыша (нормалями кверху) которая дает тень
    LoneWolf06Дата: Четверг, 07 Мая 2020, 08:59 | Сообщение # 8819
    почетный гость
    Сейчас нет на сайте
    Посмотрите, тут у человека такая-же проблема, может поможет - http://3dcenter.ru/forum/index.php?showtopic=72645
    ДанилаСтержневДата: Четверг, 07 Мая 2020, 20:12 | Сообщение # 8820
    постоянный участник
    Сейчас нет на сайте
    Цитата drcrack ()
    убедиться что включены тени, убедиться что сверху есть крыша (нормалями кверху) которая дает тень

    Дело оказалось в другом, но за ответ спасибо


    Красочная сюжетно ориентированная игра-головоломка
    Поиск:

    Все права сохранены. GcUp.ru © 2008-2024 Рейтинг