Author Topic: A simple tile emitter tutorial?  (Read 2996 times)

Legacy_TheOneBlackRider

  • Hero Member
  • *****
  • Posts: 512
  • Karma: +0/-0
A simple tile emitter tutorial?
« on: July 16, 2016, 02:32:50 pm »


               

Hello all,


 


can somebody point me to a tutorial on how to create a (simple) emitter in a tile or write it out here?


I've done some searching and looked at some animation tutorials, but I still fail on this:


 


I'd like to have a simple smoke emitter, which is just there and smokes, so NO day/night changes and such.


 


I created an "a" dummy, which has the same name as the base (plus the "a"), linked an emitter to it - well, to rule out mistakes, I (after some testing) copied over an existing smoke emitter.


The emitter has a birth rate (I choose 15) and Life Exp. (of 3,0).


 


I added the animloop01 to the base, set the start frame to 21 and the end frame to 61 (as I found it in another tile), hit the Animation button and set a position key on both positions. Then I did the same for the emitter object (set the position keys).


 


Well, no emitter showed up. So I added the tiledefault animation, and used Start 10 and End 11 and also added these position keys to the emitter. Still no luck.


 


When I copy over the settings for the animation keys from a working tile (eg. tsw01_o03_01) =


 


newanim animloop01 tsw01_o03_01

  length 1.33333

  transtime 0.25


...


and


    node emitter steam_grate01

        parent tsw01_o03_01a

        birthratekey

            0.0 10

            1.33333 10

        endlist


...


and this also for tiledefault animation, the emitter shows up.


 


But I'd like te get it to work, when I export from Gmax.


 


... oh, I just see, that my export exported the position keys for "newanim" for the emitter node (which is not in tsw01_o03_01), but is missing those "birthratekey"-values...


 


So, my questions are:


1. What am I doing wrong? ':whistle:'


 


2. For just an emitter, which is not to be turned off, only "animloop01" is needed?


https://forum.biowar...t-for-emitters/


post #8 (by Zwerkules)


 


3. How are the start frame and end frame values determinated? Why don't they start at "0"? Well, they have something to do with a whole day cycle, I believe.


 


4. Is do I have to set the animation position key for the base and the emitter? Or would the emitter be enough?


 


A step by step tutorial for eg. creating a smoke emitter effect on a simple plain tile would be great. I think, I'm doing something wrong, when applying the aniamtion settings / setting the animation keys within Gmax.


 


Thank you in advance.


               
               

               
            

Legacy_Zwerkules

  • Hero Member
  • *****
  • Posts: 1997
  • Karma: +0/-0
A simple tile emitter tutorial?
« Reply #1 on: July 17, 2016, 01:51:10 pm »


               

If you want to be able to turn the emitter off, you need one animloop and the tiledefault. The tiledefault will have to set the emitter's birthrate to 0 so it will be turned off when the animloop is deactivated. The animloop has a few frames that change the birthrate of the emitter, between 7 and 15 looks good for smoke emitters


If the emitters have the same birthrate all the time and there's no need to turn them off, you don't need any animations at all.


 


And position keys aren't needed at all unless you want the emitter to move.


               
               

               
            

Legacy_TheOneBlackRider

  • Hero Member
  • *****
  • Posts: 512
  • Karma: +0/-0
A simple tile emitter tutorial?
« Reply #2 on: July 19, 2016, 02:59:06 pm »


               

Thanks for the clarification on those 2 animation types, Zwerkules (and sorry for my slow reply).


 


OK, since the emitter is supposed to be smoke, maybe a flame, having the possibility to turn them off makes much sense!


 


So the steps from scratch are: (?)


1. Create a dummy node and call it "AuroraBase name"a (eg. twr01_a01_01a)


2. Link this dummy node to the base


3. Create an AuroraEmitter (I used the default settings and only set Birthrate to 10 and Life Exp. to 1.5 - hope, that is enough to make it show up...)


4. Link the emitter to the "a" dummy


5. Select the base


6. Choose animloop01 from the dropdown menu


7. Enter StartFrame (eg. 21) and EndFrame (eg.61)


8. Into the Root-field enter the name of the AuroraBase


7. Hit the Add button (in the Animations on Model- field it now says "animloop01 21 61 0.25 1 To... (?)


 


If this is the correct start, now what are the next steps? How do I get the emitter hooked to these loops / make the animations control the emitter?


 


And how do you determine the frames? Why 21 and 61 (and why 10 and 11 for the tile default animation)?



               
               

               
            

Legacy_MerricksDad

  • Hero Member
  • *****
  • Posts: 2105
  • Karma: +0/-0
A simple tile emitter tutorial?
« Reply #3 on: July 20, 2016, 02:30:54 pm »


               

The numbering of the frames does not matter at all. Once it is converted from GMAX numbered frames to named sections in the MDL file, all that matters is the name of the animation and the length in frames. The important part is making frames in GMAX that are spaced away from each other's start and end indices. And make sure when you set up animations on the aurorabase that whatever numbers you pick for that sequence match on the aurorabase anim list. You can change them on the base all you want. You can even grab sequences from inside other sequences if you like, and make a single animation pull double duty. Say for instance you have a creature you want to animate, but haven't finished a 2-handed attack yet. Simply point the two handed attack to the one handed attack indices. It will export the same sequence for both named animations.



               
               

               
            

Legacy_TheOneBlackRider

  • Hero Member
  • *****
  • Posts: 512
  • Karma: +0/-0
A simple tile emitter tutorial?
« Reply #4 on: July 22, 2016, 08:54:00 am »


               


The numbering of the frames does not matter at all. Once it is converted from GMAX numbered frames to named sections in the MDL file, all that matters is the name of the animation and the length in frames. The important part is making frames in GMAX that are spaced away from each other's start and end indices. And make sure when you set up animations on the aurorabase that whatever numbers you pick for that sequence match on the aurorabase anim list. You can change them on the base all you want. You can even grab sequences from inside other sequences if you like, and make a single animation pull double duty. Say for instance you have a creature you want to animate, but haven't finished a 2-handed attack yet. Simply point the two handed attack to the one handed attack indices. It will export the same sequence for both named animations.




Also thanks to you!


OK, so start and end frame numbers are not important, but the lenght of the frame. So, if an emitter is supposed to show all the time (= 24 game hours), the frame length should be 40?


But I still don't manage to make the emitter show up... What are the steps for this?


So, after defining the frame ranges for animloop01 on the AuroraBase, I select the emitter, choose the start frame set on the Base, activate the Animation-button (in Gmax), and then??? Do I need to alter eg. the birth rate setting? I just noticed, that it then places a (blue) key into the time line.


Do the same thing for the last position and then deactivate the Animation button?


For the tiledefault animation, I would need to set the emitter for one frame to 0 (zero)?.


I'm still doing something wron here, cause the emitter still doesn't show up...


               
               

               
            

Legacy_Zwerkules

  • Hero Member
  • *****
  • Posts: 1997
  • Karma: +0/-0
A simple tile emitter tutorial?
« Reply #5 on: July 22, 2016, 11:23:20 am »


               

Maybe your emitter has no size or uses no image.


Things you should have set in your emitter are xsize, ysize, birthrate, lifeExp and texture. If it choses random parts of some kind of a sprite-sheet, you also have to define xgrid, ygrid, fps, framestart, frameend and random. If random is 0 the images will show in sequence instead of randomly.


               
               

               
            

Legacy_TheOneBlackRider

  • Hero Member
  • *****
  • Posts: 512
  • Karma: +0/-0
A simple tile emitter tutorial?
« Reply #6 on: July 22, 2016, 01:35:03 pm »


               


Maybe your emitter has no size or uses no image.


Things you should have set in your emitter are xsize, ysize, birthrate, lifeExp and texture. If it choses random parts of some kind of a sprite-sheet, you also have to define xgrid, ygrid, fps, framestart, frameend and random. If random is 0 the images will show in sequence instead of randomly.




Blind me! I did not set a texture! ':whistle:'


I'm trying to create a smoke emitter. Still no success!


I checked other (working) smoke settings, and sometimes they have not set anything for the size (in CM = Xsize+ysize), but to be on the safe side I set the size to 20.


I did, what I describet before: I selected the emitter, set the time line slider to 21, aktivated the Animate key, changed the birthrate (one up and down) und thus Gmax created a key at position 21. Then I moved the slider to 61 and did the same thing and again a key was set.


Now, these keys don't appear, when I select the AuroraBase... When the base is selected, I can't change the birthrate value... How do I make the AuroraBase know, when I "program" an animation on the emitter object?


 


Another thing: When I create an emitter, Gmax adds a "dummy AuroraEmitter01_XYdimension". Sometimes, when I select it, Gmax crashes. Upon launching Gmax anew, I can select this dummy and it's nothing more but a rectangle object.


And this dummy node doesn't seem to have any function, because if I look at other models (via text editor), I don't see such a node.



               
               

               
            

Legacy_MerricksDad

  • Hero Member
  • *****
  • Posts: 2105
  • Karma: +0/-0
A simple tile emitter tutorial?
« Reply #7 on: July 22, 2016, 04:06:31 pm »


               

yeah don't ever select that dummy. If you restart from a quicksave and the dummy is still there, just delete it.


 


 


you don't set the emitter changes on the base, just the emitter. On the base you just make sure the times are set to the correct named range


 


another thing you may check is that your emitter type is actually set. If you export and the emitter type is -1 (in the MDL text file) but it shows you are using a normal emitter, then it is a known bug with the helper object. Simply set it to something else and back to normal to change the value.



               
               

               
            

Legacy_TheOneBlackRider

  • Hero Member
  • *****
  • Posts: 512
  • Karma: +0/-0
A simple tile emitter tutorial?
« Reply #8 on: July 22, 2016, 04:17:00 pm »


               
On the base you just make sure the times are set to the correct named range

 



Maybe a stupid question, because I don't get the ful meaning of your answer, but how do I do that = what do i have to do. If I check other models, they all also have animation keys on the base. My base doesn't have any - just the emitter.


 


And I just checked the model. With "emitter type" you mean "spawnType"? I can't find an entry called "emitter type".



               
               

               
            

Legacy_MerricksDad

  • Hero Member
  • *****
  • Posts: 2105
  • Karma: +0/-0
A simple tile emitter tutorial?
« Reply #9 on: July 22, 2016, 07:19:35 pm »


               

When a base has animation keys, it should only have keys to play sounds and stuff like that. If the base is actually animated to move or rotate, you may end up with a problem.


 


Yes, I think spawn type is what you want to check. You should see options like normal, trail, explosion, etc. In the old 0.8b, I believe it was common to copy or create a new emitter and have the rollout show normal as checked, yet when you export it, the internal class didn't have a selection checked. It would then grab a value of 0, and add -1, outputting -1 as the emitter type, when the indices start at 0. Makes the engines go "whaaaat?"



               
               

               
            

Legacy_TheOneBlackRider

  • Hero Member
  • *****
  • Posts: 512
  • Karma: +0/-0
A simple tile emitter tutorial?
« Reply #10 on: July 24, 2016, 04:29:58 pm »


               

(Once again) Sorry for my slow reply, but I got distracted. ':whistle:'


Will give it another go and will report.


Thank you.