Battlezone Universe

Battlezone Universe => Battlezone 2 => Maps and Modding => Topic started by: TheJamsh on June 04, 2009, 08:49:26 PM

Title: anyone figure out why this doesnt work?
Post by: TheJamsh on June 04, 2009, 08:49:26 PM
its a new headshot explosion, designed to send a flying head that spits out blood into the sky.

this is the early section ive got, but strangely its not working. ive tried different simulatebases but cant get the head to go into the sky when i snipe something... it just needs to send the multi render upwards like an ember.


particleClass1 = "xsnipe.headember"
particleCount1 = 1
particleVeloc1 = 0.0 158.0 0.0"

[headember]
simulateBase = "sim_ember"
lifeTime = 15.0
renderBase = "draw_multi"
renderCount = 2
renderName1 = "xsnipe.headember1"
renderName2 = "xsnipe.headember2"

[headember1]
simulateBase = "sim_null"
lifeTime = 5.0
renderBase = "draw_geom"
textureName = "ispilo00.tga"
textureBlend = "srcalpha invsrcalpha modulatealpha"
startColor = "255 255 255 255"
finishColor = "255 255 255 255"
startRadius = 0.1
finishRadius = 0.1
animateTime = 15.0
geomName = "headember.xsi"
addRoll = 36.0
addPitch = 24.0
addYaw = 12.0

[headember2]
simulateBase = "sim_null"
lifeTime = 7.0
renderBase = "draw_twirl_trail"
textureName = "rgut01.tga"
textureBlend = "srcalpha invsrcalpha modulatealpha"
startColor = "200 0 0 230"
finishColor = "200 0 0 30"
startRadius = 0.1
finishRadius = 0.1
animateTime = 0.9
rotationRate = 10
emitDelay = 0.07
emitVariance = "1.4 1.4 1.4"
emitLife = 0.9
Title: Re: anyone figure out why this doesnt work?
Post by: Nielk1 on June 04, 2009, 09:49:43 PM
Did you test ensuring the MSH was made via a prop?
Title: Re: anyone figure out why this doesnt work?
Post by: TheJamsh on June 04, 2009, 10:16:59 PM
Say again?

The headember.xsi draws properly, but it doesnt fly upwards, it just falls to the ground, same with the blood effect because they are linked to the same multirender...
Title: Re: anyone figure out why this doesnt work?
Post by: Zero Angel on June 04, 2009, 11:35:28 PM
They way you have it nested looks weird to me, shouldnt the draw multi be the very first thing? Which then calls the emits, which calls the effects (draw_geom)?

So it would be something like

.headember -> .heademberemit1 -> .flyinghead
      \----> .heademberemit2 -> .bloodtrail

Where headember would be the draw_multi?

Or is it allowed to put a draw_multi on top of an emit? If all else fails I suggest you try the conventional method.
Title: Re: anyone figure out why this doesnt work?
Post by: TheJamsh on June 04, 2009, 11:53:03 PM
The draw_multi IS the very first thing, it then calls a rotating draw_geom, and an emitting blood spark at the same place. the draw geom doesnt 'emit' because it is always there as a solid object, but the blood is meant to spew out of the bottom of it as it flies.

The draw_multi should move like an ember, with a force of 88 (from the particleVeloc part). The head will move along with it wherever it goes, and the bloods spawn origin will as well, but the blood will spray out.

I wonder if ive used too many simulate bases...
Title: Re: anyone figure out why this doesnt work?
Post by: General BlackDragon on June 04, 2009, 11:53:09 PM
[headember1]
simulateBase = "sim_emberl"
lifeTime = 5.0
renderBase = "draw_geom"
textureName = "ispilo00.tga"
textureBlend = "srcalpha invsrcalpha modulatealpha"
startColor = "255 255 255 255"
finishColor = "255 255 255 255"
startRadius = 0.1
finishRadius = 0.1
animateTime = 15.0
geomName = "headember.xsi"
addRoll = 36.0
addPitch = 24.0
addYaw = 12.0

[headember2]
simulateBase = "sim_emberl"
lifeTime = 7.0
renderBase = "draw_twirl_trail"
textureName = "rgut01.tga"
textureBlend = "srcalpha invsrcalpha modulatealpha"
startColor = "200 0 0 230"
finishColor = "200 0 0 30"
startRadius = 0.1
finishRadius = 0.1
animateTime = 0.9
rotationRate = 10
emitDelay = 0.07
emitVariance = "1.4 1.4 1.4"
emitLife = 0.9

Thats the only thing different from my moving geom explosion renders, the stimulate base on the geoms itself.
Title: Re: anyone figure out why this doesnt work?
Post by: bigbadbogie on June 05, 2009, 12:01:55 AM
sim_emberl

Typo?
Title: Re: anyone figure out why this doesnt work?
Post by: Zero Angel on June 05, 2009, 12:12:12 AM
Quote from: TheJamsh on June 04, 2009, 11:53:03 PM
The draw_multi IS the very first thing, it then calls a rotating draw_geom, and an emitting blood spark at the same place. the draw geom doesnt 'emit' because it is always there as a solid object, but the blood is meant to spew out of the bottom of it as it flies.

The draw_multi should move like an ember, with a force of 88 (from the particleVeloc part). The head will move along with it wherever it goes, and the bloods spawn origin will as well, but the blood will spray out.

I wonder if ive used too many simulate bases...
No it isnt. Look at the code again.

particleClass1 = "xsnipe.headember"
particleCount1 = 1
particleVeloc1 = 0.0 158.0 0.0"

[headember]
simulateBase = "sim_ember"
lifeTime = 15.0
renderBase = "draw_multi"
renderCount = 2
renderName1 = "xsnipe.headember1"
renderName2 = "xsnipe.headember2"

I can swear that whatever is at the top is pointing at [headember] -- which is a DRAW_MULTI

Nothing should point to a draw_multi except for the renderName which goes directly under [GameObjectClass] -- I could be wrong about that nothing should point to a draw_multi except for the renderName. But it is obvious that the very first few lines of the ODF code you pasted DO point to a draw_multi.
Title: Re: anyone figure out why this doesnt work?
Post by: General BlackDragon on June 05, 2009, 02:49:21 AM
no, draw multi works. My explosions for BZC use alot of draw multi. His setup is very similar to a thing i made that is a draw geom of a chunk that flies off, then after X seconds, makes an explosion. Here is one of the renders for a piece of the nav camera that flies off. I've added some explination

particleClass4 = "xBZCpwrxplnav.ember1" //Point to render cluster to move them together
particleCount4 = 1
particleVeloc4 = "20.0 40.0 20.0" //Move this way
particleBias4 = "0.0 10.0 0.0" //Try to be more up then anything

[Ember1]
simulateBase = "sim_ember" //Want it to fly and bounce on ground :)
lifeTime = 3.4
renderBase = "draw_multi" //Want more then 1 render to fly off and bounce together.
renderCount = 2
renderName1 = "xBZCpwrxplnav.ember" //Chunk
renderName2 = "BZCxplsec3" //3 second delayed explosion render, comes from another render odf.

[Ember]
simulateBase = "sim_ember" //Model chunk that flies off.
lifeTime = 1.8
renderBase = "draw_geom"
ForceDrawTransparent = false
textureName = "appowr00.bmp"
textureBlend = "srcalpha invsrcalpha modulatealpha"
startColor = "255 255 255 255"
finishColor = "255 255 255 255"
startRadius = 1.0
finishRadius = 1.0
animateTime = 1.8
geomName = "apcamrchk1.xsi"
InitialPitch = 0.0
InitialYaw = 0.0
InitialRoll = 0.0
AddPitch = 40.0
AddYaw = 40.0
AddRoll = 40.0
Title: Re: anyone figure out why this doesnt work?
Post by: Zero Angel on June 05, 2009, 10:03:30 AM
Oh gee, looks like i'm wrong then. The remainder of the file looks okay if that's the case. I wonder if perhaps there was something messed up in the parts you didnt post, like having the renderName point to the wrong thing, or having a misspelling on the syntax of the particle stuff.
Title: Re: anyone figure out why this doesnt work?
Post by: TheJamsh on June 05, 2009, 10:09:53 AM
Yeh draw_multi's DO work, ive used them before tonnes of times. steeveeo uses them in his explosions to, and the build effect uses them. its perfectly possible to use a draw_multi.

And GBD how come you used  "SIM_EMBERL", thats a typo right?

The reason it uses a draw_multi is because both the geom and the blood need to be at the same place. if i used two different particle classes, they would fly off in different directions.

I did try using sim_ember on the individual effects themselves, and sim_smoke but these didnt work either. I will look again at some other effects ive already done (which have worked) to see what im doing wrong. Its bound to be something stupid...
Title: Re: anyone figure out why this doesnt work?
Post by: TheJamsh on June 05, 2009, 10:17:20 AM
Interesting, it seems that my previous incarnations using a render like this do not give a simulate base to the sub-renders.

Furthermore, the blood looks like it needs to be done via a draw_emit first, so id need the following heirachy:

RenderMulti (With sim_base) > Draw_geom (no sim_base)
                                       > draw_emit > draw_blood particle (with sim base)

Thats a proven design... so ill try that to see if it works. Ill upload a before and after video and the code for those interested.
Title: Re: anyone figure out why this doesnt work?
Post by: TheJamsh on June 05, 2009, 10:32:21 AM
OH MAN I feel STUPID. Those of you with keen eyes will see the exact problem in the first post. im missing a " under particleVeloc1 =

I knew itd be a stupid mistake. Works fine now. Quite epic seeing pilot heads flying all over the place. lesson learnt...
Title: Re: anyone figure out why this doesnt work?
Post by: bigbadbogie on June 05, 2009, 11:37:51 AM
YOU TIME WASTING CRETIN!!! Nah... J/K... you're not to blame... its just your eyes.

I recommend that you extract them with kitchen tongs, and bathe them in cooking oil before setting the oven to 180 degrees... wait... no... just put your glasses on dude!  8-)
Title: Re: anyone figure out why this doesnt work?
Post by: Zero Angel on June 05, 2009, 12:48:44 PM
Oh wow. I can't believe nobody noticed that!
Title: Re: anyone figure out why this doesnt work?
Post by: AHadley on June 05, 2009, 01:58:12 PM
Even I should have found that! :P
Title: Re: anyone figure out why this doesnt work?
Post by: TheJamsh on June 05, 2009, 02:02:26 PM
lol. well you might be able to help with the next part instead.

for some reason... i cant get it to draw a planar when sniped... im using start delay and a couple of emitters to make it fade in, stay for a while, then fade out.


particleClass9 = "xsnipe.groundblood"
particleCount9 = 1
particleVeloc9 = "0.0 0.0 0.0"

particleClass10 = "xsnipe.bloodstay"
particleCount10 = 1
particleVeloc10 = "0.0 0.0 0.0"

particleClass11 = "xsnipe.bloodfade"
particleCount11 = 1
particleVeloc11 = "0.0 0.0 0.0"

[groundblood]
simulateBase = "sim_null"
lifeTime = 26.0
renderName = "draw_planar"
textureName = "blood.tga"
textureBlend = "srcalpha invsrcalpha modulatealpha"
startColor = "120 120 120 255"
finishColor = "120 120 120 255"
startRadius = 10.8
finishRadius = 10.0
animateTime = 26.0

[bloodstay]
simulateBase = "sim_null"
lifeTime = 6.1
startDelay = 6.0
renderBase = "draw_emit"
emitName = "xsnipe.bloodstaye"
emitDelay = "0.1"
emitVelocity = "0.0 0.0 0.0"
emitVariance = "0.0 0.0 0.0"
emitLife = 18.0

[bloodstaye]
//simulateBase = "sim_null"
//lifeTime = 18.0
renderName = "draw_planar"
textureName = "blood.tga"
textureBlend = "srcalpha invsrcalpha modulatealpha"
startColor = "120 120 120 175"
finishColor = "120 120 120 175"
startRadius = 5.0
finishRadius = 5.0
animateTime = 18.0

[bloodfade]
simulateBase = "sim_null"
lifeTime = 24.1
startDelay = 24.0
renderBase = "draw_emit"
emitName = "xsnipe.bloodfadee"
emitDelay = "0.1"
emitVelocity = "0.0 0.0 0.0"
emitVariance = "0.0 0.0 0.0"
emitLife = 6.0

[bloodfadee]
//simulateBase = "sim_null"
//lifeTime = 6.0
renderName = "draw_planar"
textureName = "blood.tga"
textureBlend = "srcalpha invsrcalpha modulatealpha"
startColor = "120 120 120 175"
finishColor = "120 120 120 0"
startRadius = 5.0
finishRadius = 5.0
animateTime = 6.0


Strangely, it wont even draw the first one, which ive modified btw to make it easier to see.
Title: Re: anyone figure out why this doesnt work?
Post by: TheJamsh on June 05, 2009, 02:12:40 PM
Oh and for the hell of it, i uploaded a video of what it looks like so far. Its not perfect... but it looks ok. Will be better when i have an animation to go with, and it leaves the pilot geom in the world without a head and stuff :P

Shows the "sidearm" weapon as well, kinda.

DL size is 2MB approx 45 secs.

DL Here (http://files.filefront.com/Headshotwmv/;13856989;/fileinfo.html)
Title: Re: anyone figure out why this doesnt work?
Post by: Zero Angel on June 05, 2009, 02:49:54 PM
I found your problem. the text should read

renderBase = "draw_planar"

NOT

renderName = "draw_planar"

----

Oh and as to your 'pilot corpse stays in world' idea. I did the same thing before. What I found to work really well was to make the starting opacity of the pilot extremely high, something like 2550 -- and the ending opacity 0. That way the pilot's corpse would be fully visible until about 90% of the way through its animTime, upon which it would fade to nothing.

I was thinking it might also be possible to have the pilot's corpse sink into the ground before disappearing -- but that would require some trickery with emits.
Title: Re: anyone figure out why this doesnt work?
Post by: TheJamsh on June 05, 2009, 03:42:00 PM
Ah nice! and thanks for the tip, another dumb error :P

I was thinking about leaving the corpse in the world as an actual object rather than a draw_geom, the problem is that scrap class doesnt inherit the direction when it is generated, so it wouldnt look right. It would allow me to use a hard effect then to draw the blood still, but NVM to that.

The head flying off as one piece didnt look right, so i decided to split it into bloody chunks :P. Its such a shame BZ2's cut-off point for some effects is so far from the camera, could have done so much more. Itd make this flamethrower easier as well...
Title: Re: anyone figure out why this doesnt work?
Post by: General BlackDragon on June 06, 2009, 03:28:53 AM
Whoops  :|