Страница 5 из 8

Re: Обзор Unity 3

СообщениеДобавлено: 08 окт 2010, 12:51
GrueGames
Ой какая ашипка........
Дело в том, что сейчс напротив меня сидит наиглавнейший программист клиента Аллодов. А в 10 метрах от меня все художники с этого проекта. Нетрудно догадаться, где я работаю. И вот теперь я совершенно авторитетно заявляю, что вы батенька пиз"%*бол. И всё совсем иначе. И ваше мнение и его авторитетность стоят ровно 0. прощайте.


Хм... я общался с Денисычем (он скриптер в Нивале), от него информация что у них все печется Менталом, и он сам писал им скрипты для майки чтобы еще печь удобно все 1 кликом и раскладывать по нужным папкам. Ненадо ненадо. Если есть другая информация чем пекли карты для аллодов - поделитесь ей.

Мы еще когда разговаривали с ним, зашел разговор о Turtle, я какраз им пользовался тогда, он пожал плечами и еще раз ответил "да унас Ментал везде, все настроено давно и отработано".

P.S. Матом на улице общайся. Ему на форуме - не место.
И да, карты освещения для аллодов запечены ужасно (больное место задел?)

Re: Обзор Unity 3

СообщениеДобавлено: 08 окт 2010, 13:11
silver516
=)) =)) =)) :((

Админ!!! Забань нас пожалуйста! Ну хоть на три денька. а то добром это не кончится

Re: Обзор Unity 3

СообщениеДобавлено: 08 окт 2010, 13:15
GrueGames
Изображение
Успокойся, все нормально.
Приведи пожалуйста еще примеров своего метода, он меня очень заинтересовал.

Re: Обзор Unity 3

СообщениеДобавлено: 08 окт 2010, 13:17
Neodrop
Сильвер, вот этот код удаляет альфа-канал с рендер-текстуры.
Если поправить материал и передать ему текстуру, которая создаёт эффект сглаживания, то код отрисует её в миг единый.

Синтаксис:
Используется csharp
private Material mat;

    void OnPostRender()
    {
        if (!mat)
        {
            mat = new Material("Shader \"Hidden/Alpha\" {" +
                "SubShader {" +
                "    Pass {" +
                "        ZTest Always Cull Off ZWrite Off" +
                "        ColorMask A" +
                "        Color (1,1,1,1)" +
                "    }" +
                "}" +
                "}"
            );
            mat.shader.hideFlags = HideFlags.HideAndDontSave;
            mat.hideFlags = HideFlags.HideAndDontSave;
        }
        GL.PushMatrix();
        GL.LoadOrtho();
        for (int i = 0; i < mat.passCount; ++i)
        {
            mat.SetPass(i);
            GL.Begin(GL.QUADS);
            GL.Vertex3(0, 0, 0.1f);
            GL.Vertex3(1, 0, 0.1f);
            GL.Vertex3(1, 1, 0.1f);
            GL.Vertex3(0, 1, 0.1f);
            GL.End();
        }
        GL.PopMatrix();
    }
 


Второй вариант : отрендерить плоскость с картинкой, поставленную перед камерой (лучше орто) командой Graphics.DrawMeshNow

То есть, в чём суть : одним коротким вызовом, отрендерить только плоскость, содержащую рендер сцены (RTT на материале) одним из двух, предложенных выше, методов.
Теоретически, должно работать настолько быстро, что вполне приемлемо, как полная альтернатива хардварному сглаживанию. Даже потери времени на даунсэмплинг не будет.

Re: Обзор Unity 3

СообщениеДобавлено: 08 окт 2010, 13:20
silver516
Спасибо!

Re: Обзор Unity 3

СообщениеДобавлено: 08 окт 2010, 13:26
Fox Rex
Neodrop писал(а):~x( Ах, точно. Да, простенько и 100% действенно. Спасибо.

Кстати, это можно сделать через GL - будет быстро и качественно. Могу дать базовый код, если понадобится.

Было бы очень интересно увидеть код. Код увидел. Нео спасибо.

Re: Обзор Unity 3

СообщениеДобавлено: 08 окт 2010, 13:28
Neodrop
А что, не видно? :-B
:D

Re: Обзор Unity 3

СообщениеДобавлено: 08 окт 2010, 13:28
GrueGames
Спасибо!
Здорово было бы пощупать это в тестовой сценке.
(пошел тестить)

Re: Обзор Unity 3

СообщениеДобавлено: 08 окт 2010, 13:36
Neodrop
З.Ы. Используйте Graphics.DrawMeshNow на ортогональной камере, с настройкой depth ниже Главной камеры, рендерящей картинку сцены (не забудем, что Главная камера должна рендерить в текстуру, превыщающую размер экрана. Ну, процентов на 3-5% это по вкусу).
Или depth должен быть выше? Каждый раз путаюсь. Короче - камера, выполняющая перерендер картинки с Главной камеры, должна работать позже Главной камеры.
З.Ы.Ы. Если поставить её целевую плоскость (на которой мат с RTT) в отдельный слой и назначить этой камере видеть только его, то и Graphics.DrawMeshNow не нужен. Всё вообще автоматом станет работать.

З.Ы.Ы.Ы. ДА вообще фтопку Graphics.DrawMeshNow. :D

Re: Обзор Unity 3

СообщениеДобавлено: 08 окт 2010, 13:40
silver516
я именно плоскость и поставил. В отдельный слой. С простейшим шейдером.

Re: Обзор Unity 3

СообщениеДобавлено: 08 окт 2010, 13:44
Neodrop
Камера орто? Пожалуй да, это наибыстрейший вариант. Тут и GL газку особо не прибавит.

Re: Обзор Unity 3

СообщениеДобавлено: 08 окт 2010, 18:04
GrueGames
Потестил. Использовал орто камеру на отдельном слое, перед которой поставил плейн с текстурой с максимально простым шейдером.

Текстура для рендера должна быть степенью 2ки. Выше 2048 видимо разрешение получить нельзя? Тоесть получается 3 варианта: 2048x2048, 2048х1024 и 1024х1024. Довольно большая часть текстуры зазря "простаивает"за экраном. Не жалко?
Собственно получается что простор для уменьшения разрешения изображения лежит где-то между 1-2. Мне при уменьшении с 2048x2048 до 1024x1024 удалось добиться довольно убедительного АА (примерно на уровне аппаратного 4х, кроме самых проблемных мест). Но вот более высокие разрешения смотрятся уже не столь выигрышно.
Падение fps вполне приемлемо (10%), при настройках EdgeBlur которые показались мне оптимальными.

В целом впечатления скорее положительные, спасибо больше, silver516 (что однако не оправдывает вашего беспочвенного хамства в мой адрес
Скрытый текст:
Newbie, хватит троллить (прим. gnoblin)
). Neodrop тоже спасибо.
WebPlayer.unity3d

Re: Обзор Unity 3

СообщениеДобавлено: 08 окт 2010, 21:27
silver516
Вот блин двоечник. а этот кусок кода ни о чём не говорит?

Синтаксис:
Используется javascript
var tex : RenderTexture;

function Awake (){
tex.isPowerOfTwo  = false;
tex.width  = Screen.width  * 1.5;
tex.height  = Screen.height  * 1.5;
}

function Update () {
}


Начните уже читать мануал хоть изредка

Re: Обзор Unity 3

СообщениеДобавлено: 08 окт 2010, 21:32
GrueGames
Спасибо. Этот мануал сам себе порой противоречит:
Size The size of the Render Texture in pixels. Observe that only power-of-two values sizes can be chosen.

Re: Обзор Unity 3

СообщениеДобавлено: 08 окт 2010, 21:39
silver516
Это не тот мануал. Мануал для риальных пацанофф называется ScriptReference. А то что вы цитируете - это пособие для детей с ограниченными возможностями. Ну эточто-то среднее между пресс-релизом журналом Мурзилка. Почитать забавно а пользы мало