|
Unity Мультиплатформенный инструмент для разработки игр |
20.08.2010, 16:55
|
#241
|
Unity/C# кодер
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений (для 5,323 пользователей)
|
Ответ: Фак по Юнити.
Тогда может тормоза не из-за дравколов? Попробуй сделать один объект - один материал. И чтобы объекты были префабами. Тогда инстансинг возможно поможет. Но это не решит задачу снижения нагрузки в Update. Если они все имеют коллайдеры, то возможно стоит добавить им компонент RigidBody и поставить у него галочку IsKinematic. Это возможно снизит нагрузку на физику.
UPD: Вообще посмотри в профайлере, что больше нагружает - код, физика или графика. Поймешь что нужно оптимизировать.
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
20.08.2010, 17:47
|
#242
|
Разработчик
Регистрация: 28.12.2008
Адрес: Алматы
Сообщений: 486
Написано 252 полезных сообщений (для 1,160 пользователей)
|
Ответ: Фак по Юнити.
В юнити 2.6 инстансинга нет, но есть в 3.0 есть то ли динамический или статический точно незнаю но есть, 2000 дк конечно не айс. Вопрос смахивает честно говоря а держит оно столько или столько (мерка письками), не один человек не допустит 2000 ентитей в кадре, КомбайнМеш спасет нав.)
Вышла Юнити бета 6!) Вечером заценю).
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
20.08.2010, 17:53
|
#243
|
Разработчик
Регистрация: 06.08.2007
Сообщений: 473
Написано 131 полезных сообщений (для 257 пользователей)
|
Ответ: Фак по Юнити.
у меня на сцене сейчас 2 тысячи прямоугольников, размноженных из префаба. в префабе загруженный из файла меш(плоскость 2полигона) + материал(стандартный дифуз)+ скрипт(апдейт пуст), физика не подключенна. в редакторе эта сцена выдает около 50фпс. что может тут тормозить кроме драуколов, коих ровно 2к?
Сообщение от Fatalix3d
В юнити 2.6 инстансинга нет, но есть в 3.0 есть то ли динамический или статический точно незнаю но есть, 2000 дк конечно не айс. Вопрос смахивает честно говоря а держит оно столько или столько (мерка письками), не один человек не допустит 2000 ентитей в кадре, КомбайнМеш спасет нав.)
Вышла Юнити бета 6!) Вечером заценю).
|
Сорри, если так показалось. Я действительно хотел узнать, есть ли встроенное решение проблемы, мне это секйчас необходимо. комбайнмеш вроде только для статики.
а! и еще где этот профайлер и как его посмотреть?)
|
(Offline)
|
|
20.08.2010, 18:03
|
#244
|
Unity/C# кодер
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений (для 5,323 пользователей)
|
Ответ: Фак по Юнити.
А что вообще за задача? Что с этими квадами нужно будет делать?
|
(Offline)
|
|
20.08.2010, 18:13
|
#245
|
Разработчик
Регистрация: 06.08.2007
Сообщений: 473
Написано 131 полезных сообщений (для 257 пользователей)
|
Ответ: Фак по Юнити.
Сообщение от pax
А что вообще за задача? Что с этими квадами нужно будет делать?
|
я хочу пикать по ним, и назначать цвет. каждому поотдельности. + еще перемещать их хочу рендомно.
|
(Offline)
|
|
20.08.2010, 18:24
|
#246
|
Unity/C# кодер
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений (для 5,323 пользователей)
|
Ответ: Фак по Юнити.
Ну тогда можно избавится от скрипта с Update и удалить коллайдер, достаточно под них подставить коллайдер (на всю площадь. например план с MeshCollider) и по пикнутому месту (по координатам) определять объект, который выбрали (немного математики, но производительность вырастет). Для уменьшения дравколов можно рисовать эти квады низкоуровневыми командами (отсортировать по материалам например еще), а не создавать экземпляры объектов. Решений по оптимизации можно много придумать, главное видель задачу. Самое безумное - рисовать эти квады как частицы
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
20.08.2010, 18:40
|
#247
|
Разработчик
Регистрация: 06.08.2007
Сообщений: 473
Написано 131 полезных сообщений (для 257 пользователей)
|
Ответ: Фак по Юнити.
ну яж вроде написал что 50 фпс это без колайдеров. хмм.. разве нет встроенных функций вычисляющих координаты пика?
Сообщение от pax
Для уменьшения дравколов можно рисовать эти квады низкоуровневыми командами (отсортировать по материалам например еще), а не создавать экземпляры объектов.
|
вот это наверное придется использовать.
Сообщение от pax
Самое безумное - рисовать эти квады как частицы
|
может и не так безумно...
|
(Offline)
|
|
20.08.2010, 19:26
|
#248
|
Unity/C# кодер
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений (для 5,323 пользователей)
|
Ответ: Фак по Юнити.
Сообщение от Illidan
хмм.. разве нет встроенных функций вычисляющих координаты пика?
|
Что такое пик по твоему? Это Тест на пересечение луча с геометрией (где-то еще помню использовался какой-то буфер экрана для извлечения идентификатора пикнутого объекта). В юнити выбрать объект в 3d можено выполнив рейкаст через физику на пересечение с коллайдерами. У меня сейчас нет возможностей по справке полазить (я с загрузочного диска сижу), но порядок примерно такой такой:
1. Camera.mainCamera.ScreanPointToRay(Input.mousePosi tion) - луч
2. Создать переменную RayCastHit, в которую принимать результат (кординаты, нормаль, коллайдер и т.д.)
3. Phisics.RayCast()
4. Обработка результата
Скорее всего названия функций неправильно написал, т.к. по памяти.
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
20.08.2010, 22:39
|
#249
|
Дэвелопер
Регистрация: 13.02.2010
Сообщений: 1,645
Написано 620 полезных сообщений (для 2,419 пользователей)
|
Ответ: Фак по Юнити.
using UnityEngine; using System.Collections; public class PicPicPic : MonoBehaviour { public void Update() { if (Input.GetMouseButtonDown(0)) { Ray mouseRay = camera.ScreenPointToRay(Input.mousePosition); RaycastHit hit; if (Physics.Raycast(mouseRay, out hit)) { //Пикнули геометрию (точнее коллайдер) //hit.point -точка пика } } } }
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
21.08.2010, 04:35
|
#250
|
Разработчик
Регистрация: 06.08.2007
Сообщений: 473
Написано 131 полезных сообщений (для 257 пользователей)
|
Ответ: Фак по Юнити.
Обьясните пожалуйста, как работает Моно в Юнити? по анологии с .NET наверное, надобы установить для неё среду исполнения. Но мы ничего не ставим и все работает... или это только для других систем?
|
(Offline)
|
|
21.08.2010, 10:08
|
#251
|
Unity/C# кодер
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений (для 5,323 пользователей)
|
Ответ: Фак по Юнити.
Моно в юнити встроен и ничего ставить дополнительно не надо
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
21.08.2010, 13:30
|
#252
|
Дэвелопер
Регистрация: 13.02.2010
Сообщений: 1,645
Написано 620 полезных сообщений (для 2,419 пользователей)
|
Ответ: Фак по Юнити.
Mono это какбэ дополнение к .Net для кроссплатформенности. (шоб не только для виндой компилировать)
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
21.08.2010, 14:02
|
#253
|
Разработчик
Регистрация: 06.08.2007
Сообщений: 473
Написано 131 полезных сообщений (для 257 пользователей)
|
Ответ: Фак по Юнити.
Сообщение от Den
Mono это какбэ дополнение к .Net для кроссплатформенности. (шоб не только для виндой компилировать)
|
ну этото понятно... просто может кто подробней рассказать может? а то даж почитать по русски ненашел где о ней
|
(Offline)
|
|
21.08.2010, 16:54
|
#254
|
Unity/C# кодер
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений (для 5,323 пользователей)
|
Ответ: Фак по Юнити.
Сообщение от Den
Mono это какбэ дополнение к .Net для кроссплатформенности. (шоб не только для виндой компилировать)
|
Что за дополнение такое?
Mono - кросплатформенная реализация Net Framework'а. Т.е. фреймворк, дающий возможность писать на любимом C# (и др. языках) для Windows, Linux, MacOS. Есть даже реализация для айфона.
Оффициальный сайт
Описание на википедии
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
21.08.2010, 16:58
|
#255
|
Дэвелопер
Регистрация: 13.02.2010
Сообщений: 1,645
Написано 620 полезных сообщений (для 2,419 пользователей)
|
Ответ: Фак по Юнити.
Что за дополнение такое?
Mono - кросплатформенная реализация Net Framework'а. Т.е. фреймворк, дающий возможность писать на любимом C# для Windows, Linux, MacOS. Есть даже реализация для айфона.
|
Ну я же сказал какбэ, просто слово "кросплатформенная реализация" чё то не вспомнил
|
(Offline)
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 15:05.
|