What I Already Searched
When I noticed the wonderful option of being able to add sprites when screwing around with PAC, it suddenly dawned upon me that the current Garry’s Mod does very little in the area of sprites. So for the last 2 hours or so I have been trying to hunt down some Expression 2 functions and a sprite stool. I used Google’s ‘site:’ on www.facepunch.com, www.wiremod.com, and www.garrysmod.org with the keywords particle, sprite, stool, tool, e2, and expression 2. (mixed and matched) The only thing I found was a lot of Russian forums talking about the Gmod 9 sprite tool and a Particle Maker stool.
On the off chance that something that does this already exists and I just didn’t find it before hand, please post it below.
Problems With Particle Maker
So I messed around with Particle Maker, and while having tons of options and being extremely well optimized, it doesn’t really provide the kind of control I want, plus to control each individual sprite, I would need 1 spawner per sprite. On top of that, it hasn’t been updated since October 2007. Other issues I had with it were things like if I wanted to parent a sprite to a prop, I couldn’t, emitted sprites have to have velocity, and a few places where the sprites ether didn’t spawn or didn’t render. (I was on gm_d3vinetown_v2s) One thing it did have that was nice, was a wiremod input for every single variable that the Q menu had for it.
What I Want It To Do and Be:
So what I am requesting is basically a stool that lets you do pretty much anything you want with sprites. The table below says the main features I want it to have, most of which would be in the tool menu. For the stool, I’m thinking only one sprite per stool entity, otherwise it will be really hard to control. (Maybe have an index input?) The Expression 2 sprite functions would be able to do everything that the stool would be able to do. I can write up exact commands with input/output types for you if you plan on coding it for me.
[table=“width: 500, class: grid, align: left”]
**General Stuffs:** As optimized as possible, doesn't rape your FPS Doesn't (easily) cause Reliable Snapshot Overflow or Buffer Overflow Works efficiently in multiplayer Menu that lists the default sprites like the material tool does, with a spot to enter a custom sprite path **Functionality:** Control world position Control rotation in degrees (0-360) Control size (Length, Width) Control color and alpha Have a toggle that make sprites with black backgrounds transparent? (Not sure if this is reasonably possible) Control parenting to other entities (Will override world position input if parented) Control creation and removal Control lifetime (0 for indefinite), starting and ending color, alpha, size
"…But What The F* Is A Sprite?"**
So for the people out there that don’t know what a sprite is,
A sprite is a flat 2D image that always faces perpendicular to the camera. It is extremely inexpensive for source to render sprites, and thus makes it great for smoke and other detailed things that would use way too many resources to render if it actually existed in a 3D space. They are also useful for doing low detail type things like rain, which because only one side of a raindrop is viewable at any one time, it would be a waste to use a three dimensional model as only half of it would be within view, and models are probably 100+ times more expensive to render than sprites, depending on the detail of the model.
Uses For This Stool:
Well, for starters, I’m sure most of the people reading this have made and/or seen someone make rain or snow with holograms and e2. Using sprites instead of models will improve fps for everyone looking in the general direction of the artificial weather, which on a build server with ~20 people playing on flatgrass, every little thing to reduce lag helps.
Then you could make effects out of sprites that you could add to already existing props. Ever wanted to make them Team Fortress 2 presents sparkle?
Ultimately, I think this would be good for people who make scenes and take snapshots of them and for people who do ragdoll posing. It adds a certain layer of detail that you just can’t really get from any of the already existing tools. To be honest, I don’t get why someone hasn’t made this already.
If I knew LUA, I would do it myself but unfortunately I don’t.
In the unlikely event that someone does take the interest in writing up the code for this, thanks ahead of time!