![]() |
Ответ: Фак по Юнити.
Если ты не заметил, то там три перегрузки, две из которых принимают label
http://unity3d.com/support/documenta...jectField.html А у этой аш шесть, 4 с лэйблом http://unity3d.com/support/documenta...EnumPopup.html |
Ответ: Фак по Юнити.
Блин! Как же туплю. Не глянул на все варианты метода. Хотя все равно мой вариант ObjectField выглядит намного проще.
pax, а ты ngui использовал или свой писал? Не пойму как там что все объекты имея одинаковые z координаты отображаются правильно и со всех сторон. Как будь-то рисуется в порядке от родителя к детям. |
Ответ: Фак по Юнити.
Не использовал, но сортировка должна быть обязательно. Если проще, там у шейдера должен быть отключен ztest и zwrite
|
Ответ: Фак по Юнити.
В ngui один меш на все элементы. Там уже в самом меше все отсортировано. Отсортировать каждый объект для рендеринга от родительского к дочернему наверно нельзя(
Но и создавать меш каждый кадр это тратить кучу памяти. А для мобильного частые вызовы сборщика мусора совсем не гуд. Замкнутый круг получается( кстати, я вот не пойму событие типа OnMouseOver вызываются для всех колайдеров? Не слишком ли это затратно, ведь это почти никогда не надо. И на с тачами это я так понимаю не работает? |
Ответ: Фак по Юнити.
Цитата:
Цитата:
|
Ответ: Фак по Юнити.
Цитата:
А объект может узнать, что в его иерархии произошли изменения? Для Editor'а такое событие есть, а для скрипта не видел. Интересно как там происходит добавление новых элементов. Цитата:
|
Ответ: Фак по Юнити.
Ну памяти уйдет не так уш и много, а ускорить пересоздание массивов можно разными способами.
Вот про событие изменения объекта ничего не знаю, что за событие вызывается в редакторе? Вообще можно, при добавлении или удалении компонента, мессадж вверх по иерархии слать. |
Ответ: Фак по Юнити.
Да вообщем-то можно пересоздавать массивы только когда полигонов станет больше.
А вот использовать два материала на самом деле еще сложнее. Если нету проверки з-буфера, то отрисовать два меша правильно вообще нельзя, если конечно они не накладываются друг на друга. Событие EditorWindow.OnHierarchyChange. |
Ответ: Фак по Юнити.
Если отрисовка идет в порядке созданных полигонов, то почему нет? Сортировать полигоны по субмешам со своими материалами тоже не сложно.
|
Ответ: Фак по Юнити.
Я видел модели на которых было несколько материалов. Это называется субмеш? И я так понимаю материалов может быть не больше 3х т.к. есть только uv, uv1, uv2 ?
И за сколько дравкалов отрисуется такой объект, если у него первый полигон будет с одним материалом, второй с другим, третий снова с первым и так вперемешку. |
Ответ: Фак по Юнити.
Субмешей может быть сколько угодно, на каждый свой материал.
Дравколов будет столько, сколько субмешей. uv, uv1, uv2 указываются для вершин, субмеш это набор индексов вершин треугольников. Причем uv это одно и то же что и uv1 |
Ответ: Фак по Юнити.
Даже не представляю как это реализовано в unity.
Отрисовать несколько групп треугольников, причем в таком порядке, что, треугольник то с 1й группы, то со 2й, то снова с 1й. На opengl es 1.0 такое будет работать? Конечно, если можно будет не использовать 3-буфер, то можно повысить скорость. Особенно благодаря отключению очистки буфера глубины у камеры. Но вызов для каждой вершины TransformPoint и запись в массив может быть довольно медленным. |
Ответ: Фак по Юнити.
1-2-1 нельзя, можно 1-2-3, где 1 и 3 с одинаковыми материалами.
И зачем трансформировать вершины, если это делать видеокарта? |
Ответ: Фак по Юнити.
Цитата:
Цитата:
Может можно было бы создать шейдер, который принимает массив текстур или просто какое-то количество и в шейдере выбирать нужную текстуру. Только не знаю можно ли так сделать и куда записывать какому треугольнику какую текстуру. |
Ответ: Фак по Юнити.
Цитата:
В шейдер максимум может попасть до 8 текстур на современных видеокартах, и переключение текстур делать совсем не стоит. Проще упаковать текстуры в одну большую и вывести за один дравкол. |
Часовой пояс GMT +4, время: 06:33. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot