電腦大家應(yīng)該不怎么陌生吧!現(xiàn)在電腦已經(jīng)普及到大多數(shù)人的家庭之中了,電腦的用途非常地廣,不同年齡段、不同行業(yè)的人對(duì)電腦的用處不同。但是對(duì)于很多的年輕人來(lái)說(shuō)電腦最大的用途就是玩游戲了。電腦游戲大家肯定玩過(guò)吧!它可以使人上癮。
相關(guān)推薦:《帝國(guó)全面戰(zhàn)爭(zhēng)》專題
相信很多人看到炮彈或子彈后面拖著長(zhǎng)長(zhǎng)的白色彈道都很不爽 這里轉(zhuǎn)一個(gè)老外的修改教程大家可以時(shí)一試
建議備份原文件
首先解壓縮main.pack里的東西到帝國(guó)安裝目錄下的data文件夾,然后把main.pack改名成extension.pack
然后在...datafx里找到projectiletrail.fx文件 用文本編輯器打開(kāi)
打開(kāi)文件后 你應(yīng)該能看到如下內(nèi)容 如果內(nèi)容不符(這也是有可能發(fā)生的) 請(qǐng)放棄
#include "FXConfig.h"
#include "Camera.fx_fragment" #include "ScreenEffects.fx_fragment" #include "fog.fx_fragment"
struct VS_INPUT { float4 position : POSITION; float3 tangent : NORMAL; float4 colour : COLOR0; float width : TEXCOORD0; float t : TEXCOORD1; float u : TEXCOORD2; float min_apparent_width_distance : TEXCOORD3; float fade_out_distance : TEXCOORD4; float cross_fade_start_distance : TEXCOORD5; float cross_fade_range : TEXCOORD6; };
struct VS_OUTPUT { float4 position : POSITION; float4 colour : COLOR; float u : TEXCOORD0; float fade_out_distance : TEXCOORD1; float distance : TEXCOORD2; float t : TEXCOORD3; float4 proj_pos : TEXCOORD4; float cross_fade_start_distance : TEXCOORD5; float cross_fade_range : TEXCOORD6; };
DECLARE_TEXTURE(normal_map); const bool render_normal_map;
VS_OUTPUT render_vertex(const VS_INPUT v) { VS_OUTPUT r;
float3 to_camera = camera_position - v.position;
float3 normal = normalize(cross(to_camera, v.tangent));
float4 position = v.position;
float distance = length(to_camera);
float width = v.width;
float apparent_width = width / min(distance, v.min_apparent_width_distance);
width = apparent_width * distance;
width *= 1.0f - v.t;
position.xyz += normal * (width * 0.5f) * v.u;
r.proj_pos = r.position = mul(position, view_projection); r.colour.rgb = v.colour.rgb;
r.colour.a = lerp(v.colour.a, 0.0f, v.t);
r.u = v.u; r.t = v.t;
r.fade_out_distance = v.fade_out_distance; r.distance = distance; r.cross_fade_start_distance = v.cross_fade_start_distance; r.cross_fade_range = v.cross_fade_range;
return r; }
float4 render_pixel(VS_OUTPUT v) : COLOR { float dist_fade_out = v.fade_out_distance / v.distance; dist_fade_out = clamp( dist_fade_out, 0.0f, 1.0f );
float width_fade_out = 1.0 - abs( v.u );
float4 colour = v.colour;
float cross_fade_t = saturate((v.distance - v.cross_fade_start_distance) / v.cross_fade_range);
if(render_normal_map) { float4 nn = tex2D(s_normal_map, v.proj_pos.xy/30 - float2(0, time_in_sec*0.05f));//float2(v.u/40, v.t*1 - time_in_sec*0.05f)); colour.rgb = nn.rgb; cross_fade_t = 1.0f - cross_fade_t; }
colour.a *= width_fade_out * dist_fade_out * cross_fade_t;
return hdr_encode(colour); }
technique projectile_alpha_sm2 { pass p0 { VertexShader = compile vs_2_0 render_vertex(); PixelShader = compile ps_2_0 render_pixel();
ZWRITEENABLE = false; ALPHABLENDENABLE = TRUE; SRCBLEND = SRCALPHA; DESTBLEND = INVSRCALPHA; } }
technique projectile_add_sm2 { pass p0 { VertexShader = compile vs_2_0 render_vertex(); PixelShader = compile ps_2_0 render_pixel();
ZWRITEENABLE = false; ALPHABLENDENABLE = TRUE; SRCBLEND = SRCALPHA; DESTBLEND = ONE; } }
technique projectile_subtract_sm2 { pass p0 { VertexShader = compile vs_2_0 render_vertex(); PixelShader = compile ps_2_0 render_pixel();
ZWRITEENABLE = false; ALPHABLENDENABLE = TRUE; BLENDOP = REVSUBTRACT; SRCBLEND = SRCALPHA; DESTBLEND = ONE; } }
現(xiàn)在可以用下面的代碼覆蓋粘貼進(jìn)去 注意不要單純地清空文件 否則會(huì)造成跳出 #include "FXConfig.h"
#include "Camera.fx_fragment" #include "ScreenEffects.fx_fragment" #include "fog.fx_fragment"
struct VS_INPUT { float4 position : POSITION; float3 tangent : NORMAL; float4 colour : COLOR0; float width : TEXCOORD0; float t : TEXCOORD1; float u : TEXCOORD2; float min_apparent_width_distance : TEXCOORD3; float fade_out_distance : TEXCOORD4; float cross_fade_start_distance : TEXCOORD5; float cross_fade_range : TEXCOORD6; };
struct VS_OUTPUT { float4 position : POSITION; float4 colour : COLOR; float u : TEXCOORD0; float fade_out_distance : TEXCOORD1; float distance : TEXCOORD2; float t : TEXCOORD3; float4 proj_pos : TEXCOORD4; float cross_fade_start_distance : TEXCOORD5; float cross_fade_range : TEXCOORD6; };
DECLARE_TEXTURE(normal_map); const bool render_normal_map;
VS_OUTPUT render_vertex(const VS_INPUT v) { }
float4 render_pixel(VS_OUTPUT v) : COLOR { }
technique projectile_alpha_sm2 { }
technique projectile_add_sm2 { }
technique projectile_subtract_sm2 { }
一定要注意備份哦
玩游戲可以在很大程度上讓大家放松放松,但是我建議大家不要把過(guò)多的時(shí)間投入到工作當(dāng)中,因?yàn)檫@樣的話大家很有可能上癮,這樣不利于大家的工作或者是學(xué)習(xí)。
|