Jump to content

Adding visual effects to npc


Recommended Posts

I have made a 'explosive rat' (skeever) amd I need player to tell the difference between an exploding rat and... not one. I thought about two things to achieve this. Make the rat's eyes glow or have some kind of shimmering fx, 'stinking' fx… some kind of fx that says to player "Don't mess with that rat". I don't know how to do either of these things. Rat's eyes can't be changed in ActorID.

Ideas please?

Link to comment
Share on other sites

Nice idea! :laugh:

 

With Nifskope.

Maybe duplicate and rename the skeever texture, re-color the eye or something and assign it to your custom rat. You could use two textures: the main one where you erase the eye, and a second where you erase all but the eye. Then, duplicate a skeever.nif, rename it and change for your main custom texture. Insert a BSLightingShaderProperties block where you place the second texture "eye only" and play with emissive value and specular value.

 

Best regards

 

Edit: Just looked at the skeever nif, there's two textures: one main, and another for the mustache and addons.

Just changed emissive on the addon to see. No glow but a distinctive character. I hope you find a good solution.

 

 

 

 

Edited by Vactrol
Link to comment
Share on other sites

I kept it simple, really best of my skill level, and just painted on the texture. I think just the eye is enough of a clue to say "Go on hit me and see what happens". Would be nice to have a FX emitting from the skeever, a 'stink' effect but I don't know how to do that.

Thanks for your ideas,

 

https://onedrive.live.com/?cid=B60C11D037429D8E&id=B60C11D037429D8E%2134164&parId=B60C11D037429D8E%21191&o=OneUp

 

I forgot how to unlock the Edit button to change Actor mesh!

Just realised have to make a new race. Duh!

Link to comment
Share on other sites

EffectShaders can be applied with Play function.

 

Example

EffectShader Property myFX auto

Event OnHit(ObjectReference akAggressor, Form akSource, Projectile akProjectile, bool abPowerAttack, bool abSneakAttack, \
bool abBashAttack, bool abHitBlocked)

myFX.Play(self, -1)

EndEvent


Event OnDeath(Actor akKiller)

myFX.Stop(self)

EndEvent


Link to comment
Share on other sites

If the duration time is negative, the effect will continue to play until told to stop.

 

In the following example, the effect will be applied when the actor is loaded, and stopped when unloaded.

This is, to prevent the effect from being applied multiple times / stacked.

Scriptname StinkingRatScript extends Actor

EffectShader Property StinkingRatFX auto

Event OnLoad()
	StinkingRatFX.Play(self, -1)
EndEvent


Event OnUnload()
	StinkingRatFX.Stop(self)
EndEvent
Link to comment
Share on other sites

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...