- Joined
- Apr 9, 2004
- Messages
- 502
Hello all,
Been a long time and I find i'm wanting to try and play with wc3 modding once again. I have a new setup I'm playing around with. I've always been frustrated by the limitations of vex's dummy model and I wanted to see if it would be worthwhile to try another approach.
I have a simple test map to showcase what I think could be a fantastic way to use a wc3 exploit to create a much more versatile projectile dummy unit that could be set to move with any projectile attached in any way you want.
It was initially shown in this thread: http://www.wc3c.net/showthread.php?t=105830
but they stated that there were limits because of how it was setup, stating that you couldn't actively adjust the projectile during flight, only at the launch. But I've found a way to make it update constantly and all the time so that you can have realtime instant change in motion.
The catch: each projectile is actually 2 units. 1 provides the base and the other a direction to look at. Why is this important? Because for some reason they have a function that lets you control what UNIT another unit looks at. The test map shows that you can dynamically alter the facing direction of the missile almost instantaneously and much more responsively than setting unit facing or otherwise. The method works is by first locking the facing onto a second unit and then manipulating that unit. For some reason the tracking is locked on almost perfectly and you can test it out but even when you try for rotation with a pitch angle, the tracking is only limited by the model itself, or at least that seems to be what I've noticed as different models give better or worse tracking based on the model head bone.
The only thing I'd need would be a dummy unit with a "head" attachment at the origin.
Granted this may cut the amount of potential missiles present on the map by half but depending on your map's limitations, 4000 true projectiles at once is still a much higher cap than than you'l probably need. This, of course, assumes you trigger all projectiles. This could easily be used so simply make some spectacular missile effects all controlled within the WC3 editor itself.
Any thoughts?
[edit] Updated the map to better showcase the potential of this and to confirm a few things.
Test map shows 2 features.
1st feature allows you to play and see the realtime missile tracking in a smooth motion. This kind of motion could be used to make a projectile rotate in any sort of way you'd want it to (example, if your pitlord throws his weapon, you can make that weapon spin in any direction you want)
The second feature shows the responsiveness of the method. Click "start crazy" and a random location will be chosen and refeshed at 0.01 seconds. Pay attention to the movement of the projectile, there's no lag and freeze up time like what you would see if you tried animating this using the vex. dummy unit and setting unit facing. This is actually instant change in direction.
Based on this testing, to the untrained eye this seems fairly trivial BUT what this actually means is you can basically control 100% of a projectiles motion and facing all with triggers. AND it seems to show that it's the most responsive thing to date, way faster and more accurate than relying on constantly updating animations or unit facing.
So you want to make a currently stationary axe model rotate? No problem. You want to be able to adjust the rotation speed to whatever? Go nuts! This could have endless potential use!
Now this is all fine to submit this but I'd like some feedback from the community. Is this feasible as a map setup?
[Update 2 2016-01-18]
Modded the dummy unit such that it now works how I want it to. A few things to note, this now shows pretty much exactly the way I expected it to go. I'll be creating some interesting effects to showcase the utilities of this. Granted it'll be in .GUI so buggy to the max, but it should show some pretty cool effects.
[Update 3 2016-01-20]
Learned a few things and created a new dummy. Now has 4 attachment points that change the projectile orientation allowing for better manipulation of existing projectiles.
head attaches the projectile as normal, overhead creates a 90 degree twist, chest creates a 90 degree rotation towards the vertical, and origin creates a 90 degree rotation to the right.
Dummy built from scratch and only costs 1 KB, so yay!
Big limitation discovered, while super accurate this only works on -90 to +90 degrees towards any facing angle. You might think that's no big deal as the projectile can theoretically face any angle BUT it does mean some animations like rotations that have a roll or forward rolling abilities don't quite work. Forward roll can work if the projectile is symmetrical enough but otherwise you can't simulate a full frontal rotation. I did learn a few things and while it is possible to code the animations for this, if you actually want to capture the full motion you need 360X360X360 = 46,656,000 animations if you broke everything down into intervals of single degrees (so it's not worth it). This would allow the model animation to face any point in a sphere at any "screw" rotation. This is the only way to cover any possible projectile flight orientation. The facing method essentially lacks the rotation ability so it is always facing any point with a 0 degree angular offset from the horizontal. Again, for symmetrical objects this won't be noticeable but anything non-symmetric, like a unit, will be very limited.
Been a long time and I find i'm wanting to try and play with wc3 modding once again. I have a new setup I'm playing around with. I've always been frustrated by the limitations of vex's dummy model and I wanted to see if it would be worthwhile to try another approach.
I have a simple test map to showcase what I think could be a fantastic way to use a wc3 exploit to create a much more versatile projectile dummy unit that could be set to move with any projectile attached in any way you want.
It was initially shown in this thread: http://www.wc3c.net/showthread.php?t=105830
but they stated that there were limits because of how it was setup, stating that you couldn't actively adjust the projectile during flight, only at the launch. But I've found a way to make it update constantly and all the time so that you can have realtime instant change in motion.
The catch: each projectile is actually 2 units. 1 provides the base and the other a direction to look at. Why is this important? Because for some reason they have a function that lets you control what UNIT another unit looks at. The test map shows that you can dynamically alter the facing direction of the missile almost instantaneously and much more responsively than setting unit facing or otherwise. The method works is by first locking the facing onto a second unit and then manipulating that unit. For some reason the tracking is locked on almost perfectly and you can test it out but even when you try for rotation with a pitch angle, the tracking is only limited by the model itself, or at least that seems to be what I've noticed as different models give better or worse tracking based on the model head bone.
The only thing I'd need would be a dummy unit with a "head" attachment at the origin.
Granted this may cut the amount of potential missiles present on the map by half but depending on your map's limitations, 4000 true projectiles at once is still a much higher cap than than you'l probably need. This, of course, assumes you trigger all projectiles. This could easily be used so simply make some spectacular missile effects all controlled within the WC3 editor itself.
Any thoughts?
[edit] Updated the map to better showcase the potential of this and to confirm a few things.
Test map shows 2 features.
1st feature allows you to play and see the realtime missile tracking in a smooth motion. This kind of motion could be used to make a projectile rotate in any sort of way you'd want it to (example, if your pitlord throws his weapon, you can make that weapon spin in any direction you want)
The second feature shows the responsiveness of the method. Click "start crazy" and a random location will be chosen and refeshed at 0.01 seconds. Pay attention to the movement of the projectile, there's no lag and freeze up time like what you would see if you tried animating this using the vex. dummy unit and setting unit facing. This is actually instant change in direction.
Based on this testing, to the untrained eye this seems fairly trivial BUT what this actually means is you can basically control 100% of a projectiles motion and facing all with triggers. AND it seems to show that it's the most responsive thing to date, way faster and more accurate than relying on constantly updating animations or unit facing.
So you want to make a currently stationary axe model rotate? No problem. You want to be able to adjust the rotation speed to whatever? Go nuts! This could have endless potential use!
Now this is all fine to submit this but I'd like some feedback from the community. Is this feasible as a map setup?
[Update 2 2016-01-18]
Modded the dummy unit such that it now works how I want it to. A few things to note, this now shows pretty much exactly the way I expected it to go. I'll be creating some interesting effects to showcase the utilities of this. Granted it'll be in .GUI so buggy to the max, but it should show some pretty cool effects.
[Update 3 2016-01-20]
Learned a few things and created a new dummy. Now has 4 attachment points that change the projectile orientation allowing for better manipulation of existing projectiles.
head attaches the projectile as normal, overhead creates a 90 degree twist, chest creates a 90 degree rotation towards the vertical, and origin creates a 90 degree rotation to the right.
Dummy built from scratch and only costs 1 KB, so yay!
Big limitation discovered, while super accurate this only works on -90 to +90 degrees towards any facing angle. You might think that's no big deal as the projectile can theoretically face any angle BUT it does mean some animations like rotations that have a roll or forward rolling abilities don't quite work. Forward roll can work if the projectile is symmetrical enough but otherwise you can't simulate a full frontal rotation. I did learn a few things and while it is possible to code the animations for this, if you actually want to capture the full motion you need 360X360X360 = 46,656,000 animations if you broke everything down into intervals of single degrees (so it's not worth it). This would allow the model animation to face any point in a sphere at any "screw" rotation. This is the only way to cover any possible projectile flight orientation. The facing method essentially lacks the rotation ability so it is always facing any point with a 0 degree angular offset from the horizontal. Again, for symmetrical objects this won't be noticeable but anything non-symmetric, like a unit, will be very limited.
Attachments
Last edited: