как узнать размер объекта unity

Как получить размер панели в пикселях?

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Как узнать ширину текста в пикселях на определённой панели в StatusBar
Здравствуйте! Помогите разобраться по такому вопросу. Ребята нужно сделать хинт на статусбаре.

Как узнать размер строки в пикселях?
У меня есть строка. Хочу узнать размер в пикселях. Это надо для того, чтобы потом узнав размер.

Как зафиксировать размер изображения в пикселях
Установил изображение на рабочий лист excell, на изображении присутствую части этого изображения.

(Решено) Как я могу узнать размер экрана в пикселях?
(Решено) День добрый. Возникла необходимость получить размер экрана в пикселях. Подскажите.

Решение

Добавлено через 59 секунд

и содержит дополнительные данные (например, якоря) для размещения UI-объекта в координатах Canvas (пикселях), которое работает по иным законам, чем игровые объекты, которые находятся в игровых координатах (юнитах). В то же время любой UI-элемент находится также и в игровых координатах, которые можно получить через тот же transform, как и через RectTransform тоже, поскольку последний наследует все свойства первого.

[!] Но манипулировать расположением объекта в UI все же нужно через RectTransform, т.к. находясь в Canvas он будет размещаться именно по правилам RectTransform.

Оба вариант дадут один и тот же объект RectTransform, только второй вариант будет чуточку быстрее (разницу в скорости можно ощутить, например, если вы это делаете для тысяч объектов в каждом кадре, но в этом случае лучше будет сделать это 1 раз, например в Awake и сохранить в приватную переменную класса компонента).

Backkk, вряд ли ощутите экономию на таком кол-ве даже на очень долхом компе. Эти небольшие колебания fps могут быть вызваны другими причинами. Только если проект сильно разрастется и вы везде и всюду будете использовать GetComponent (вместо того, чтобы один раз его вызвать при старте объекта или еще лучше сделать поле [SerializeField] и назначить его редакторе). К тому же чаще всего у вас не будет под рукой объекта, который можно будет привести к нужному типу, как в случае с transform, а будут доступны только варианты с GetComponent, либо сериализуемое поле.

Источник

Размер модели в Unity3d

Здравствуйте! В 3d max создали сферу диаметром 1 метр. Перенес в макс несколько моделей из двух пакетов Unity(Savanna, PostApo) чтобы сравнить размеры. Оказалось, что модели из PosApo в много раз меньше сферы, длина получается всего пару сантиметров(это был автобус и часть забора), а обычный камень из Savanna раз в 20 больше всей сцены в максе. Получается нет разницы какого размера модели главное чтобы пропорции между ними в юнити были соблюдены. Так что ли? Это я спрашиваю к тому, что создал я в максе модель горы типа этих, сделал развертку, натянул текстуру на модель и перенес в юнити. Когда смотришь на модель на некотором расстоянии, то все детали видно хорошо, а когда подходишь почти в плотную, то текстура размывается, в то время как в этих двух пакетах, даже если очень близко подойти к модели, то все видно четко. Сравнивал две текстуры(мою и из пакета), обе 2048, все четко видно, а на модели моя расплывается вблизи. Я думал может это из-за того, что моя модель слишком большая и детали на ней просто растягиваются, но есть камни и во много раз больше и там все нормально. Ставил тайлинг для моей текстуры = 3, тогда все четко видно, но мне нужна не затайленная текстура, а именно карта, чтобы можно было всякие неповторяющиеся детали добавлять. На моделях, которые я смотрел текстура тоже без тайлинга и там все нормально. Подскажите как сделать так что бы вблизи текстура четко была видна.

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

kokon
> Я думал может это из-за того, что моя модель слишком большая и детали на ней
> просто растягиваются, но есть камни и во много раз больше и там все нормально.
> Ставил тайлинг для моей текстуры = 3, тогда все четко видно, но мне нужна не
> затайленная текстура, а именно карта, чтобы можно было всякие неповторяющиеся
> детали добавлять.
Надо увеличивать разрешение текстуры. Если есть более качественный исходник, то из него. А если нет, то придётся заново рисовать в большем разрешении.

Правка: внимательно перечитал насчёт текстур. Не знаю тогда в чём проблема, ничего само по себе размываться не должно.

kokon
Посмотри настройки текстуры.
Там в настройках можно выбрать максимальное разрешение (Max Size), возможно оно меньше, чем сама текстура. По умолчанию там стоит 1024.
Размер модели не должен влиять, но для информации скажу, что при импорте модели она масштабируется, если выделить модель в проекте, то в инспекторе в настройках можно изменить коэффициент масштабирования(Scale Factor) для каждой отдельной модели. По умолчанию он равен 0.01 (для разных форматов возможно разный коэффициент по умолчанию)

При импорте модели в юнити там есть параметры ИМПОРТА. В нем настраивается SCALE объекта. По умолчанию для чего то сделано 0.01. это кажется сделано для каких то особенностей FBX экспортера. Но у меня с Blender я экспорчу в нормальном размере и в Импорте ставлю Scale = 1. И все идеально.

MorfeusKiev
> От такие советов иногда послать хочется, только без обид. Это образно говоря.
А где ты увидел советы? Я просто написал, что всё относительно. Я не говорю, что не нужно придерживаться рекомендуемых единиц измерения. Хотя про то, что в Юнити есть принятые единицы измерения, я не знал, так как недостаточно долго его ковырял.
Но лично я сам тоже принимаю единицу за метр, так как это СИ.

по моему большой разницы нет, только на расстоянии детали видны

мне кажется, что дело не в настройках юнити, а в самой текстуре или модели. потому что так сказать профессиональные модели и текстуры там нормально смотрятся.

может быть в развертке ты берешь маленькую часть текстуры, а в профессиональных моделях берется часть побольше) поэтому получается маленькое разрешение.
на скринах, я вижу что для шифера берется где-то 1/4 текстуры. А для камня на скрине модели видно, что текстура неповторяющаяся, хотя сама текстура повторяющаяся, значит там берется какая-то очень маленькая часть текстуры, намного меньше чем 1/4.

Поэтому надо создать другую текстуру неповторяющуюся и хорошего качества и переделать UV координаты.

нет. это лишь фотошопом не исправить.
Это исправить только в 3д редакторе, изменив UV координаты, т.е. эти координаты надо там увеличить. и текстуру в фотошопе изменить, чтобы не было этих повторений. Зачем хранить в текстуре одну и ту же информацию несколько раз, когда лучше хранить ее один раз но в более хорошем качестве?

Разные размеры от того, что, видимо, объекты моделировались с разными настройками системных единиц измерения.

Источник

Unity3d. Уроки от Unity 3D Student (B21-B24)

Базовый урок 21 — Вычисление расстояния между объектами

В уроке будет показано, как получить расстояние между двумя точками в трехмерной сцене, используя метод Vector3.Distance. Кроме того, в дополнение к оригинальному уроку я расскажу о свойстве Vector3.sqrMagnitude, при помощи которого можно получить более оптимизированный код вычисления расстояния.

При разработке игры часто возникает необходимость узнать расстояние между объектами. Один из самых простых способов это сделать — использовать метод Distance класса Vector3.
Рассмотрим следующую сцену: кубик fallbox, падающий вниз на более большой куб Cube; точечный источник света Point light, находящийся между ними; и, конечно, камера.

как узнать размер объекта unity. image loader. как узнать размер объекта unity фото. как узнать размер объекта unity-image loader. картинка как узнать размер объекта unity. картинка image loader.

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

В скрипте мы сперва объявляем переменную box, в которой будем хранить ссылку на компонент Transform нашего падающего ящика. Затем в Update вызываем метод Vector3.Distance, передав в качестве аргументов координаты объектов, между которыми требуется вычислить расстояние. Полученное расстояние заносим в переменную dist и сравниваем его с необходимым значением (10 в нашем примере). Если расстояние не превышает заданное значение — включаем компонент света, в противном случае — выключаем. При помощи метода Debug.Log выводим значение текущего расстояния в консоль.
Добавляем скрипт на объект света Point Light, в поле скрипта Box перетаскиваем fallbox, запускаем сцену. Кубик падает вниз, свет не горит. При расстоянии между светом и кубиком
В уроке рассказывается, как сделать паузу (задержку) в игре с использованием метода WaitForSeconds и инструкции yield.

Если вы хотите реализовать паузу между некими игровыми событиями (например, создание игровых объектов через определенные промежутки времени), то необходимо воспользоваться Корутинами (сопрограммами). Корутина — это специальным образом оформленный метод, работающий в основном потоке игры, и обычно вызываемый после метода Update. Корутина, в зависимости от заданных условий, может прервать свое выполнение в определенной точке своего кода, а затем вновь продолжить работу (подробнее о корутинах есть на хабре — прим. переводчика).
Посмотрим на сцену ниже. На ней есть куб, играющий роль земли, источник света, камера и пустой объект под именем spawn point, висящий над землей. Кроме того, в папке Project есть префаб weight — кубик с компонентом rigidbody. Наша цель — периодически создавать кубики из префаба в точке spawn point, после чего они будут падать на землю.

как узнать размер объекта unity. image loader. как узнать размер объекта unity фото. как узнать размер объекта unity-image loader. картинка как узнать размер объекта unity. картинка image loader.

Создать объект легко — нужно воспользоваться уже знакомым методом Instantiate. Однако, если мы просто напишем вот такой скрипт и добавим его к объекту spawn point
Код на JavaScript:

… то получим примерно следующую картину:

как узнать размер объекта unity. image loader. как узнать размер объекта unity фото. как узнать размер объекта unity-image loader. картинка как узнать размер объекта unity. картинка image loader.

Буквально за пару секунд выполнения у нас создалось слишком много объектов. Это не удивительно, ведь мы поместили создание объекта в метод Update, который вызывается каждый кадр игры, т. е. несколько десятков раз в секунду. Любые попытки как-то вставить задержку в метод Update, чтобы объекты создавались реже, ни к чему хорошему не приведут — это уменьшит FPS игры. Вместо этого нам поможет корутина.
Давайте реализуем скрипт создания объектов следующим образом:
Код на JavaScript:

Итак, в переменный box мы храним ссылку на префаб порождаемого объекта. Булева переменная readynow служит для определения, запускать ли сейчас метод-корутину MakeBox, которая создает объект. Внутри корутины MakeBox мы сперва запрещаем ее вызов (readynow = false), потом создаем объект методом Instantiate, а затем используем связку yield / WaitForSeconds (обратите внимание на различия в коде для JS и в коде для C# — прим. переводчика). Эта связка позволяет приостановить выполнение корутины, в данном случае, на 2 секунды, а потом вернуться обратно и продолжить выполнение, где мы теперь разрешаем вызов корутины (readynow = true). Метод Update при этом не простаивает эти 2 секунды, а продолжает выполняться, только не запускает заново новую корутину, пока не отработает предыдущая.
Напоминаю, что скрипт надо добавить к объекту spawn point, перетащить в поле скрипта Box префаб кубика и запустить сцену. Теперь кубики создаются через каждые 2 секунды.

как узнать размер объекта unity. image loader. как узнать размер объекта unity фото. как узнать размер объекта unity-image loader. картинка как узнать размер объекта unity. картинка image loader.

Дополнительные материалы:

Базовый урок 23 — Система частиц

Если вы хотите создать дым, огонь, пыль или иное распространение неких частиц, то можно использовать систему частиц. В этот раз на нашей сцене есть падающий кубик, который исчезает при соприкосновении с землей. Наша цель — сделать так, чтобы исчезновение сопровождалось эффектом взрыва.

как узнать размер объекта unity. image loader. как узнать размер объекта unity фото. как узнать размер объекта unity-image loader. картинка как узнать размер объекта unity. картинка image loader.

как узнать размер объекта unity. image loader. как узнать размер объекта unity фото. как узнать размер объекта unity-image loader. картинка как узнать размер объекта unity. картинка image loader.

Теперь необходимо написать небольшой скрипт и добавить его к нашему взрыву. Это скрипт будет отвечать за уничтожение системы частиц со сцены, после того, как все ее частицы прекратят существование:
Код на JavaScript:

В скрипте мы сохраняем компонент системы частиц в переменной ps. В методе Update проверяем присутствие компонента на сцене. Если он есть — проверяем, «жив» ли он. Это делается при помощи вызова метода IsAlive — он вернет false, если система частиц больше не генерирует частицы и все ранее сгенерированные частицы исчезли. Если это так — удаляем объект системы частиц.

Дополнительные материалы:

Базовый урок 24 — Работа с циклом «For»

В уроке рассказывается об использовании оператора цикла «For», с помощью которого можно повторять необходимые действия, пока выполняется заданное условие.

При создании игры часто возникает задача выполнить несколько раз подряд некие повторяющиеся действия. Для этого не стоит «копипастить» код, а нужно воспользоваться циклами.
На нашей сцене есть земля, свет, камера и пустой объект creator.

как узнать размер объекта unity. image loader. как узнать размер объекта unity фото. как узнать размер объекта unity-image loader. картинка как узнать размер объекта unity. картинка image loader.

Мы хотим, чтобы из объекта creator с небольшими паузами создались из префаба несколько других объектов. Для этого напишем следующий скрипт:
Код на JavaScript:

Источник

Как узнать размер занимаемой области объекта?

Допустим у меня есть объект дерево, занимает область 1×1, но есть так же объект занимаемый область 2×5 к примеру, как узнать что он занимает такую область?

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

Думал сначала задавать у основного объекта scale но так тогда влияет на все составляющие.

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

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Как узнать размер объекта класса?
Здравствуйте, Дамы и Господа! Есть ли функция, передающая значение количества байт, отведенных в.

Узнать размер объекта положив его в поток ввода вывода
На интервью встретил вопрос(в тесте). Как узнать размер объекта. Все варианты ответа содержали.

как узнать размер объекта unity. tick. как узнать размер объекта unity фото. как узнать размер объекта unity-tick. картинка как узнать размер объекта unity. картинка tick.Как, зная Хендл объекта чужого приложения, узнать поля этого объекта?
Как зная Хендл объекта чужого приложения, узнать поля этого объекта?

Узнать загрузку CPU, количество занимаемой RAM определнным процессом
Здравствуйте товарищи. Я новичок в Ubuntu и bash скриптах. Как для определенного процесса с.

Источник

Как высчитать границы камеры?

Вкратце опишу ситуацию, есть уровень, есть персонаж, 4 Box Collider-a не дают персонажу выйти за границы уровня и упасть, камера движется за персонажем. Вроде бы все хорошо, но на устройствах с разным разрешением экрана камера имеет разный размер, и на каких-то устройствах камера «видит» часть уровня за Box Collider-ом, то есть пустоту, возникла идея как это исправить:
Позволить камере двигаться за персонажем до тех пор, пока одна из ее границ не достигнет одного из Box Collider-ов, дальше в том направлении камера двигаться уже не может.

Но возник вопрос, как высчитать координаты всех границ камеры, учитывая то, что на разных устройствах разное разрешение экрана, а следовательно и камера.

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

Помощь в написании контрольных, курсовых и дипломных работ здесь.

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

Удаление объектов вышедших за границы камеры
Здравствуйте, как реализовать удаление объектов, которые вышли за границы камеры? Спасибо.

Как восстановить в скайпе две камеры вместо USB 2 камеры?
Здравствуйте,у меня такая ситуация:при покупке ноутбука асус у меня в скайпе работало две.

Как сделать так, чтобы границы дочерней формы не «уходили» за границы родительской
Всем доброго времени суток! Возник следующий вопрос. Создаю MDI-приложение. Есть родительская форма.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *