| 05-10-2004, 10:21 AM | #1 |
How it works You will add emitter to a model all by hand in Wordpad/Notepad. You either take it from a model, or further edit the taken emitter. Tools needed: Notepad/Wordpad YobGuls' Fileconverter Get it here Any programs that can extract models We will add emitter to the Crypt Fiend's (Reign of Chaos') left hand taken from the Infernal model. How it can be done Now... Extract the Crypt Fiend's model and Infernal model from war3.mpq. Next, open YobGuls' Fileconverter. Click on Load File. Load up CryptFiend.mdx, then click on Convert to MDL. Do the same to Infernal.mdx. Now open both of them with Wordpad/Notepad. Now, on the Infernal.mdx, press Ctrl+F and type pivotpoints. Now scroll down... Until you see this: Code:
ParticleEmitter2 "BlizParticleShoulderLeft" {
ObjectId 103,
Parent 25, // "Sphere12"
Unshaded,
ModelSpace,
static Speed 60,
static Variation 0,
static Latitude 22,
static Gravity -530,
Visibility 6 {
DontInterp,
33: 1,
23767: 0,
24133: 1,
29033: 1,
30567: 0,
34000: 0,
}
LifeSpan 0.4,
static EmissionRate 40,
static Width 17.4,
static Length 54.292,
Additive,
Rows 8,
Columns 8,
Head,
TailLength 1,
Time 0.5,
SegmentColor {
Color { 0.658824, 1, 0.996078 },
Color { 0, 1, 0.8 },
Color { 0, 1, 0.329412 },
},
Alpha {255, 255, 0},
ParticleScaling {24.7, 20, 8},
LifeSpanUVAnim {0, 40, 1},
DecayUVAnim {41, 63, 1},
TailUVAnim {0, 40, 1},
TailDecayUVAnim {41, 63, 1},
TextureID 2,
Rotation 4 {
Hermite,
33: { -0.413683, 0.0289275, 0, 0.909961 },
InTan { -0.593511, 0.0415023, 0, 0.803755 },
OutTan { -0.593511, 0.0415023, 0, 0.803755 },
3100: { -0.413683, 0.0289275, 0, 0.909961 },
InTan { -0.413683, 0.0289275, 0, 0.909961 },
OutTan { -0.413683, 0.0289275, 0, 0.909961 },
5467: { -0.413683, 0.0289275, 0, 0.909961 },
InTan { -0.413683, 0.0289275, 0, 0.909961 },
OutTan { -0.413683, 0.0289275, 0, 0.909961 },
30400: { -0.413683, 0.0289275, 0, 0.909961 },
InTan { -0.413683, 0.0289275, 0, 0.909961 },
OutTan { -0.413683, 0.0289275, 0, 0.909961 },
}
}where the emitter was in the Infernal model. You will get something like Code:
{ 0, -22.5742, 155.104 },
{ 0, 0, 0 },
{ 51.7403, 0.293222, 69.0057 },
{ -20.2287, 0.293219, 57.2672 },
}
ParticleEmitter2 "BlizParticleShoulderLeft" {
ObjectId 103,
Parent 25, // "Sphere12"
Unshaded,
ModelSpace,
static Speed 60,
static Variation 0,
static Latitude 22,
......
InTan { -0.593511, 0.0415023, 0, 0.803755 },
OutTan { -0.593511, 0.0415023, 0, 0.803755 },
3100: { -0.413683, 0.0289275, 0, 0.909961 },
InTan { -0.413683, 0.0289275, 0, 0.909961 },
OutTan { -0.413683, 0.0289275, 0, 0.909961 },
5467: { -0.413683, 0.0289275, 0, 0.909961 },
InTan { -0.413683, 0.0289275, 0, 0.909961 },
OutTan { -0.413683, 0.0289275, 0, 0.909961 },
30400: { -0.413683, 0.0289275, 0, 0.909961 },
InTan { -0.413683, 0.0289275, 0, 0.909961 },
OutTan { -0.413683, 0.0289275, 0, 0.909961 },
}
}Code:
......
TailUVAnim {0, 40, 1},
TailDecayUVAnim {41, 63, 1},
TextureID 2, <---- Take note of this part.
Rotation 4 {
......You will see this part Code:
Textures 5 {
Bitmap {
Image "units\Demon\Infernal\Infernal.blp",
WrapWidth,
WrapHeight,
}
Bitmap {
Image "Textures\clouds_anim1_bw.blp",
WrapWidth,
WrapHeight,
}
Bitmap {
Image "ReplaceableTextures\Weather\Clouds8x8.blp",
}
Bitmap {
Image "Textures\Yellow_Star.blp",
}
Bitmap {
Image "Textures\Clouds8x8Grey.blp",
}
}Code:
Bitmap {
Image "ReplaceableTextures\Weather\Clouds8x8.blp",
}Code:
Textures 3 {
Bitmap {
Image "Textures\CryptFiend.blp",
}
Bitmap {
Image "",
ReplaceableId 1,
}
Bitmap {
Image "Textures\gutz.blp",
}
Bitmap {
Image "ReplaceableTextures\Weather\Clouds8x8.blp",
}
}you pasted, counting starting from 0. It will be 3 in this case. So change it to 3. Code:
......
DecayUVAnim {41, 63, 1},
TailUVAnim {0, 40, 1},
TailDecayUVAnim {41, 63, 1},
TextureID 3,
Rotation 4 {
......Code:
Rotation 4 {
Hermite,
33: { -0.413683, 0.0289275, 0, 0.909961 },
InTan { -0.593511, 0.0415023, 0, 0.803755 },
OutTan { -0.593511, 0.0415023, 0, 0.803755 },
3100: { -0.413683, 0.0289275, 0, 0.909961 },
InTan { -0.413683, 0.0289275, 0, 0.909961 },
OutTan { -0.413683, 0.0289275, 0, 0.909961 },
5467: { -0.413683, 0.0289275, 0, 0.909961 },
InTan { -0.413683, 0.0289275, 0, 0.909961 },
OutTan { -0.413683, 0.0289275, 0, 0.909961 },
30400: { -0.413683, 0.0289275, 0, 0.909961 },
InTan { -0.413683, 0.0289275, 0, 0.909961 },
OutTan { -0.413683, 0.0289275, 0, 0.909961 },
}Code:
EventObject "SPLTDBL0" {
ObjectId 96, <---- Take note of this number.
EventTrack 1 {
31633,
}
}since originally before the event track, it was an attachment point, and it's ObjectId is 95. Every ObjectIds must go in an order. Then after changing that, change the rest of the ObjectIds for the following objects, all by +1. Code:
ParticleEmitter2 "BlizParticleShoulderLeft" {
ObjectId 96,
Parent 25, // "Sphere12"
Unshaded,
ModelSpace,
static Speed 60,
static Variation 0,
static Latitude 22,
static Gravity -530,
Visibility 6 {
DontInterp,
33: 1,
23767: 0,
24133: 1,
29033: 1,
30567: 0,
34000: 0,
}
LifeSpan 0.4,
static EmissionRate 40,
static Width 17.4,
static Length 54.292,
Additive,
Rows 8,
Columns 8,
Head,
TailLength 1,
Time 0.5,
SegmentColor {
Color { 0.658824, 1, 0.996078 },
Color { 0, 1, 0.8 },
Color { 0, 1, 0.329412 },
},
Alpha {255, 255, 0},
ParticleScaling {24.7, 20, 8},
LifeSpanUVAnim {0, 40, 1},
DecayUVAnim {41, 63, 1},
TailUVAnim {0, 40, 1},
TailDecayUVAnim {41, 63, 1},
TextureID 3,
}
EventObject "SPLTDBL0" {
ObjectId 97,
EventTrack 1 {
31633,
}
}
EventObject "SPLTDBL1" {
ObjectId 98,
EventTrack 1 {
31733,
}
}
EventObject "SPLTDBL2" {
ObjectId 99,
EventTrack 1 {
31900,
}
}
EventObject "SPLTDBL3" {
ObjectId 100,
EventTrack 1 {
31967,
}
}
EventObject "FPTyFKR0" {
ObjectId 101,
EventTrack 1 {
27076,
}
}
EventObject "FPTxFKR0" {
ObjectId 102,
EventTrack 1 {
27167,
}
}
EventObject "FPTxFKL0" {
ObjectId 103,
EventTrack 1 {
27030,
}
}
EventObject "FPTyFKL0" {
ObjectId 104,
EventTrack 1 {
27667,
}
}
EventObject "SNDxDPIT" {
ObjectId 105,
EventTrack 1 {
30433,
}
}
EventObject "SNDXFDSL" {
ObjectId 106,
EventTrack 1 {
27533,
}
}
EventObject "SNDYFDSL" {
ObjectId 107,
EventTrack 1 {
27033,
}
}
EventObject "SNDXFDSR" {
ObjectId 108,
EventTrack 1 {
27067,
}
}
EventObject "SNDYFDSR" {
ObjectId 109,
EventTrack 1 {
27467,
}
}
EventObject "SPNxDBCR" {
ObjectId 110,
EventTrack 1 {
30500,
}
}
CollisionShape "Collision 2" {
ObjectId 111,
Sphere,
Vertices 1 {
{ 51.7403, 0.293222, 69.0057 },
}
BoundsRadius 58.481,
}
CollisionShape "Collision 1" {
ObjectId 112,
Sphere,
Vertices 1 {
{ -20.2287, 0.293219, 57.2672 },
}
BoundsRadius 68.4228,
}We are going to add this to the left hand right? We need to give the emitter a pivot, we have 2 choices, we can either take the pivot of the left hand attachment point, or the pivot of the bone of the left hand. We will take use the attachment point's in this tutorial. Now Ctrl+F attachment, then look around there, until you find the attachment for the left hand. Which is Code:
Attachment "Hand Left Ref " {
ObjectId 92, <---- Take note of this.
Parent 79, // "Bone_Box29" <---- And this. Just the number, ignore the stuff behind the //.
Visibility 3 {
DontInterp,
40267: 1,
100100: 0,
113600: 0,
}
}then continue counting until you reach the 96th. Press enter and you will create a new line, then paste there by pressing Ctrl+v, so it will be on the 97th pivot(our emitter is Id 96, remember?). Code:
......
{ -54.7252, 47.7444, 0.151143 },
{ 57.6861, 38.1531, 0.0964531 },
{ -54.4284, -45.1488, 0.115693 },
{ 55.811, -38.8694, -1.23524 },
{ 100.393, -21.7079, 69.1697 },
{ 82.1753, -0.292041, 105.869 },
{ 85.1562, -0.292045, 99.0712 },
{ 103.352, 25.1936, 70.7488 }, <---- Copy this, the 93rd pivot.
{ 47.1684, -0.00997656, 102.803 },
{ -0.896102, 0.600088, 0.0480423 },
{ -0.896099, 0.600088, 146.933 },
{ 103.352, 25.1936, 70.7488 }, <---- Create a new line, paste, and it will be here. 97th pivot
{ 12.9809, -53.5058, 12.9314 },
{ 67.9901, -8.25223, 12.9314 },
{ -1.88774, 0.604691, 12.9314 },
{ 56.9887, -26.7666, 12.9314 },
{ -74.5087, -67.3454, 9.17015 },
......to that. Code:
ParticleEmitter2 "BlizParticleShoulderLeft" {
ObjectId 96,
Parent 79, // "Sphere12"
Unshaded,
ModelSpace,
static Speed 60,
static Variation 0,
static Latitude 22,
static Gravity -530,
......Code:
......
Visibility 6 {
DontInterp,
33: 1,
23767: 1,
24133: 1,
29033: 1,
30567: 1,
34000: 1,
}
......Import the model into your map and test. There you go, emitter added. Finished product. And this is the Chaos Spider from RoTD, skin by abriko, model by me. It's done by this method, and adding of another 'larger' version of the original geoset(I did them all by hand by adding all coordinates of the vertices by 3), then assign it to a material with animated texture(or tvertexanim). |
| 05-16-2004, 01:34 AM | #2 |
Excfellent tut man, I needed somethin like this cuz I dont have max so I cant add emmitters to my models :/ |
| 05-16-2004, 08:59 AM | #3 | |
Quote:
Wtf!? You still haven't got your max...? Duh... :/ |
| 05-17-2004, 03:05 AM | #4 |
well I get liscence errors |
| 07-01-2004, 12:47 PM | #5 | |
Quote:
Thanks for this awesome tutorial! I'm curious though, what does changing all those values to 1 do? |
| 07-01-2004, 01:03 PM | #6 | |
Quote:
Well I will soon update it... So be patient :) Thanks. |
| 07-01-2004, 01:40 PM | #7 |
Cool such tutorial first was here before they upgraded to v3.0.. Good work Alfred!!!! |
| 08-08-2004, 09:55 PM | #9 |
The position is defined by the association PivotPoint. Go to the PivotPoint section and count through them, starting from 0, until you reach the ObjectId of your emitter. You should have added a new point there. If you didn't add one now and set its coordinates to what you want. |
| 08-16-2004, 11:32 AM | #10 |
I want to make the glow of Arthas' Sword grow longer. |
| 08-16-2004, 12:03 PM | #11 | |
Quote:
A glow is NOT an emitter. You will have to add more geosets of glows to the model and give it a billboard bone for each. Or you can scale all the bones the glows are using, since they are billboarded, they will look longer and broader. |
| 08-16-2004, 02:55 PM | #12 | |
Quote:
Thank you, I think scale the bones would be better. But still I have too few experience...Is there any open examples or tutorials? |
| 10-12-2004, 06:37 AM | #13 |
Guest | Ok link to file converter doesn't seem to work, can some one please post another link to download it, thanks ![]() |
