• 🏆 Texturing Contest #33 is OPEN! Contestants must re-texture a SD unit model found in-game (Warcraft 3 Classic), recreating the unit into a peaceful NPC version. 🔗Click here to enter!
  • It's time for the first HD Modeling Contest of 2024. Join the theme discussion for Hive's HD Modeling Contest #6! Click here to post your idea!

Looking for info on Blood Elf Hero floating orbs

Status
Not open for further replies.
Level 10
Joined
Aug 14, 2004
Messages
61
Hello Hive modelers! I've been scanning the forum's for any clue to this elusive question but alas no luck yet. I'm wondering if anyone out there could help me understand how to add the sprite markers from the Blood Elf Hero to another model. I really like the floating orb effect and need it to complete my Frost Elf Hero. In case your not quite sure what I'm looking for I've attached a screenshot and the mdx, any help would be appreciated.

P.S. Although I'm a rookie modeler, I catch on quick, so don't hesitate to give it to me straight :) Cheers!
 
Last edited:
Level 5
Joined
Aug 25, 2007
Messages
44
I'm not on my computer now so I can't check for sure, and I am just guessing from memory, but those orbs are part of the hero model. They are billboarded quads with particle effects attached, with a global loop around the root bone or origin ref I would assume. You would have to rip the orb geometry and swirling animation and attach that to an origin ref point on another model, but it wouldn't carry over 100% (like for attack animations, one orb is used up if I recall correctly, whereas if it was an attachment they would just rotate around the model unaffected)
 
Level 10
Joined
Aug 14, 2004
Messages
61
Thanks for the helpful start points! I'm gonna dig into the Blood Elf mdl tomorrow when I have some time. Gonna look into any small geometry and particle effects and see if I can piece together a pattern. As far as the Sphere ability goes, I know it is the trigger for the swirling orbs but simply adding it to a unit in the WE does nothing in-game. I suppose it needs the guts to be there for it to work. Well its these kinda challenges that make modding fun!
 
Level 5
Joined
Aug 25, 2007
Messages
44
Oof everything I said was pretty incorrect. The spheres aren't part of the blood elf hero model at all. I did find the texture for the sphere while browsing the war3x.mpq but i dunno if you'll be able to get that exact effect. You could build your own with that texture, plop on some particles and set a few global animations that resemble the source at least.
 
Level 10
Joined
Aug 14, 2004
Messages
61
Well here's what we've learned today. I've been picking through the Blood Elf hero model file and found a few interesting points. First there were 4 sets of quad like geometry linked to the hands of the model, this turns out is used for a flash effect when the hero casts/attacks. Next I found some attachment references to sprites! This lead me back to there parent helpers "DummyBallMaster" and the like, Eureka this looked good. So testing it out, I used Magos on my model to add the helper objects then the sprite objects and finally the global sequences found in the Blood Elf hero model. Next in MDL I directly swapped the info found in the Blood Elf hero model to get the right rotation and the like as seen below...
Code:
Helper "DummyBallMaster" {
	ObjectId 69,
	BillboardedLockZ,
}
Helper "DummyBall1Center" {
	ObjectId 70,
	Parent 69,	// "DummyBallMaster"
	Rotation 5 {
		Hermite,
		GlobalSeqId 5,
		0: { 0, 0, 0.483719, 0.875223 },
			InTan { 0, 0, 0.483719, 0.875223 },
			OutTan { 0, 0, 0.483719, 0.875223 },
		467: { 0, 0, 0.960917, 0.276836 },
			InTan { 0, 0, 0.960917, 0.276836 },
			OutTan { 0, 0, 0.960917, 0.276836 },
		933: { 0, 0, 0.875223, -0.483719 },
			InTan { 0, 0, 0.882166, -0.470938 },
			OutTan { 0, 0, 0.882166, -0.470938 },
		1367: { 0, 0, -0.276836, 0.960917 },
			InTan { 0, 0, -0.249777, 0.968303 },
			OutTan { 0, 0, -0.249777, 0.968303 },
		1867: { 0, 0, -0.483719, -0.875223 },
			InTan { 0, 0, -0.483719, -0.875223 },
			OutTan { 0, 0, -0.483719, -0.875223 },
	}
}
Helper "DummyBall1Center01" {
	ObjectId 71,
	Parent 69,	// "DummyBallMaster"
	Rotation 5 {
		Hermite,
		GlobalSeqId 6,
		0: { 0, 0, 0, 1 },
			InTan { 0, 0, 0, 1 },
			OutTan { 0, 0, 0, 1 },
		533: { 0, 0, -0.707107, 0.707107 },
			InTan { 0, 0, -0.707107, 0.707107 },
			OutTan { 0, 0, -0.707107, 0.707107 },
		1067: { 0, 0, 1, 0 },
			InTan { 0, 0, 0.999929, 0.0118997 },
			OutTan { 0, 0, 0.999929, 0.0118997 },
		1633: { 0, 0, -0.707107, -0.707107 },
			InTan { 0, 0, -0.715471, -0.698642 },
			OutTan { 0, 0, -0.715471, -0.698642 },
		2167: { 0, 0, 0, -1 },
			InTan { 0, 0, 0, -1 },
			OutTan { 0, 0, 0, -1 },
	}
}
Helper "DummyBall1Center02" {
	ObjectId 72,
	Parent 69,	// "DummyBallMaster"
	Rotation 5 {
		Hermite,
		GlobalSeqId 7,
		0: { 0, 0, 0, 1 },
			InTan { 0, 0, 0, 1 },
			OutTan { 0, 0, 0, 1 },
		633: { 0, 0, -0.707107, 0.707107 },
			InTan { 0, 0, -0.707107, 0.707107 },
			OutTan { 0, 0, -0.707107, 0.707107 },
		1267: { 0, 0, 1, 0 },
			InTan { 0, 0, -1, 0 },
			OutTan { 0, 0, -1, 0 },
		1900: { 0, 0, -0.707107, -0.707107 },
			InTan { 0, 0, -0.707107, -0.707107 },
			OutTan { 0, 0, -0.707107, -0.707107 },
		2533: { 0, 0, 0, -1 },
			InTan { 0, 0, 0, -1 },
			OutTan { 0, 0, 0, -1 },
	}
}
Attachment "Sprite First Ref" {
	ObjectId 82,
	Parent 70,	// "DummyBall1Center"
	Visibility 3 {
		DontInterp,
		20000: 1,
		20567: 0,
		21333: 1,
	}
	Translation 4 {
		Linear,
		20000: { 0, 0, 0 },
		20533: { -0.636727, -52.7754, -35.6463 },
		21333: { -16.3691, 70.5516, 0 },
		21500: { 0, 0, 0 },
	}
	Scaling 5 {
		Linear,
		20000: { 1, 1, 1 },
		20533: { 1, 1, 1 },
		20567: { 0.0395883, 0.0395883, 0.0395883 },
		21333: { 0.0395883, 0.0395883, 0.0395883 },
		21500: { 0.485437, 0.485437, 0.485437 },
	}
}
Attachment "Sprite Second Ref" {
	ObjectId 83,
	Parent 71,	// "DummyBall1Center01"
	Visibility 3 {
		DontInterp,
		23333: 1,
		24000: 0,
		24667: 1,
	}
	Translation 5 {
		Linear,
		23333: { 0, 0, 0 },
		24000: { -1.66142, -29.6554, -45.3842 },
		24033: { 0, 0, 0 },
		24667: { -0.505645, 69.2229, 0 },
		24833: { 0, 0, 0 },
	}
	Scaling 5 {
		Linear,
		23333: { 1, 1, 1 },
		24000: { 1, 1, 1 },
		24033: { 0.0485263, 0.0485263, 0.0485263 },
		24667: { 0.0485263, 0.0485263, 0.0485263 },
		24833: { 0.349247, 0.349247, 0.349247 },
	}
}
Attachment "Sprite Third Ref" {
	ObjectId 84,
	Parent 72,	// "DummyBall1Center02"
	Visibility 6 {
		DontInterp,
		26667: 1,
		27333: 0,
		28000: 1,
		30000: 1,
		30500: 0,
		31000: 1,
	}
	Translation 10 {
		Linear,
		26667: { 0, 0, 0 },
		27333: { 0.110469, 47.7257, 7.39796 },
		27367: { 0, 0, 0 },
		28000: { -3.81068, -40.1916, 0 },
		28167: { 0, 0, 0 },
		30000: { 0, 0, 0 },
		30500: { 0.110469, 47.7257, 7.39796 },
		30533: { 0, 0, 0 },
		31000: { -4.12007, -49.7219, 0 },
		31167: { 0, 0, 0 },
	}
	Scaling 10 {
		Linear,
		26667: { 1, 1, 1 },
		27333: { 1, 1, 1 },
		27367: { 0.0628536, 0.0628536, 0.0628536 },
		28000: { 0.0628536, 0.0628536, 0.0628536 },
		28167: { 1, 1, 1 },
		30000: { 1, 1, 1 },
		30500: { 1, 1, 1 },
		30533: { 0.0628536, 0.0628536, 0.0628536 },
		31000: { 0.0628536, 0.0628536, 0.0628536 },
		31167: { 1, 1, 1 },
	}
}
I cleaned up my model file verifying correct objectId's, proper Global Sequence durations,... Next I added it to a test map and had to add the Sprite ability to the model to get them to show up! So far so good, I have orbs, but unfortunately there all positioned on the origin and don't rotate. For testing I've changed all visibility to match my models timing and made sure there all in the ON position. I have a feeling the problem lies in the attachment area with the translation and scaling still being the Blood Elf model timing, so it will take me some time to hack it in. Gonna keep trying, so far it looks like I may be able to duplicate the effect. If anyone has any thoughts feel free to help out, I'm strapped for time, but will certainly share anything I find out.

Update* Decided to try this on a completely different model to be sure it wasn't any of my previous work interfering. Still the same result, orbs appear, but sit on the ground. I've tried changing the Hermite rotation to Linear and adding a linear path but the orbs all pretty much stay stationary. I'm thinking it has something to do with the way I hacked in the Global sequence, but I don't know enough about them to be sure. Here's the model file let me know what you think?

Well no bites, thanks for at least taking a look see people. I'll post any solution I can come up with.

Cheers and long live WarCraft :)
 
Last edited:
Status
Not open for further replies.
Top