forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Unity (http://forum.boolean.name/forumdisplay.php?f=144)
-   -   Фак по Юнити. (http://forum.boolean.name/showthread.php?t=12966)

pax 20.08.2010 16:55

Ответ: Фак по Юнити.
 
Тогда может тормоза не из-за дравколов? Попробуй сделать один объект - один материал. И чтобы объекты были префабами. Тогда инстансинг возможно поможет. Но это не решит задачу снижения нагрузки в Update. Если они все имеют коллайдеры, то возможно стоит добавить им компонент RigidBody и поставить у него галочку IsKinematic. Это возможно снизит нагрузку на физику.

UPD: Вообще посмотри в профайлере, что больше нагружает - код, физика или графика. Поймешь что нужно оптимизировать.

Fatalix3d 20.08.2010 17:47

Ответ: Фак по Юнити.
 
В юнити 2.6 инстансинга нет, но есть в 3.0 есть то ли динамический или статический точно незнаю но есть, 2000 дк конечно не айс. Вопрос смахивает честно говоря а держит оно столько или столько (мерка письками), не один человек не допустит 2000 ентитей в кадре, КомбайнМеш спасет нав.)

Вышла Юнити бета 6!) Вечером заценю).

Illidan 20.08.2010 17:53

Ответ: Фак по Юнити.
 
у меня на сцене сейчас 2 тысячи прямоугольников, размноженных из префаба. в префабе загруженный из файла меш(плоскость 2полигона) + материал(стандартный дифуз)+ скрипт(апдейт пуст), физика не подключенна. в редакторе эта сцена выдает около 50фпс. что может тут тормозить кроме драуколов, коих ровно 2к?

Цитата:

Сообщение от Fatalix3d (Сообщение 159123)
В юнити 2.6 инстансинга нет, но есть в 3.0 есть то ли динамический или статический точно незнаю но есть, 2000 дк конечно не айс. Вопрос смахивает честно говоря а держит оно столько или столько (мерка письками), не один человек не допустит 2000 ентитей в кадре, КомбайнМеш спасет нав.)

Вышла Юнити бета 6!) Вечером заценю).

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

а! и еще где этот профайлер и как его посмотреть?)

pax 20.08.2010 18:03

Ответ: Фак по Юнити.
 
А что вообще за задача? Что с этими квадами нужно будет делать?

Illidan 20.08.2010 18:13

Ответ: Фак по Юнити.
 
Цитата:

Сообщение от pax (Сообщение 159127)
А что вообще за задача? Что с этими квадами нужно будет делать?

я хочу пикать по ним, и назначать цвет. каждому поотдельности. + еще перемещать их хочу рендомно.

pax 20.08.2010 18:24

Ответ: Фак по Юнити.
 
Ну тогда можно избавится от скрипта с Update и удалить коллайдер, достаточно под них подставить коллайдер (на всю площадь. например план с MeshCollider) и по пикнутому месту (по координатам) определять объект, который выбрали (немного математики, но производительность вырастет). Для уменьшения дравколов можно рисовать эти квады низкоуровневыми командами (отсортировать по материалам например еще), а не создавать экземпляры объектов. Решений по оптимизации можно много придумать, главное видель задачу. Самое безумное - рисовать эти квады как частицы :4to:

Illidan 20.08.2010 18:40

Ответ: Фак по Юнити.
 
ну яж вроде написал что 50 фпс это без колайдеров. хмм.. разве нет встроенных функций вычисляющих координаты пика?

Цитата:

Сообщение от pax (Сообщение 159135)
Для уменьшения дравколов можно рисовать эти квады низкоуровневыми командами (отсортировать по материалам например еще), а не создавать экземпляры объектов.

вот это наверное придется использовать.

Цитата:

Сообщение от pax (Сообщение 159135)
Самое безумное - рисовать эти квады как частицы :4to:

может и не так безумно...

pax 20.08.2010 19:26

Ответ: Фак по Юнити.
 
Цитата:

Сообщение от Illidan (Сообщение 159143)
хмм.. разве нет встроенных функций вычисляющих координаты пика?

Что такое пик по твоему? Это Тест на пересечение луча с геометрией (где-то еще помню использовался какой-то буфер экрана для извлечения идентификатора пикнутого объекта). В юнити выбрать объект в 3d можено выполнив рейкаст через физику на пересечение с коллайдерами. У меня сейчас нет возможностей по справке полазить (я с загрузочного диска сижу), но порядок примерно такой такой:
1. Camera.mainCamera.ScreanPointToRay(Input.mousePosi tion) - луч
2. Создать переменную RayCastHit, в которую принимать результат (кординаты, нормаль, коллайдер и т.д.)
3. Phisics.RayCast()
4. Обработка результата

Скорее всего названия функций неправильно написал, т.к. по памяти.

den 20.08.2010 22:39

Ответ: Фак по Юнити.
 
PHP код:

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(mouseRayout hit))
            {
                
//Пикнули геометрию (точнее коллайдер)
                //hit.point -точка пика
            
}
        }
    }



Illidan 21.08.2010 04:35

Ответ: Фак по Юнити.
 
Обьясните пожалуйста, как работает Моно в Юнити? по анологии с .NET наверное, надобы установить для неё среду исполнения. Но мы ничего не ставим и все работает... или это только для других систем?

pax 21.08.2010 10:08

Ответ: Фак по Юнити.
 
Моно в юнити встроен и ничего ставить дополнительно не надо ;)

den 21.08.2010 13:30

Ответ: Фак по Юнити.
 
Mono это какбэ дополнение к .Net для кроссплатформенности. (шоб не только для виндой компилировать)

Illidan 21.08.2010 14:02

Ответ: Фак по Юнити.
 
Цитата:

Сообщение от Den (Сообщение 159243)
Mono это какбэ дополнение к .Net для кроссплатформенности. (шоб не только для виндой компилировать)

ну этото понятно... просто может кто подробней рассказать может? а то даж почитать по русски ненашел где о ней

pax 21.08.2010 16:54

Ответ: Фак по Юнити.
 
Цитата:

Сообщение от Den (Сообщение 159243)
Mono это какбэ дополнение к .Net для кроссплатформенности. (шоб не только для виндой компилировать)

Что за дополнение такое?

Mono - кросплатформенная реализация Net Framework'а. Т.е. фреймворк, дающий возможность писать на любимом C# (и др. языках) для Windows, Linux, MacOS. Есть даже реализация для айфона.

Оффициальный сайт
Описание на википедии

den 21.08.2010 16:58

Ответ: Фак по Юнити.
 
Цитата:

Что за дополнение такое?

Mono - кросплатформенная реализация Net Framework'а. Т.е. фреймворк, дающий возможность писать на любимом C# для Windows, Linux, MacOS. Есть даже реализация для айфона.
Ну я же сказал какбэ, просто слово "кросплатформенная реализация" чё то не вспомнил :)


Часовой пояс GMT +4, время: 07:28.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot