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.