forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Общие вопросы (http://forum.boolean.name/forumdisplay.php?f=166)
-   -   Вопросы от новичка (http://forum.boolean.name/showthread.php?t=15809)

Nex 11.07.2013 06:31

Ответ: Вопросы от новичка
 
Объясните мне что такое Quaternion.
Я не много пораскуривал и понял что это вроде нужно для поворота объекта без затупов?
Если делать физику самолета допустим на блитзе, то при маневрах в определенных углах поворота возникает как бы замок и самолет пока по одной оси не довернет, то по какой нибудь другой оси будет замирать. Quaternion нужен для устранения этих затупов или это не то? :)

pax 11.07.2013 07:33

Ответ: Вопросы от новичка
 
Почитай, если не читал

WISHMASTER35 11.07.2013 19:10

Ответ: Вопросы от новичка
 
В чем AntialiasingAsPostEffect лучше обычного Antialiasing, который включается в настройках качества графики? Или их вместе нужно использовать?

pax 11.07.2013 19:52

Ответ: Вопросы от новичка
 
когда MRT включен - не работает антиалиасинг хардварный, помогает сгладить изобращение только через пост эффекты. MRT используетсяа Deffered Lighting

Nex 12.07.2013 05:22

Ответ: Вопросы от новичка
 
Как менять цвет объекта и можно ли обойтись одним материалом?
Как создать n объектов и рандомно их расставить?

pax 12.07.2013 07:26

Ответ: Вопросы от новичка
 
Для цвета объекта у, например, Diffuse материала есть параметр "renderer.material.color". Если назначить цвет всем объектам через это свойство, то обращение к renderer.material сделает индивидуальную копию материала на объекте и задаст для него свой цвет. Если делать одним материалом, то надо шейдер, который поддерживает цвета вершин и для каждого объекта для меша создать массив colors с нужным цветом. это скопирует меши объектов, а не материалы.

WISHMASTER35 14.07.2013 16:27

Ответ: Вопросы от новичка
 
Как устроен террейн? Я так понимаю он использует шейдре, который принимает 4 текстуры и смешивает их в соответствии с данными из специальной текстуры?
Но тогда максимальное кол-во текстур на террейне должно быть 4, но я не замечал таких ограничений.

Когда-то видел такой шейдер, но не могу сейчас найти. Никто не знает где можно глянуть такое?

pax 14.07.2013 18:00

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

WISHMASTER35 14.07.2013 20:42

Ответ: Вопросы от новичка
 
pax, а поподробнее можешь как оно там работает?
И для хранения информации о смешивании используется же RGBA текстура? Я так понимаю по каналу на текстуру? Тогда опять же не ясно как больше 4х текстур использовать.

pax 15.07.2013 00:55

Ответ: Вопросы от новичка
 
Скачай Built-in shaders http://unity3d.com/unity/download/archive там найдешь DefaultResources\TerrainShaders\Splats\

Nuprahtor 16.07.2013 16:50

Ответ: Вопросы от новичка
 

Вот такая проблема - слева Transparent Diffuse Cutout с некрасивой белой обводкой по краям и без прозрачности на изображении.
Справа - Transparent Diffuse, без проблем с отображением.
Но у обычного Transparent Diffuse есть большие проблемы с сортировкой, чего не наблюдается у Cutout.
Посмотрел в исходниках шейдеров:

Transparent Diffuse
Shader "Transparent/Diffuse" {
Properties {
_Color ("Main Color", Color) = (1,1,1,1)
_MainTex ("Base (RGB) Trans (A)", 2D) = "white" {}
}

SubShader {
Tags {"Queue"="Transparent" "IgnoreProjector"="True" "RenderType"="Transparent"}
LOD 200

CGPROGRAM
#pragma surface surf Lambert alpha

sampler2D _MainTex;
fixed4 _Color;

struct Input {
float2 uv_MainTex;
};

void surf (Input IN, inout SurfaceOutput o) {
fixed4 c = tex2D(_MainTex, IN.uv_MainTex) * _Color;
o.Albedo = c.rgb;
o.Alpha = c.a;
}
ENDCG
}

Fallback "Transparent/VertexLit"
}


Transparent Diffuse Cutout
Shader "Transparent/Cutout/Diffuse" {
Properties {
_Color ("Main Color", Color) = (1,1,1,1)
_MainTex ("Base (RGB) Trans (A)", 2D) = "white" {}
_Cutoff ("Alpha cutoff", Range(0,1)) = 0.5
}

SubShader {
Tags {"Queue"="AlphaTest" "IgnoreProjector"="True" "RenderType"="TransparentCutout"}
LOD 200

CGPROGRAM
#pragma surface surf Lambert alphatest:_Cutoff

sampler2D _MainTex;
fixed4 _Color;

struct Input {
float2 uv_MainTex;
};

void surf (Input IN, inout SurfaceOutput o) {
fixed4 c = tex2D(_MainTex, IN.uv_MainTex) * _Color;
o.Albedo = c.rgb;
o.Alpha = c.a;
}
ENDCG
}

Fallback "Transparent/Cutout/VertexLit"
}


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

pax 16.07.2013 19:19

Ответ: Вопросы от новичка
 
Cutout пишет в буфер глубины и является как бы твердым объектом. В результате объекты за ним не рисуются и нет необходимости сортировать непрозрачную геометрию. Для прозрачной геометрии все сложнее.... чтобы она лучше работала объект можно разделить на более мелкие части. Например огонь или что там из него выходит сделать отдельным объектом с прозрачностью, а остальную часть модели оставить Cutout

У камеры вроде было два режима сортировки, пробовал оба? http://docs.unity3d.com/Documentatio...ySortMode.html

seaman 17.07.2013 00:36

Ответ: Вопросы от новичка
 
Насчет белой обводки. Может это поможет?-
http://devuni.tk/tutor/2d-content-cr...lphfmask-tutor
http://docs.unity3d.com/Documentatio...alphamaps.html

WISHMASTER35 18.07.2013 00:48

Ответ: Вопросы от новичка
 
Nuprahtor, а как эти cutout работает? Я знаю, что там вызывается clip, чтобы отключить запись в буфер глубины для пикселя. Но для каких значений альфы clip вызывается?
Я так понимаю, чтобы не было проблем, надо вызывать clip даже на мало прозрачных пикселях, чтобы они нормально блендились с другими объектами.

Как перевести Rect из системы координат GUI в систему для GL.Viewport?

pax 18.07.2013 08:48

Ответ: Вопросы от новичка
 
Cutout не использует блендинг, отсечение использует не clip, а alpha test. У каждого Cutout шейдера есть параметр Alpha Cutoff (0..1) для контроля.


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

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