Provavelmente o modelo irá ficar estranho dessa forma como mostrado nos exemplos dessas duas imagens :
Note as falhas do z-buffer do render.
Aqui vemos que o boné da cabeça do personagem está pra trás e não pra frente da cabeça e outros erros de z-buffer que podem aparecer caso o modelo esteja com canal ALPHA.
Para consertar esse problema de z-buffer segue o C-SCRIPT que deve ser adicionado ao seu MODELO.
function mtl_vegetation_init
{
vec_set(mtl.emissive_blue,mat_model.emissive_blue);
vec_set(mtl.ambient_blue,mat_model.ambient_blue);
vec_set(mtl.diffuse_blue,mat_model.diffuse_blue);
vec_set(mtl.specular_blue,mat_model.specular_blue);
mtl.power=mat_model.power;
mtl.albedo=mat_model.albedo;
mtl.skill1=pixel_for_vec(vector(128,0,0),0,8888); }
material mtl_vegetation
{
event=mtl_vegetation_init;
effect=
"
texture entSkin1;
dword mtlSkill1;
technique vegetation
{
pass p0
{
Texture[0]=;
ZWriteEnable=True;
AlphaBlendEnable=False;
AlphaTestEnable=True;
AlphaRef=;
AlphaFunc=Greater;
CullMode=CCW; // CCW or None
ColorArg1[0]=Texture;
ColorOp[0]=Modulate2X;
ColorArg2[0]=Diffuse;
}
}
technique fallback{pass p0{}}
";
}
action personagem
{
my.transparent=off;
my.flare=off;
my.material=mtl_vegetation;
}
Para sem efeito das bordas, mais simplificado use esse:
material mat_alphatest
{
effect =
"
technique alpha_test
{
pass p0
{
zWriteEnable = true;
alphaTestEnable = true;
alphaBlendEnable = false;
}
}
";
}
action apply_alphatest_material
{
my.material = mat_alphatest;
}Resultado com o script acima adicionado ao MODELO :
Caso seu MODELO não tenha nenhum efeito que seja necessério como cabelo por exemplo, recomendo usar TEXTURAS em BMP ou PCX assim não precisará usar o script acima.
Fonte: http://www.opserver.de/wiki/index.php/ImprovedOverlay




0 comentários:
Postar um comentário
Gostou ? Criticas, sugestões, deixe um comentário.