Author Topic: how do i make a lightning aurora emitter  (Read 403 times)

Legacy_ZugothNDeadly

  • Full Member
  • ***
  • Posts: 174
  • Karma: +0/-0
how do i make a lightning aurora emitter
« on: August 24, 2014, 04:54:28 am »


               

ive tried figuring it out and looked up on how to do it but i dont see anything in game or in toolset



               
               

               
            

Legacy_MerricksDad

  • Hero Member
  • *****
  • Posts: 2105
  • Karma: +0/-0
how do i make a lightning aurora emitter
« Reply #1 on: August 24, 2014, 02:26:27 pm »


               

First you need to know what your lightning is going to be used for. Is it a spell, a basic VFX you want to run once, something you want to place and have it continue to spew lightining, etc. Once you know that, it is a "simple" technique to make it happen.


 


In Gmax, first you need your aurorabase. Let's assume you are doing a spell vfx -- a simple FNF lightning attack. I will assume you also know how to place an aurorabase. Set your base classification to "effect". You can have nwmax set up your start/end keys for the various anim cycles, or you can do it manually. I will assume you had nwmax do it for you on creation.


 


Now you need an auroraemitter object. That is on the same panel as the aurorabase. Place one and parent it to the aurorabase.


 


Auroraemitter has a decent rollout associated with it. The first section allows you to select "lightning" as an update method. Depending on your version of nwmax, this will alter your emitter rollout by disabling certain sections. Render mode should be automatically set to "linked". This makes it so texture panels are rendered side by side in a line from source to target with a small amount of overlap.


 


I suggest a blend mode of lighten, unless you are doing a negative lightning, or you just want to shoot out a tinting color. With lighten, a transparent image is drawn over the preexisting layers with the "additive blending" mode used in TXI files. This allows you to make something really bright if your emitter output is rapid.


 


Keep your spawn type = normal.


 


OK, now on your emitter parameters subsection, keep the display icon size as 100. Modifying the emitter size will change the source region which the particles will come out from. Keep it 0 to make the source side of your lightning exactly match the initial placement of the vfx.


 


If your emitter source needs to move with the model it spawns from, use the Inherit checkbox property. If you don't use this, if the hand from which the lightning comes out is moving, the particle which spawns the lightning will not move, and it will just look odd.


 


Scroll down to the emitter particles subsection. With lightning emitters, I believe the start color is the color to tint the texture when it first leaves the hand. The end color is the color of the lightning on the target side. Unlike other emitter types, each panel is not tint-changed as it ages.


 


To make your lightning  beam wider or thicker, use the start and end size for X.


 


Birthrate is a special case in lightning emitters. It must be equal to the 1+ 2 to the power of the number of breaks in the beam (see subdivisions down below on the panel subsection: lightning properties). Those numbers should be 1 (no division), 3 (two divisions), 5 (three divs), 9 (four divs), 17 (five divs), 33 (six divs), etc. -1 is also a special case ( I am told ) which makes it so the emitter only spawns lightning if the target is moving. In most nwmax versions, you are not allowed to edit birthrate. Instead, specifically set the subdivision number on the lightning properties subsection. Lightning birthrates not within those number values will make a mess and/or crash the engine.


 


Make sure you have a texture specified. You can also animate each subdivision by supplying an animated texture, but I don't personally find that useful. Instead, supply an animated texture, set your grid to the proper dimensions, and then tell it to pick a random particle texture from the grid using "random playback". Lightning will generally play so fast you don't have time for animated subdivisions, but you do have time to select variation per subdivision.


 


Now we are finally on the lightning panel. Subdivisions was already explained under birthrate. Delay is more like the birthrate setting on other particles. It controls the speed at which the particles are updated, moved around, wiggled, etc. The wiggle distance between sections is controlled by the scale setting. The higher the scale, the further side to side the lightning will arc before drawing he next subdivision.


 


I am not exactly sure what the peak radius is, but I think it is a variation in distance from the target point of impact. If you want it to strike directly at the Impact node on the target, then use 0. Correct me if that is not exactly the case.


 


Leave the blast properties, and the p2p properties alone.


 


That being said, lightning IS a p2p emitter, special case, so you need an auroraref object parented to the auroraemitter. Its position is kinda pointless to modify as it will be set to the position of the target Impact node. However, its orientation does make a difference in most p2p emitters. I suggest modifying the rotation value if it does not fit what you are looking for. You can find the auroraref object on the same panel you found the auroraemitter object. Without the auroraref, you are likely to crash the engine, or otherwise make a mess.


 


If you have not animated your birthrate (which I absolutely do not suggest for lightning), and you have let nwmax set up your basic sequences, your birthrate should be the same across all preset cycles.


 


So now you can simply export the model to your override directory. I also suggest you prefix your lightning with "vim_", for visual impact. But prefix has nothing to do with the engine, just ease of use.


 


You'll need to add a reference to this vfx to your visualeffects.2da. Simply clone the beam of lightning entry. Line 73.


 


Now here is the annoying part. You cannot add beam types without using an engine extension, like nwncx. If you have one of those, you may continue. Otherwise you will notice you cannot specify an impact graphic.


 


You'll notice a ProgFX_Duration column with a value of 600. 600 is the beam type. Numbers from 600 to 699 (I think) represent 100 individual beams you can specify via the custom 2da called vfx_beams.2da. That file is simply a one-to-one reference to the actual beam vfx file. You should have gotten a copy of the base file with your install of nwncx, so just add a line for your custom lightning. Add the line number to 600 and update your visualeffects.2da ProgFX_Duration column.


 


Now it should work just fine in NWN.


 


 


 


If you need to make lightning emitters inside placeables, the steps are similar, except you don't need the nwncx, and you don't need to make vfx entries in visualeffects.2da.


 


In addition, the position of the auroraref object, and its orientation, will determine the strike location, but the auroraref MUST remain attached to the auroraemitter object. Its position can be animated over the cycle time, as can the position of the auroraemitter.


 


 


 


Edit: Some other issues


 


One of the annoying aspects of lightning that I have found is the percent of overlap between subdivisions. If you use the entire long axis of your lightning graphic, you will have texture crosses and the ends of your lightning will jut out from the next. It looks really dumb.


 


As far as I can see, you cannot remove the overlap except by modifying the usable portion of your texture. The problem with that option is that the overlap percent does not scale perfectly between subdivision selection, so if you set your texture to work perfectly with a subdivision of 4, it may still over lap, or leave a gap with a subdivision of 2 or 3. Add to that the fact that the distance between you and your target makes it a bit different every time...Maddening is a nice word.


 


Second issue: If you are going to have p2p lightning and you want it to have multiple branches, you have basically two options. You cannot emit an emitter without basically making "wild magic" mistakes in the engine. So that means you cannot have forking lightning. What you have to do is emit multiple bolts from the same source, and strike the same target. This basically makes an ugly bolt, but it works.


The other option is to use a single animated graphic and NOT use lightning emitters. The problem with that is that you have a set size. It is not p2p, and if the target moves, your lightning does not track them. Bioware made lightning like this just fine for years, and so can you. So did Blizzard. Many 50-100 frame lightning arcs are already available online. Or you could export graphics from D2. Just convert them to TGA and set up an emitter of "single" type. Need help? Just ask. If you are adding p2p lightning to a stationary object with set distance between source and target points, non-lightning bolts made from animated TGAs is definitely the way to go.



               
               

               
            

Legacy_Tarot Redhand

  • Hero Member
  • *****
  • Posts: 4165
  • Karma: +0/-0
how do i make a lightning aurora emitter
« Reply #2 on: August 24, 2014, 04:52:36 pm »


               

@md You really ought to package that excellent explanation into a small downloadable (i.e. 7zip) tutorial for the new vault.


 


TR



               
               

               
            

Legacy_MerricksDad

  • Hero Member
  • *****
  • Posts: 2105
  • Karma: +0/-0
how do i make a lightning aurora emitter
« Reply #3 on: August 24, 2014, 06:14:47 pm »


               

With pictures '<img'> I should. The only reason I even posted all that though was because I thought the previous tuts might be currently down or missing if they were on the previous vault.