I'm working on a map with alternate controls. Instead of ordering units to attack automatically, players will left click to aim their shots at enemies. Left clicks cause your unit to use an ability which mimics a weapon.
I just created a new class which has a flamethrower attack which I copied from the hellbat. I'm using an action actor to display the flame animation which is created on the ability's initial search effect (I tried creating the actor when the ability is cast, but this didn't work). However, because the action actor relies on a target, it only appears when damaging an enemy unit. I would like it if actor would be created anytime the player left clicked, even if no enemies are around, but I can't figure out how to do it.
The action actor uses a model actor to create the animation. I've tried adding an event directly to the model actor to create the actor on the initial effect, but this produces a lower quality version of the model for some reason.
After 8 hours of trying everything I can think of, I'm hoping someone else has had a similar problem, or just understands action actors and events better than I do. Any help is much appreciated! Thank you
Why not add a set as the init effect from the ability and then use that within the effect event for the actor. To confirm you want the flame or whatever to come from the caster unit, not always towards the target unit right?
Thank you for the idea. I have tried this already, however. I also tried adding a benign effect (apply behavior) to the initial set and have it fire when that went off. Unfortunately it didn't make a difference =/
And, to clarify, the flame should always come from the caster and go toward the target point of the ability's initial effect. The issue is nothing happens unless an enemy unit takes damage. The ability itself doesn't have a target unit, only a target point.
if you using this stuff with somekind of diablo control you dont need to use action actor. Action actors are used only to properly place impact sites when unit receives damage. The flame actor of firebat is basicaly simple ModelAddition actor attached to weapon. It's just created by action actor. So you can just create this ModelAddition when some persistent effect is fired instead
The proper approach however will be creating additional Site actor and using SopForwardVector site operation for flame orientation (you should create this Site actor in a point that your flame should facing, and the Flame actor should have SopAttachWeapon and SopForwardVector with HostForward set to this Site actor)
I'll show on this 2 screenshots why does it matter. As you see my cold breath - like skill have a proper orientation depending on ground height:
WOW! Thank you so much, abvdzh! I'm still unfamiliar with site operations, but it looks like you've given me enough information to figure it out. If I'm unable to get it working, would you mind if I PMed you?
Also, I tried it using a ModelAddition actor, but for some reason you can barely see the model... couldn't figure out why. However, I should learn more about site operations anyway =)
Follow up: I've been following your instructions, but I could use some clarification if you don't mind. Also, I'm new to site operations, so I apologize for my limited understanding
You said, "creating additional Site actor and using SopForwardVector site operation for flame orientation"
My Question: For the new actor I'm creating, should the actor type be "Site" or "Site Operation (Forward Vector)"?
You said, "you should create this Site actor in a point that your flame should facing"
My Question: Is this set on the Action Actor, or on the Site Actor? Is it the "Actor: Forward" field?
You said, "the Flame actor should have SopAttachWeapon"
My Question: I assume by "Flame actor" you mean the Model Actor. Is this a field I need to modify, or a new actor?
You said, "SopForwardVector with HostForward set to this Site actor"
My Question: I found the "Host Forward" field on the "Site Operations (Forward Vector)" actor, but I'm not sure how to set it to the site actor.
As you can see I'm quite confused. I apologize for asking so much of you, but this would help me tremendously if you don't mind
I'm working on a map with alternate controls. Instead of ordering units to attack automatically, players will left click to aim their shots at enemies. Left clicks cause your unit to use an ability which mimics a weapon.
I just created a new class which has a flamethrower attack which I copied from the hellbat. I'm using an action actor to display the flame animation which is created on the ability's initial search effect (I tried creating the actor when the ability is cast, but this didn't work). However, because the action actor relies on a target, it only appears when damaging an enemy unit. I would like it if actor would be created anytime the player left clicked, even if no enemies are around, but I can't figure out how to do it.
The action actor uses a model actor to create the animation. I've tried adding an event directly to the model actor to create the actor on the initial effect, but this produces a lower quality version of the model for some reason.
After 8 hours of trying everything I can think of, I'm hoping someone else has had a similar problem, or just understands action actors and events better than I do. Any help is much appreciated! Thank you
@ArchonTheWizard: Go
Why not add a set as the init effect from the ability and then use that within the effect event for the actor. To confirm you want the flame or whatever to come from the caster unit, not always towards the target unit right?
@hobbidude
Thank you for the idea. I have tried this already, however. I also tried adding a benign effect (apply behavior) to the initial set and have it fire when that went off. Unfortunately it didn't make a difference =/
And, to clarify, the flame should always come from the caster and go toward the target point of the ability's initial effect. The issue is nothing happens unless an enemy unit takes damage. The ability itself doesn't have a target unit, only a target point.
if you using this stuff with somekind of diablo control you dont need to use action actor. Action actors are used only to properly place impact sites when unit receives damage. The flame actor of firebat is basicaly simple ModelAddition actor attached to weapon. It's just created by action actor. So you can just create this ModelAddition when some persistent effect is fired instead
The proper approach however will be creating additional Site actor and using SopForwardVector site operation for flame orientation (you should create this Site actor in a point that your flame should facing, and the Flame actor should have SopAttachWeapon and SopForwardVector with HostForward set to this Site actor)
I'll show on this 2 screenshots why does it matter. As you see my cold breath - like skill have a proper orientation depending on ground height:
@abvdzh: Go
WOW! Thank you so much, abvdzh! I'm still unfamiliar with site operations, but it looks like you've given me enough information to figure it out. If I'm unable to get it working, would you mind if I PMed you?
Also, I tried it using a ModelAddition actor, but for some reason you can barely see the model... couldn't figure out why. However, I should learn more about site operations anyway =)
Thanks
@advdzh
Follow up: I've been following your instructions, but I could use some clarification if you don't mind. Also, I'm new to site operations, so I apologize for my limited understanding
You said, "creating additional Site actor and using SopForwardVector site operation for flame orientation" My Question: For the new actor I'm creating, should the actor type be "Site" or "Site Operation (Forward Vector)"?
You said, "you should create this Site actor in a point that your flame should facing" My Question: Is this set on the Action Actor, or on the Site Actor? Is it the "Actor: Forward" field?
You said, "the Flame actor should have SopAttachWeapon" My Question: I assume by "Flame actor" you mean the Model Actor. Is this a field I need to modify, or a new actor?
You said, "SopForwardVector with HostForward set to this Site actor" My Question: I found the "Host Forward" field on the "Site Operations (Forward Vector)" actor, but I'm not sure how to set it to the site actor.
As you can see I'm quite confused. I apologize for asking so much of you, but this would help me tremendously if you don't mind
Thank you! TJ
I hope this shit helps cuz i rly don't like to make wall-of-text instructions for novice:
Also you can use SOpTargetPoint instead of SOpLocalOffset1 site op. In that case leave Host+ of your SiteActor blank.
@abvdzh: Go
Thanks so much, abvdzh. It really means a lot that you took the time to help out a noob like me =P
This stuff might be novice, but it's really hard to find anything about it online, so you've saved me many hours of tinkering!