Четверг, 14 Ноября 2024, 22:13

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

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

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

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

    Сообщение отредактировал QWER56 - Вторник, 26 Июля 2011, 20:54
  • orkonsДата: Пятница, 22 Июня 2018, 07:43 | Сообщение # 8621
    частый гость
    Сейчас нет на сайте
    Спасибо.
    Он имел в виду общий размер по всем 3 осям, когда импортировал модельку и она была гигантского размера, и пришлось уменьшить где-то в 100 раз. Тогда и сказал, что лучше делать изначально правильный масштаб, чтобы в юнити он был х1.
    Насколько сильно влияет на производительность, когда на сцене несколько моделей из одного меша, но с разными масштабами?
    seamanДата: Пятница, 22 Июня 2018, 16:04 | Сообщение # 8622
    старожил
    Сейчас нет на сайте
    Раньше влияло, даже если масштаб одинаков по всем осям и не равен 1. Сейчас говорили что это исправлено.
    Если несколько с разными масштабами? Влиять это может только на батчинг. Выставьте и посмотрите в статистике. Там сразу увидите, если батчинг стал меньше. Судя по тому что я вижу ничего не меняется.
    orkonsДата: Пятница, 22 Июня 2018, 16:57 | Сообщение # 8623
    частый гость
    Сейчас нет на сайте
    Я не знаю, что такое батчинг, но кубик это приметив, а речь про модели, например, модель NPC.
    drcrackДата: Пятница, 22 Июня 2018, 17:58 | Сообщение # 8624
    старожил
    Сейчас нет на сайте
    Цитата
    Я не знаю, что такое батчинг, но кубик это приметив, а речь про модели, например, модель NPC.

    1. приметив — это деепричастие от глагола "приметить", а то что ты имел в виду называется "примитив"
    2. куб это не примитив, а встроенный в движок меш из 24 вертексов
    3. npc это в большинстве случаев skinned меши и они в принципе динамически не батчаца независимо от масштаба и других настроек


    Сообщение отредактировал drcrack - Пятница, 22 Июня 2018, 17:58
    OneKeyДата: Суббота, 23 Июня 2018, 08:12 | Сообщение # 8625
    участник
    Сейчас нет на сайте
    Привет, тут есть люди которые пользуются Unity на Linux? у меня проблема после установки программа просто не запускается. Ось Ubuntu 18.04 LTS.


    http://www.falcogames.com/SnowCrushSetup.exe
    AlexandrBuryakovДата: Суббота, 23 Июня 2018, 14:19 | Сообщение # 8626
    был не раз
    Сейчас нет на сайте
    Здравствуйте.
    Возникла такая проблема:
    1. Объявил:
    Код
        private Vector3 [] aV = new Vector3 [ cellMax ]
        private Vector3 vectFirst;
        private Vector3 positionFirst;

    2. Потом инициализация:
    Код
        for ( int cell = 0 ; cell < cellMax ; cell++ ) {
       aV [ cell ] = new Vector3 ( 0, 0, 0 );
      }

    3. Возникает проблема в цикле:
    Код
        while ( cellFirst < cellMax ) {

       positionFirst = new Vector3 ( x++, y++, 0 );
       vectFirst = ( Vector3.zero - vectSecond );
       vectFirst = new Vector3 ( ( force * vectFirst.x ), ( force * vectFirst.y ), 0 );
       aV [ cellFirst ] += vectFirst * force;

       cellFirst++;
      }

    Объявление других указанных переменных опустил.
    Проблема вот в чём:
    "positionFirst" меняется корректно.
    "vectFirst" первый раз при каждой интерации меняется корректно.
    "vectFirst" второй раз при каждой интерации НЕ меняется! blink
    "aV [ cellFirst ]" НЕ меняется, даже если принудительно менять "vectFirst" перед этим! cranky
    Как правильно менять "Vector3" ? <_<

    Добавлено (23 Июня 2018, 14:19)
    ---------------------------------------------

    Цитата AlexandrBuryakov ()
    Как правильно менять "Vector3" ?

    В общем проблемы и небыло, просто результат вычислений на столько мал, что округлялся до нуля сам! facepalm shy sleep ;) ^_^


    Сообщение отредактировал AlexandrBuryakov - Суббота, 23 Июня 2018, 11:52
    drcrackДата: Суббота, 23 Июня 2018, 22:29 | Сообщение # 8627
    старожил
    Сейчас нет на сайте
    Цитата
    2. Потом инициализация:

    она не нужна, в c# массивы автоматически инициализируются значениями по умолчанию (для Vector3 это Vector3.zero)

    Цитата
    В общем проблемы и небыло, просто результат вычислений на столько мал, что округлялся до нуля сам!

    результат сам по себе никуда не округляется, но если ты выводишь вектор в консоль с помощью Debug.Log, то вызывается Vector3.ToString() и он действительно округляет компоненты до 1 цифры после запятой. Но, повторю, сам вектор при этом не меняется
    ToString можно передать формат, который увеличит дефолтную точность, например vector3.ToString("G3") покажет до 3 цифр после запятой


    Сообщение отредактировал drcrack - Суббота, 23 Июня 2018, 22:32
    AlexandrBuryakovДата: Суббота, 23 Июня 2018, 23:46 | Сообщение # 8628
    был не раз
    Сейчас нет на сайте
    О, интересно, спасибо! Только массивы или большинство объявленных переменных без явно присвоенных значений автоматически инициализируются значениями по умолчанию которое обычно равно нолю?
    drcrackДата: Воскресенье, 24 Июня 2018, 01:41 | Сообщение # 8629
    старожил
    Сейчас нет на сайте
    Да, все переменные.
    Для value типов это обычно 0 или что-то похожее на него, для reference типов это null
    Получить значение по умолчанию для любого типа можно с помощью default(T)
    https://docs.microsoft.com/en-us....essions


    Сообщение отредактировал drcrack - Воскресенье, 24 Июня 2018, 01:42
    orkonsДата: Суббота, 30 Июня 2018, 01:34 | Сообщение # 8630
    частый гость
    Сейчас нет на сайте
    Как давать комментарии префабам и объектам на сцене? Я придумал только повесить на них специальный скрипт с переменной string, куда писать комменты в инспекторе. Но если случайно удалить скрипт из Asset, то все комменты потеряются (возможно если восстановить скрипт, то все восстановится, но все равно не очень вариант вроде).
    berilДата: Суббота, 30 Июня 2018, 09:34 | Сообщение # 8631
    Я не ленивый, я — энергосберегающий
    Сейчас нет на сайте
    Цитата orkons ()
    Как давать комментарии префабам и объектам на сцене? Я придумал только повесить на них специальный скрипт с переменной string, куда писать комменты в инспекторе. Но если случайно удалить скрипт из Asset, то все комменты потеряются (возможно если восстановить скрипт, то все восстановится, но все равно не очень вариант вроде).

    купить Hierarchy PRO





    Накодил? Убери за собой!
    Инвентарь в Unity(UI)
    Инвентарь в Unity(GUI)
    orkonsДата: Вторник, 03 Июля 2018, 00:57 | Сообщение # 8632
    частый гость
    Сейчас нет на сайте
    Спасибо, недорого, но пока еще рано на Юнити деньги тратить)

    Добавлено (03 Июля 2018, 00:57)
    ---------------------------------------------
    Почему при клике во время игры в иерархии на любой объект появляется в консоли ?

    Цитата
    "No script asset for GameObjectSelectionItem. Check that the definition is in a file of the same name."


    Сообщение отредактировал orkons - Суббота, 30 Июня 2018, 22:50
    BassPiraT92Дата: Вторник, 03 Июля 2018, 16:59 | Сообщение # 8633
    участник
    Сейчас нет на сайте
    Подскажите по интеграции VisualCode в Unity2018.1. Как её сделать??? мучаюсь третий день не помогает ничего. Открывается в Code но переменные от unity не видит(gameobject, bool и т.д.)

    Сообщение отредактировал BassPiraT92 - Вторник, 03 Июля 2018, 17:31
    orkonsДата: Пятница, 06 Июля 2018, 03:52 | Сообщение # 8634
    частый гость
    Сейчас нет на сайте
    Как сделать всплывающие подскази не по-нубски?

    Хочу сделать всплывающие подсказки, например:
    - при наведении на дверь высвечивается "Открыть (Е)"
    - при наведении на поднимаемый предмет "Аптечка. Нажмите Е, чтобы поднять"
    Ну вы поняли. Есть вариант повесить на них скрипты с событиями IPointerEnterHandler.OnPointerEnter для UI элементов, и void OnMouseEnter () для 3D объектов с коллайдерами.
    И в этих методах прописать string переменную с текстом подсказки, которая будет отправляться в главный скрипт подсказки, и там же активация вывода текста на экран. А в IPointerExitHandler.OnPointerExit и void OnMouseExit () выключение вывода текста.

    Насколько грамотный это подход и что может быть лучше? Как это реализовано в играх ААА-класса?

    Добавлено (05 Июля 2018, 23:41)
    ---------------------------------------------
    Не нравится в этом то, что один скрипт напрямую меняет переменную другого, не по фентшую это как-то. Может лучше на райкастах сделать? Чтобы скрипт пустивший райкаст уже сам решал, считывать ли переменную и выводить ли текст на экран.

    Добавлено (06 Июля 2018, 03:52)
    ---------------------------------------------
    Как сделать, чтобы UI-элементы в режиме world реагировали на освещенность?

    San-SanychДата: Пятница, 06 Июля 2018, 10:00 | Сообщение # 8635
    был не раз
    Сейчас нет на сайте
    Что такое other и Editor Overhead в профайлере и как уменьшить их нагрузку на систему?
    http://s1.uploadpics.ru/images/-kSyMBhyim.png
    http://s1.uploadpics.ru/images/bJMkGr3koX.png
    drcrackДата: Пятница, 06 Июля 2018, 14:21 | Сообщение # 8636
    старожил
    Сейчас нет на сайте
    Цитата
    Как сделать, чтобы UI-элементы в режиме world реагировали на освещенность?

    загуглить "unity canvas lighting"

    Цитата
    Что такое other и Editor Overhead в профайлере и как уменьшить их нагрузку на систему?

    other — хз, включи deep profiling, может покажет
    editor overhead — по-моему очевидно, не? :D в билде этого не будет
    seamanДата: Пятница, 06 Июля 2018, 17:15 | Сообщение # 8637
    старожил
    Сейчас нет на сайте
    Цитата
    один скрипт напрямую меняет переменную другого

    Не понял что меняется то?
    В скрипте-менеджере UI есть публичный метод, который и выводит надпись. В него передаете строку для вывода. Лучше, конечно, передавать не саму строку, а id ее. Тогда скрипт UI может выбирать язык вывода и выводить по этому id строку в нужном переводе.
    Доступ к скрипту UI должен быть глобальный, т.е. он должен быть чем то типа Singleton
    И ничего мы в нем не меняем. Вызов метода - это не изменение переменной.


    Сообщение отредактировал seaman - Пятница, 06 Июля 2018, 17:16
    San-SanychДата: Пятница, 06 Июля 2018, 22:38 | Сообщение # 8638
    был не раз
    Сейчас нет на сайте
    Цитата drcrack ()
    other — хз, включи deep profiling, может покажет

    Как оказалось other - это PostLateUpdate.UpdateAudio, но что дальше делать я вообще не представляю :(
    drcrackДата: Пятница, 06 Июля 2018, 23:46 | Сообщение # 8639
    старожил
    Сейчас нет на сайте
    проверь чтобы в импорте аудио файлов стояло Decompress on Load
    San-SanychДата: Среда, 11 Июля 2018, 12:21 | Сообщение # 8640
    был не раз
    Сейчас нет на сайте
    Цитата drcrack ()
    проверь чтобы в импорте аудио файлов стояло Decompress on Load

    Прикол в том, что в игре нет звуков....(11.07)
    Короче, я хз, как это работает, но сегодня fps поднялся до 200+.... Посмотрим, что будет завтра(12.07)


    Сообщение отредактировал San-Sanych - Четверг, 12 Июля 2018, 17:45
    Поиск:

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