|
03.10.2010, 20:08
|
#16
|
Unity/C# кодер
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений (для 5,323 пользователей)
|
Ответ: Диваны
Сообщение от ARENSHI
А заказчик предупреждён на счёт плеера?)
Конструктор прикольный намечается
Интерполяцыя клёво смотрится. Вот только заметил что Beast-овские лайтмапы в режиме эмуляции DX7 не отображаются. А просчитанные в максе отображаются. У тебя какие? А то домохоязьки фпечале будут.
|
У заказчика был набросок на Quest3d который работает только в IE. Unity работает на всех распространенных браузерах, а лайтмэпы у меня просчитанные максом (какие дали).
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
04.10.2010, 04:36
|
#17
|
ТЫ ЧООО?
Регистрация: 26.02.2007
Сообщений: 3,369
Написано 2,020 полезных сообщений (для 7,192 пользователей)
|
Ответ: Диваны
Да все вроде работает как надо:
|
Да не всё):
__________________
Вертекс в глаз или в пиксель раз?
|
(Offline)
|
|
04.10.2010, 18:01
|
#18
|
Unity/C# кодер
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений (для 5,323 пользователей)
|
Ответ: Диваны
Сегодня написал Editor скрипт, добавляющий функционал назначения материалов и коллайдеров подобъектам модуля дивана не лазя по его иерархии. Скрыл ненужные во время проектирования настройки.
Еще в демке теперь таскание текстуры по дивану ориентировано правильно, даже если текстурные координаты повернуты на 90, 180.. и т.д. градусов.
http://shgames.ru/divan/
|
(Offline)
|
|
05.10.2010, 13:18
|
#19
|
Blitz's Shame !!
Регистрация: 31.03.2007
Сообщений: 3,639
Написано 832 полезных сообщений (для 2,013 пользователей)
|
Ответ: Диваны
диван выглядит симпотно !!
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
06.10.2010, 23:19
|
#20
|
Unity/C# кодер
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений (для 5,323 пользователей)
|
Ответ: Диваны
Исправил шейдер, который цвет засвечивал, теперь все нормально (запутали меня лайтмэпные шейдеры, которе идут в исходниках как extra, своей эмиссией). Сделал загрузку модулей дивана отдельно, теперь плеер весит ~100кб. Загружаются тока запрошенные модули.
Можете теперь откуда-нибудь загружать текстуры и смотреть как получается
В формуле по умолчанию (которая текстом прописана) представлены все доступные модули на текущий момент.
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
07.10.2010, 22:06
|
#21
|
Unity/C# кодер
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений (для 5,323 пользователей)
|
Ответ: Диваны
Сегодня сделал блики для имитации лакированных поверхностей, но получается в местах щелей толи просветы, толи блики так себя ведут...
http://shgames.ru/divan/ бликует материал с цветочками.
Может кто из гуру посоветовать как от этого избавиться?
|
(Offline)
|
|
07.10.2010, 23:24
|
#22
|
Дэвелопер
Регистрация: 06.04.2009
Адрес: Запорожье
Сообщений: 1,500
Написано 1,011 полезных сообщений (для 4,642 пользователей)
|
Ответ: Диваны
Шойдер бы показал. Там не только засветы. Если смотреть строго сверху на засвеченную область подушки, то в блике получается два креста: один белый пересвеченный, второй вокруг него монотонно темный. Что-то с нормалями, может быть...
__________________
|
(Offline)
|
|
07.10.2010, 23:37
|
#23
|
Unity/C# кодер
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений (для 5,323 пользователей)
|
Ответ: Диваны
Первый мой шейдер был с использованием сурфейсной техники юнити, как оказалось я пока не до конца понимаю как она генерит шейдеры и блики там сделать вообще не получилось.
Сейчас шейдер переписал заново вот так:
Shader "Divan/DiffuseSpecularNew" { Properties { _Color ("Main Color", Color) = (1,1,1,1) _SpecColor ("Specular Color", Color) = (0.5, 0.5, 0.5, 1) _Shininess ("Shininess", Range (0.01, 1)) = 0.8 _MainTex ("Base (RGB) Gloss (A)", 2D) = "white" {} _LightMap ("Lightmap (RGB)", 2D) = "white" {} _LightMap2 ("Lightmap2 (RGB)", 2D) = "white" {} _LightMapT ("LightmapT", Range (0.0, 1)) = 0.0 }
SubShader { LOD 200 Tags { "RenderType" = "Opaque" } Pass{ CGPROGRAM #pragma vertex vert #pragma fragment frag
#include "UnityCG.cginc"
sampler2D _MainTex; sampler2D _LightMap; sampler2D _LightMap2; float4 _Color; float4 _SpecColor; float _LightMapT; float _Shininess; float4x4 _MainTexMatrix;
struct appdata { float4 vertex : POSITION; float4 texcoord : TEXCOORD0; float4 texcoord1: TEXCOORD1; float4 normal : NORMAL; };
struct v2f { float4 pos : POSITION; float4 uv : TEXCOORD0; float4 uv2 : TEXCOORD1; float4 normal : TEXCOORD2; float3 lightDir : TEXCOORD3; float3 viewDir : TEXCOORD4; };
v2f vert (appdata v) { v2f o; o.pos = mul( UNITY_MATRIX_MVP, v.vertex ); o.uv = mul(_MainTexMatrix, v.texcoord); o.uv2 = v.texcoord1; o.normal = v.normal; o.lightDir = ObjSpaceLightDir( v.vertex ); o.viewDir = ObjSpaceViewDir( v.vertex ); return o; }
half4 frag( v2f i ) : COLOR { half4 mainColor = tex2D(_MainTex, i.uv.xy); half4 c = ((1 - _LightMapT) * tex2D (_LightMap, i.uv2.xy) + _LightMapT * tex2D (_LightMap2, i.uv2.xy) ) * mainColor; half3 h = normalize (i.lightDir + i.viewDir); float nh = max (0, dot (i.normal, h)); float spec = pow (nh, mainColor.a * 48) * _Shininess; return c * _Color + spec * _SpecColor; }
ENDCG } }
FallBack "Divan/VertexLit" }
UPD: такое чувство, что шейдер считает положение камеры и источника в одном месте, и источник точечный... хотя должен быть направленный...
|
(Offline)
|
|
08.10.2010, 00:11
|
#24
|
Дэвелопер
Регистрация: 06.04.2009
Адрес: Запорожье
Сообщений: 1,500
Написано 1,011 полезных сообщений (для 4,642 пользователей)
|
Ответ: Диваны
А нормали нормализованы? Те, что i.normal.
Кстати, а что max быстрее, чем saturate?
__________________
|
(Offline)
|
|
08.10.2010, 00:18
|
#25
|
Unity/C# кодер
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений (для 5,323 пользователей)
|
Ответ: Диваны
нормализованы ли нормали не знаю, но скорее всего нормализованы импортером, а max была использована в шейдере, который я взял за пример. Попробую нормализовать нормали и использовать saturate, мне не нужны значения больше 1...
|
(Offline)
|
|
08.10.2010, 00:25
|
#26
|
Unity/C# кодер
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений (для 5,323 пользователей)
|
Ответ: Диваны
Странно, при нормализации нормали в вершинной функции блики вообще пропадают...
|
(Offline)
|
|
08.10.2010, 12:04
|
#27
|
Unity/C# кодер
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений (для 5,323 пользователей)
|
Ответ: Диваны
Решил использовать двухпроходный шейдер для двухтекстурных видеокарт без использования Cg вставок.
Получилось следующее:
Shader "Divan/VertexLit" { Properties { _Color ("Main Color", Color) = (1,1,1,1) _SpecColor ("Spec Color", Color) = (1,1,1,1) _Shininess ("Shininess", Range (0.01, 1)) = 0.7 _MainTex ("Base (RGB)", 2D) = "white" {} _LightMap ("Lightmap (RGB)", 2D) = "lightmap" { LightmapMode } _LightMap2 ("Lightmap2 (RGB)", 2D) = "lightmap" { LightmapMode } _LightMapT ("LightmapT", Range (0.0, 1)) = 0.0 }
// ------------------------------------------------------------------ // Two texture cards
SubShader { LOD 100 Tags { "RenderType"="Opaque" }
Pass { Name "LM" BindChannels { Bind "Vertex", vertex Bind "texcoord1", texcoord0 // lightmap uses 2nd uv Bind "texcoord1", texcoord1 // lightmap2 uses 2nd uv } SetTexture [_LightMap] { combine texture } SetTexture [_LightMap2] { constantColor (0.5,0.5,0.5,[_LightMapT]) combine texture lerp(constant) previous } } Pass { Name "COLOR" Tags {"LightMode" = "Vertex"} Material { Diffuse [_Color] Shininess [_Shininess] Specular [_SpecColor] }
Lighting On SeparateSpecular On ZWrite Off Offset 0, -1 Blend DstColor Zero BindChannels { Bind "Vertex", vertex Bind "normal", normal Bind "texcoord", texcoord0 // main uses 1st uv } SetTexture [_MainTex] { ConstantColor [_Color] combine texture * Constant, texture matrix [_MainTexMatrix] } } }
Fallback "VertexLit" }
Теперь есть поддержка старых видеокарт и блики исправились.
|
(Offline)
|
|
25.11.2010, 16:54
|
#28
|
Unity/C# кодер
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений (для 5,323 пользователей)
|
Ответ: Диваны
Новое демо http://shgames.ru/divan_new/
Для некоторых тканей есть параметр falloff, который придает им более реалистичный вид. Пример:
|
(Offline)
|
|
Эти 9 пользователя(ей) сказали Спасибо pax за это полезное сообщение:
|
|
26.11.2010, 06:24
|
#29
|
Мастер
Регистрация: 23.09.2009
Адрес: ленобласть
Сообщений: 1,189
Написано 447 полезных сообщений (для 2,526 пользователей)
|
Ответ: Диваны
да смотрится конешь красиво, но когда загружается эта демка, то браузер глючит и стопорит.
в самой проге какието странные тормоза, где-то с периодом 1 секунда появляется некая задержка изображения(скачек) странно както.хз мож модели оптимизировать, но на обычные тормоза не похоже(в первой версии такого не было)
и текстуры достаточно медленно зангружаются ~5сек.
еще интуитивно хочется зум на колесо мышки, т.к. везде так сделано
а вообще круто, почти как рендер, шейдеры прикольные.!
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
26.11.2010, 12:59
|
#30
|
Бывалый
Регистрация: 03.11.2008
Адрес: Украина, Днепропетровск
Сообщений: 871
Написано 554 полезных сообщений (для 2,520 пользователей)
|
Ответ: Диваны
Оно то может и красиво, но зачем Диванам графика Кризиса? У меня, средне статического дивано-жаждателя с потенциальным нетбуком, при построении диванов программа ненадолго зависает, а после, просто работает медленно. Если она всё-таки коммерческая, стоит задуматься об оптимизации. ИМХО.
Последний раз редактировалось Harter, 26.11.2010 в 15:50.
|
(Offline)
|
|
Эти 3 пользователя(ей) сказали Спасибо Harter за это полезное сообщение:
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 07:22.
|