Войти
ПроектыФорумСобираю команду

Собираю комманду для создания игры (8 стр)

Страницы: 17 8 9 1024 Следующая »
#105
18:24, 15 апр 2010

JustinTem
vb.net это конечно круто :D

> Работаю на 3DMAX 9,Vb 6,Рисую текстуры,создаю карты,игровое оформление
если не тролль, покажи результаты работ)

#106
14:50, 18 апр 2010

Мужики - есть ли здесь моделлер - который способен сделать такую модель:

Изображение

Если есть - пишите в личку !!!

#107
21:17, 25 апр 2010

Причесал немного Normal Mapping - вот что получилось:

Изображение

Вот что было:

Изображение

А вот - каким должно было бы быть:

Изображение
#108
22:08, 25 апр 2010

А почему цвета-то такие кривые у тебя?

#109
0:54, 26 апр 2010

slava_mib
Кривые-цвета ? ))) Это как ? )))

#110
10:04, 26 апр 2010

Liberty Prime
Нормалка стала значительно лучше, ещё спекулара не хватает
> А вот - каким должно было бы быть:
Кстати а может проще шейдер сграбить? )
и кстати цветовая палитра/гамма на оригинале на мой взгляд значительно лучше чем синий с красноватым.

#111
10:24, 26 апр 2010

>Кривые-цвета ? ))) Это как ? )))
Посмотри на скрины и подумай )))

#112
11:46, 26 апр 2010

lorenze
Да - спекулара действительно мало, буду ковырять шейдер дальше.
Сграбить шейдер - идея хорошая! Тоже думал об этом - когда баг не мог полторы недели подряд исправить :) Но мне более интересно самому разобратся и косяки поисправлять - для опыта полезнее будет :)
По поводу гаммы - зелёный с серым - включить не проблема :) Мож на следующих скринах - включу :)

slava_mib
Не спорю - думать полезно :)

К стати - вот код глючного нормал мапа. Уже 2 недели не могу заставить его работать. Буду очень благодарен - если найдутся люди способные помочь его исправить! (П.С. То что видно на скрине - по другому расчитывается)

Вертексный шейдер:

VS_OUTPUT RenderSceneVS( float4 vPosition  : POSITION,
                         float3 vNormal    : NORMAL,
                         float2 vTexCoord0 : TEXCOORD0,
                         float3 vTangent   : TANGENT0,
                         float3 vBinormal  : BINORMAL0)
{
    VS_OUTPUT Output;

    float4x4 mPVW   = mul(mul(g_mProjection,g_mView),g_mWorld);
    float4x4 mW     = g_mWorld;
    float4x4 mV     = g_mView;  
  
    mPVW = transpose(mPVW);
    mW   = transpose(mW);
    mV   = transpose(mV);  
  
    float4x4 mPVW_T = transpose(mPVW);  
    float4x4 mW_T   = transpose(mW);  
    float4x4 mV_T   = transpose(mV);  
  
    float4 vPosW = mul( vPosition, mW );
    float4 vPosW_T = transpose( vPosW );
  
    Output.Position  = mul( vPosition, mPVW );
    Output.TextureUV = vTexCoord0; 
    Output.Normal   = mul( vNormal,   mW );
    Output.Tangent  = mul( vTangent,  mW );
    Output.Binormal = mul( vBinormal, mW );
    // Calculate eye and light vectors:
    Output.Light   = ( Light1Position - vPosW.xyz ); 
    Output.View    = ( mV_T[3].xyz - vPosW.xyz ); 
  
    /* [Normal-map] */
  
    // Calculate the tangent basis:
    float3x3 TangentSpace = float3x3( vTangent, vBinormal, vNormal );
    TangentSpace = mul( TangentSpace, mW );
    float3x3 TangentSpace_T = transpose(TangentSpace);  

   // My Lighting system:
    Output.LightTS = mul(Output.Light, TangentSpace );
    Output.ViewTS  = mul(TangentSpace, Output.View );

    return Output;
}

Спекулар по Блину (тут вроде всё правильно):

float4 Lighting_Specular_Blinn(in float4 specular_color, in float specular_intensity, in float specular_power, in float3 normal, in float3 light_direction, in float3 view_direction)
{
  float3 H=normalize(light_direction+view_direction);
  return specular_color*specular_intensity*pow(dot(normal,H),specular_power);
}

Пиксельный шейдер:

    
PS_OUTPUT RenderScenePS( VS_OUTPUT In ) 
{ 
    PS_OUTPUT Output;

    float4 Diffuse = tex2D(TextureDiffuseSampler, In.TextureUV);
    float4 Normals = tex2D(TextureNormalsSampler, In.TextureUV);
    
    Diffuse += Lighting_Ambient (g_materialAmbientColor,0.1f);

    float3 Nn = normalize(In.Normal);
    float3 Tn = normalize(In.Tangent);
    float3 Bn = normalize(In.Binormal);
    float3 bump = 3.0 * (float3(Normals.g,Normals.b,Normals.a) - 0.5);
    Nn = Nn + bump.x*Tn + bump.z*Bn;
    Nn = normalize(Nn);

    Diffuse += Diffuse*Lighting_Specular_Blinn(g_materialSpecularColor,4.0f,8.0f,Nn,In.Light,In.View);

    Output.RGBColor   = Diffuse;
    return Output;
}

Буду благодарен за любую оказанную помощь! :)

#113
13:34, 26 апр 2010

Liberty Prime
Если кто поможет - ПИВО ВЫСТАВЛЮ !!! :)

#114
14:32, 26 апр 2010

Во-первых,

Diffuse += Lighting_Ambient (g_materialAmbientColor,0.1f);

Означает, что объект сам светится, а не освещается общим амбиентом. Впрочем, может быть, в том и интент?

Ну и, конечно:

Nn = Nn*bump.y + bump.x*Tn + bump.z*Bn;// *bump.y!!!

Вообще, ты понагромождал кучу всего, разбираться не удобно)

Да, за тобой еще респект и уважуха за прошлый ответ.)

upd: в код теги не вкладываются)

#115
17:41, 26 апр 2010

GeniusIsme
Спасибо что отозвался!!! Мой тебе МЕГА-РЕСПЕКТ  и УВАЖУХА !!! И за этот пост - и за предыдущий !!! :) Видимо я должен тебе уже не 1 пиво а 2 :))))

И хочу сразу извиниться - потому что выложил работающий вариант :)))

По поводу твоего замечания:

Nn = Nn*bump.y + bump.x*Tn + bump.z*Bn;// *bump.y!!!

Я тоже думал что с

 *bump.y 

будет правильнее - но почемуто это оказалось не так.. Почему-то - потеря одной из компонент - идёт бампу на пользу...
А может ли быть бамп - твухкомпонентным (X,Y только хранит - а Z по умолчанию всегда равен 1.0f)? Чисто теоретически ведь может... К стати - довольно странно что нормалка в EVE хранится именно  в компонентах GBA а не в привычных RGB например - R - компонента вообще - чёрная... У меня есть подозрение что  в A компоненте вообще не компонента нормали хранится - а какаято Specular составляющая - которая указывает какие элементы корабля - чисто металлическим блеском рендерить.. Думаю было бы правильно показать вам эту текстуру!

По поводу не работающего:

VS_OUTPUT RenderSceneVS( float4 vPosition  : POSITION,
                         float3 vNormal    : NORMAL,
                         float2 vTexCoord0 : TEXCOORD0,
                         float3 vTangent   : TANGENT0,
                         float3 vBinormal  : BINORMAL0)
{
    VS_OUTPUT Output;

    float4x4 mPVW   = mul(mul(g_mProjection,g_mView),g_mWorld);
    float4x4 mW     = g_mWorld;
    float4x4 mV     = g_mView;  
  
    mPVW = transpose(mPVW);
    mW   = transpose(mW);
    mV   = transpose(mV);  
  
    float4x4 mPVW_T = transpose(mPVW);  
    float4x4 mW_T   = transpose(mW);  
    float4x4 mV_T   = transpose(mV);  
  
    float4 vPosW = mul( vPosition, mW );
  
    Output.Position  = mul( vPosition, mPVW );
    Output.TextureUV = vTexCoord0; 
    Output.Normal   = mul( vNormal,   mW );
    Output.Tangent  = mul( vTangent,  mW );
    Output.Binormal = mul( vBinormal, mW );

    // Calculate eye and light vectors:
    Output.Light   = ( Light1Position - vPosW.xyz ); 
    Output.View    = ( mV_T[3].xyz - vPosW.xyz ); 
  
    /* [Normal-map] */
  
    // Calculate the tangent basis:
    float3x3 TangentSpace = float3x3( vTangent, vBinormal, vNormal );
    TangentSpace = mul( TangentSpace, mW );

   // My Lighting system:
    Output.LightTS = mul(Output.Light, TangentSpace );
    Output.ViewTS  = mul(TangentSpace, Output.View );

    return Output;
}

Амбиент (тут шара):

float4 Lighting_Ambient(in float4 ambient_color, in float ambient_intensity)
{
  float4 FinalColour = float4( 0,0,0,0 );
  FinalColour = ambient_color * ambient_intensity;
  return FinalColour;
}

Спекулар по Блину (тут вроде всё правильно):

float4 Lighting_Specular_Blinn(in float4 specular_color, in float specular_intensity, in float specular_power, in float3 normal, in float3 light_direction, in float3 view_direction)
{
  float3 H=normalize(light_direction+view_direction);
  return specular_color*specular_intensity*pow(dot(normal,H),specular_power);
}

Пиксельный шейдер:

PS_OUTPUT RenderScenePS( VS_OUTPUT In ) 
{ 
    PS_OUTPUT Output;

    float4 Diffuse = tex2D(TextureDiffuseSampler, In.TextureUV);
    float4 Normals = tex2D(TextureNormalsSampler, In.TextureUV);
    
    Diffuse += Lighting_Ambient (g_materialAmbientColor,0.1f);
    
    float Bumpness = 3.0f;
    float3 bump = Bumpness * (float3(Normals.g,Normals.b,Normals.a) - 0.5);

    Diffuse += Diffuse*Lighting_Specular_Blinn(g_materialSpecularColor,4.0f,8.0f,bump ,In.LightTS,In.ViewTS);

    Output.RGBColor   = Diffuse;
    return Output;
}

:)

#116
23:11, 26 апр 2010

Liberty Prime
> А может ли быть бамп - твухкомпонентным (X,Y только хранит - а Z по умолчанию
> всегда равен 1.0f)? Чисто теоретически ведь может... К стати - довольно странно
> что нормалка в EVE хранится именно в компонентах GBA а не в привычных RGB
> например - R - компонента вообще - чёрная... У меня есть подозрение что в A
> компоненте вообще не компонента нормали хранится - а какаято Specular
> составляющая - которая указывает какие элементы корабля - чисто металлическим
> блеском рендерить.. Думаю было бы правильно показать вам эту текстуру!
мм... http://ccp.vo.llnwd.net/o2/community/devblog/2010/TexturePack_large.jpg ?
ну и до кучи http://forum.eve-ru.com/index.php?showtopic=39943

#117
23:54, 26 апр 2010

antonn
Антон !!!! Мои АВАЦИИ !!!! Твой пост - прямо в ТОЧКУ !!!!!!!!!!! Всёже я был очень близок к разгадке !!! Они используют двух-компонентный Normal-MAP !!!! :)

Антон - я те должен пиво !!! Предлогаю перевести тебе деньги на твой веб мани кошелёк !!! :) Ну а ты сам - какое пиво захош - тако и купиш ))) В общем - по поводу пива - пиши мне в личку !!!! :)

#118
1:39, 27 апр 2010

Liberty Prime
> К стати - довольно странно что нормалка в EVE хранится именно в компонентах
> GBA а не в привычных RGB например - R - компонента вообще - чёрная... У меня
> есть подозрение что в A компоненте вообще не компонента нормали хранится - а
> какаято Specular составляющая - которая указывает какие элементы корабля -
> чисто металлическим блеском рендерить..
В общем то не странно, довольно удобно в одной из карт хранить спекулар или маску для постэффекта в альфе.

#119
1:42, 27 апр 2010

lorenze
Согласен с тобой ! Но я немного о другом - ДВУХКОМПОНЕНТНЫЙ НОРМАЛ-МАП !!! Обычно же 3-х, а тут - ДВУХ !!! :) Это для меня оч. странно )

Страницы: 17 8 9 1024 Следующая »
ПроектыФорумСобираю команду

Тема в архиве.