Jump to content
The Dark Mod Forums

Anyone familiar with D3 fx?


Springheel

Recommended Posts

It's possible to call "fx" (basically particle/light effects) using frame commands in D3. Does anyone have any experience with this at all? I'm specifically wondering how to position the effect. For example, this effect:

 

fx fx/smallfire

{

 

{

delay 0

duration 10

restart 0

light "lights/roundfire", 0.74, 0.58, 0.25, 250

offset 0, 0, 16

//fadeOut 0.25

}

 

 

{

delay 0.2

duration 10

restart 0

rotate 0.1

particle "particles/smallflame.particle"

}

 

{

delay 0

duration 10

restart 0

rotate 0.1

particle "particles/smallflamesmoke.particle"

}

 

{

delay 0.3

duration 10

restart 0

rotate 0.1

particle "particles/smallfireembers.particle"

}

 

 

}

 

What joint does this attach to? It has an offset value, but offset to what?

Link to comment
Share on other sites

It's possible to call "fx" (basically particle/light effects) using frame commands in D3. Does anyone have any experience with this at all? I'm specifically wondering how to position the effect. For example, this effect:

 

Sorry, only briefly looked into it, and I was not sure if really need this, because it eemed you could always create such things otherwise (f.i. light+particle+sound is possible).

"The reasonable man adapts himself to the world; the unreasonable one persists in trying to adapt the world to himself. Therefore, all progress depends on the unreasonable man." -- George Bernard Shaw (1856 - 1950)

 

"Remember: If the game lets you do it, it's not cheating." -- Xarax

Link to comment
Share on other sites

you could always create such things otherwise (f.i. light+particle+sound is possible).

 

Is there another way to call lights and particles with frame commands? The attach/destroy code is still too buggy to use at the moment.

Link to comment
Share on other sites

Ok, found some good info on iddevnet.com. It binds to the origin by default, bu it's possible to instead attach the effect to a particular joint with the "bindto" keyword. I'll run some tests.

Link to comment
Share on other sites

Is there another way to call lights and particles with frame commands? The attach/destroy code is still too buggy to use at the moment.

 

Ah, ok, calling them from anim frame commands is a very useful thing.

"The reasonable man adapts himself to the world; the unreasonable one persists in trying to adapt the world to himself. Therefore, all progress depends on the unreasonable man." -- George Bernard Shaw (1856 - 1950)

 

"Remember: If the game lets you do it, it's not cheating." -- Xarax

Link to comment
Share on other sites

Yeah you can attach them to bones or something

 

Doesn't seem to work for me. Doesn't matter which joint I put in the "bindto" spawnarg, the particle always spawns on the origin. :huh:

Link to comment
Share on other sites

Yep. Here's the test fx I'm using:

 

 

fx fx/tdm_flame2

{

 

bindto "LeftHand"

{

delay 0

duration 5

restart 0

particle "tdm_fire_torch.prt"

offset 0, 0, 0

}

 

}

 

But the flame stays at the character's origin. I tried a few other joints, like "Head" with no change.

Link to comment
Share on other sites

Try using the arg "bindToJoint". I've never seen entities use the command "BindTo".

 

The default D3 fx do use "BindTo". I tried "bindToJoint" to see what would happen; interestingly, it doesn't cause an error, but doesn't seem to have any effect either.

Link to comment
Share on other sites

Yep, I've looked at those ones specifically. As far as I can tell, everything seems to be in order, and it works as expected, except that the "bindto" keyword doesn't seem to work. I can't figure out why.

Link to comment
Share on other sites

Yep, I've looked at those ones specifically. As far as I can tell, everything seems to be in order, and it works as expected, except that the "bindto" keyword doesn't seem to work. I can't figure out why.

 

I looked into the code, it seems this bit:

 

       if ( nfx->Joint() && *nfx->Joint() ) {
               nfx->BindToJoint( ent, nfx->Joint(), true );
               nfx->SetOrigin( vec3_origin );
       } else {
               nfx->SetOrigin( (useOrigin) ? *useOrigin : ent->GetPhysics()->GetOrigin() );
               nfx->SetAxis( (useAxis) ? *useAxis : ent->GetPhysics()->GetAxis() );
       }

 

If you make me a small testmap, and bounce it my way to nospam-abuse@bloodgate.com, I can see why it never uses the first code path. From the looks at it, I am not even sure how it could enter it. It looks like there is a "args.set("joint") or something missing.

 

Maybe use "joint" as keyword? (Because the "Joint()" routine accesses the member "joint" of the fxEffect, and it might be possible that if you use "joint" in the declaration, it works)

"The reasonable man adapts himself to the world; the unreasonable one persists in trying to adapt the world to himself. Therefore, all progress depends on the unreasonable man." -- George Bernard Shaw (1856 - 1950)

 

"Remember: If the game lets you do it, it's not cheating." -- Xarax

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recent Status Updates

    • nbohr1more

      Trying to be productive on my down-time before Capcom releases Akuma and my son is constantly on my PC playing Street Fighter...
      · 0 replies
    • OrbWeaver

      Finally got round to publishing a tutorial on baking normal maps in Blender, since most of the ones we have are inaccessible or years out of date.
      · 2 replies
    • nbohr1more

      The FAQ wiki is almost a proper FAQ now. Probably need to spin-off a bunch of the "remedies" for playing older TDM versions into their own article.
      · 1 reply
    • nbohr1more

      Was checking out old translation packs and decided to fire up TDM 1.07. Rightful Property with sub-20 FPS areas yay! ( same areas run at 180FPS with cranked eye candy on 2.12 )
      · 4 replies
    • taffernicus

      i am so euphoric to see new FMs keep coming out and I am keen to try it out in my leisure time, then suddenly my PC is spouting a couple of S.M.A.R.T errors...
      tbf i cannot afford myself to miss my network emulator image file&progress, important ebooks, hyper-v checkpoint & hyper-v export and the precious thief & TDM gamesaves. Don't fall yourself into & lay your hands on crappy SSD
       
      · 7 replies
×
×
  • Create New...