Particle Shader Crisis

Post » Sat Nov 17, 2012 2:39 pm

Is it just me or are all effectshaders marked as particle shader's bugged? They simply do not, under any circumstance's birth/spawn particles.

I am testing this with the vanilla Shock Damage magic effect (EnchShockDamageFFContact). I have run through over 10 different "Enchant Shader's" to see if any of them emit particles like they are supposed to.
I have even turned off the membrane shader component of these test shaders (this is a disposable esp) and the result is a completely blank shader. Not even a hint of a wisp of any particles.

Please Advise.
User avatar
Doniesha World
 
Posts: 3437
Joined: Sun Jan 07, 2007 5:12 pm

Post » Sat Nov 17, 2012 8:09 pm

Perhaps it's something with your setup? Particles, even on shaders, work fine for me.
User avatar
phil walsh
 
Posts: 3317
Joined: Wed May 16, 2007 8:46 pm

Post » Sat Nov 17, 2012 11:48 am

Could you be so kind as to post both an in-game screenshot and a shot of the shader being used in the Creation Kit?

Edit: Which version of Skyrim are you running? Also could I ask for the list of mods you are running?
User avatar
Darlene DIllow
 
Posts: 3403
Joined: Fri Oct 26, 2007 5:34 am

Post » Sat Nov 17, 2012 9:20 pm

Actually you jogged my memory and I think I know what you're talking about. While shaders w/particles work fine on Actors, the particles do NOT show up when the shader is applied to an Activator or other non-actor object. I ran into this while building my Phoenix spell; the bird activator I was using needed to leave a trail of fire so I thought "bingo, FireFXShader!". But I only ever got the membrane, and that sounds like what you're running into. What are you testing the shaders on?

That said, the shader particles do work just fine on Actors on my setup, using 1.6 vanilla or Vibrancy ENB + heavy modding, highest graphic settings. I'm not at my modding system atm so you'll just have to take my word for it.
User avatar
Queen
 
Posts: 3480
Joined: Fri Dec 29, 2006 1:00 pm

Post » Sat Nov 17, 2012 9:58 am

I've been testing the shaders out on weapons as this is the desired destination (anything else is outside the scope of my intended mod).

Haha I trust you. Thanks for your response, you've been quite helpful.

I've been pulling my hair wondering just what could be going wrong. I don't seem to remember the CS for oblivion ever being so bugged.

I might run some tests on various other objects and document the results. For the time being though I think its safe to say that this functionality is broken? (And in need of an official fix)
User avatar
carla
 
Posts: 3345
Joined: Wed Aug 23, 2006 8:36 am

Post » Sat Nov 17, 2012 9:23 am

Now that you have me thinking about this, there have been times that the FireFXShader has worked for me on non-actors. I used it in my original Summon Meteor spell with some success. It played, with particles, on the FXHavokRockHazard spawned by the script.

So, we can say tentatively that it works on Hazards and Actors?

Edit: confirmation that the particle effects are working on the havok rocks: https://www.youtube.com/watch?v=FV7TB-Xsxrw When they bounce in front of the camera you can see the flames trailing from them.
User avatar
Jarrett Willis
 
Posts: 3409
Joined: Thu Jul 19, 2007 6:01 pm

Post » Sat Nov 17, 2012 6:20 pm

Great video!

Perhaps its not the effectshader's themselves but rather the "Enchant Shader" capability of Magic Effects that is bugged.

What methodology are you using for your shaders?

I have to admit I should probably do some more extensive testing but the fact does remain that my weapons do not emit particles
User avatar
dean Cutler
 
Posts: 3411
Joined: Wed Jul 18, 2007 7:29 am

Post » Sat Nov 17, 2012 10:44 am

I'll be happy to help do some systematic tests on this but I won't be back at my modding system until tonight.

In Summon Meteor I'm using the FireFXShader as an EffectShader Property. When I spawn the FXHavokRocksHazard, I use FireFXShader.Play(SpawnedRocks). That gives me working particles as seen in the video.

The exact same method, though gives me membrane-only effects when applied to an Activator in my Phoenix spell. At the time I figured it was something I was doing wrong or a limitation of non-actors, but I'd forgotten about using the shader successfully for the rock hazards earlier.

I wonder if it's because of the type of object it is, or something more subtle like the Havok material.

Just to clarify, if you shoot an Incinerate spell at an NPC, do they catch fire? Because if they do, your particle shaders are working at least as well as mine are.
User avatar
Dina Boudreau
 
Posts: 3410
Joined: Thu Jan 04, 2007 10:59 pm

Post » Sat Nov 17, 2012 3:29 pm

Hmmm havok objects, very interesting.

Yes, when I shoot flames or sparks at NPC's I get particles. They catch fire etc
User avatar
Natasha Callaghan
 
Posts: 3523
Joined: Sat Dec 09, 2006 7:44 pm

Post » Sat Nov 17, 2012 9:42 am

Okay, did some real testing. Created a spell and had it use this script:

Spoiler

Scriptname ST_SummonShaderObjectsEffectScript extends activemagiceffect{Summons a variety of objects and applies shader effects to them};--=== Imports ===--Import UtilityImport Game;--=== Properties ===--Actor Property PlayerREF autoHazard Property testHazard  AutoActivator Property testActivator  AutoWEAPON Property testWeapon  AutoPotion Property testPotion  AutoSTATIC Property testStatic  AutoActorBase Property testActorBase  AutoIngredient Property testIngredient  AutoMiscObject Property testMiscObject  AutoArmor Property testArmor  AutoEffectShader Property FireFXShader  Auto;--=== Variables ===--Actor PlayerActor testActorObjectReference[] TestObject;--=== Events ===--Event OnInit()Player = PlayerRefTestObject = New ObjectReference[10]EndEventEvent onEffectStart(Actor akTarget, Actor akCaster)Debug.Trace(self + ": Casting began!")testActor = Player.PlaceActorAtMe(testActorBase)TestActor.EnableAI(0)TestActor.MoveTo(Player,-100,100,100)Debug.Notification("Waiting for all objects to load...")TestObject[0] = Player.PlaceAtMe(testHazard,abInitiallyDisabled = True)TestObject[1] = Player.PlaceAtMe(testActivator,abInitiallyDisabled = True)TestObject[2] = Player.PlaceAtMe(testWeapon,abInitiallyDisabled = True)TestObject[3] = Player.PlaceAtMe(testArmor,abInitiallyDisabled = True)TestObject[4] = Player.PlaceAtMe(testStatic,abInitiallyDisabled = True)TestObject[5] = Player.PlaceAtMe(testPotion,abInitiallyDisabled = True)TestObject[6] = Player.PlaceAtMe(testIngredient,abInitiallyDisabled = True)TestObject[7] = Player.PlaceAtMe(testMiscObject,abInitiallyDisabled = True)int i =0While i < TestObject.Length && TestObject[i] != None  Debug.Trace(self + ": Moving object " + i)  TestObject[i].MoveTo(Player,i * 100,100,100)  TestObject[i].Enable(0)  Wait(0.01)  TestObject[i].SetMotionType(TestObject[i].Motion_Keyframed)  i += 1EndWhileWait(2)Debug.Notification("Playing shader on all objects!")FireFXShader.Play(TestActor)i = 0While i < TestObject.Length && TestObject[i] != None  Debug.Trace(self + ": Applying shader to object " + i)  FireFXShader.Play(TestObject[i])  i += 1EndWhileEndEventEvent onEffectFinish(Actor akTarget, Actor akCaster)Debug.Trace(self + ": Casting ended!")EndEvent;--=== Functions ===--

After trying a couple of different shader effects and several different objects of each type, I've figured out the following:

Actors: Shader effects + particles work every time.
Activators: Very inconsistent. Particles sometimes work on a small piece of the Activator mesh, sometimes there's no particles at all.
Hazards: Most hazards are already full of particle effects. Some, like FXHavokRockHazard, appear to display shader particles, but it is at least as inconsistent as the Activator.
Weapons, Armor, everything else: Membrane shader only, particle effects are completely absent.

Next step is to pull up the meshes for these various objects in NIFscope and see if maybe there's some flag that tells the engine whether to render particle shaders on a given object.
User avatar
Latino HeaT
 
Posts: 3402
Joined: Thu Nov 08, 2007 6:21 pm

Post » Sat Nov 17, 2012 2:42 pm

Okay, it's nothing simple in NIFScope like the OblivionLayer of the bhkRigidBody node or a shader flag.

Interesting bug, though: I just noticed that when using the ShockFXShader to test, Activators leave a trail of particle effects flying up and to the west at about a 45 degree angle. If I push the object around, the trail follows it.

I think we can safely say that shaders with particles are bugged on non-actor objects. Maybe someone with more knowledge of the engine, NIFs, or just more free time can figure out a workaround for this.
User avatar
Budgie
 
Posts: 3518
Joined: Sat Oct 14, 2006 2:26 pm

Post » Sat Nov 17, 2012 8:36 am

Wow man! Seriously thank you. You've pretty much done all my work for me in this regard (so thorough too).

This has saved me sooo much time on this mod I've been trying to develop. It looks like I'll just have to postpone it until a more auspicious juncture presents itself.

I suppose the next step is to get Bethesda to acknowledge this bug, then hope and pray they find time to issue a fix.
*Finger's crossed*

Regarding the best way to go about that.....
http://www.gamesas.com/topic/1385616-the-new-unofficial-creation-kit-bug-list-2/

Thoughts?
User avatar
Tanya Parra
 
Posts: 3435
Joined: Fri Jul 28, 2006 5:15 am

Post » Sat Nov 17, 2012 7:55 am

Posted.
http://www.gamesas.com/topic/1385616-the-new-unofficial-creation-kit-bug-list-2/page__view__findpost__p__21272214
User avatar
Agnieszka Bak
 
Posts: 3540
Joined: Fri Jun 16, 2006 4:15 pm


Return to V - Skyrim