jawoll das is ja schon ein deutlicher Fortschritt aber klappen tut es immer noch nicht ganz
ich habe die renderfunktion jetzt dank eurer Hilfe in bisschen um geschrieben sie sieht jetzt so aus:
|
C-/C++-Quelltext
|
1
2
3
4
5
6
7
8
9
10
11
12
13
|
if(Rocket[0].bExplode) {
SpriteEng->Begin(Kamera, Kamerapos);
Particle->AddParticle(1.0f, 0.0f, 15.0f,tbVector3(0.0f, 0.0f, 30.0f), tbVector3(0.0f), 1.0, 40.0f, 40.0f, tbColor(1.0f, 1.0f, 1.0f, 1.0f), tbColor(1.0f, 1.0f, 1.0f, 1.0f), 0.0f, 0.0f);
Particle->AddToSpriteEngine(SpriteEng);
SpriteEng->End();
Rocket[0].bExplode = false;
}
SpriteEf->Begin();
SpriteEf->Pass(0);
D3D.SetTransform(D3DTS_WORLD, tbMatrixIdentity());
SpriteEng->Render(0, -1); // Alle Partikel rendern
SpriteEf->End();
|
meiner meinung nach sollte dieser code jetzt eine Explosion an der Stelle 0,0,30 erstellen tut er aber nich
ich habe überlegt ob es vllt. am effekt liegt und habe mir den mal angeschaut (ist im mom der galactica effekt) der sieht jetzt so aus:
|
C-/C++-Quelltext
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
TEXTURE Texture;
TECHNIQUE T1
{
PASS P1
{
Texture[0] = <Texture>;
ZEnable = True;
ZWriteEnable = False;
ColorOp[0] = Modulate;
ColorArg1[0] = Texture;
ColorArg2[0] = Current;
AlphaOp[0] = Modulate;
AlphaArg1[0] = Texture;
AlphaArg2[0] = Current;
ColorOp[1] = Disable;
AlphaBlendEnable = True;
SrcBlend = SrcAlpha;
DestBlend = One;
AlphaTestEnable = True;
AlphaFunc = Greater;
AlphaRef = 7;
Lighting = False;
ColorVertex = True;
CullMode = None;
}
}
|
wenn ich das so lasse sehe ich zwar den Sprite aber hinter allem anderen also hinter meinen modellen und so was ja eig. nicht beabsichtigt ist
wenn ich jetzt das ZWriteEnable auf True setzt ist der Sprite zwar an der richtigen Stelle allerdings nur als Textur also ohne alphablending was auch nciht so schön ist weil man dann nicht mehr sieht außer diesen Sprite
ein weiterer unangenehmer Effekt ist , dass die Explosion leider nicht explodiert sondern eben nur der Besagte Sprite gerendert wird was auch nich so dolle is
vllt. könntet ihr mir nochmal helfen
vielen Dank!