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

    • datiswous

      I tried to upscale the TDM logo video. First try:

      briefing_video.mp4 You can test it ingame by making a copy of the core tdm_gui.mtr and place it in your-tdm-root/materials/ , then edit line 249 of that file into the location where you placed the new briefing.mp4 file.
      What I did was I extracted all the image files, then used Upscayl to upscale the images using General photo (Real-Esrgan) upscale setting and then turn it back into a video.
      I might have to crop it a bit, the logo looks smaller on screen (or maybe it's actually better this way?). My video editor turned it into a 16:9 video, which I think overal looks better than 1:1 video of original.
      · 1 reply
    • nbohr1more

      Trying to be productive on my down-time before Capcom releases Akuma and my son is constantly on my PC playing Street Fighter...
      · 1 reply
    • 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
×
×
  • Create New...