Gravity Gun remodel for Hl2, Garrysmod, and Sfm

Yes it deserves its own thread.

The Zero Point Energy Field Manipulator. A complete remodel to the best of my ability of Half Life’s most iconic weapon next to the crowbar.
Modeled, textured, and bastardized until it worked in every engine branch over the course of 114 days.

Partially because I wanted at least one recreation of this gun to look pretty. Partially to prove a point.

Originally authored for physically based rendering. Converted to the most recent format of pseudo-pbr in Source.

The engine is not supposed to do what this fucking gun makes it do. The vmt alone are practically a novel in of themselves with not one unnecessary parameter. And they are just a small part of how it was put together.
A technical breakdown of just how exactly everything works in every version will be written within a few weeks. When that is done I will post it here. And it will be massive. There is just that much going on.
It will also be paired with a tutorial on pseudo-pbr 29, as well as pseudo-pbr 28γ for garrysmod and other source branches.

And of course. The source files for the model as I had promised.

Sfm Variant:[/T][T][/T]

Includes both view and world models in every variation. All 12 of them. For further details of what each does refer to workshop description. And please for the love of god listen to it.
Running pseudo-pbr method 29. It is also the most unreasonably complex model I have seen in source to date. It is fancy but very expensive to render. Do not use this if your gpu is older than 2010. 2012 and up recommended.
Does not work with integrated graphics. A gpu is required at minimum.

Half Life 2/Episodic Variant:


Arguably the best thing to come out of modelling this.
Running pseudo-pbr method 28γ. Relies almost entirely on the map for the quality of its appearance. Generally looks better in the episodes as compiled envmaps for some hl2 maps have issues with fog.
The coast in particular is pretty bad with this. Looks fine otherwise.

Optimized. Viewmodel can run on hardware from 2007 onward.
Compatible with integrated graphics. Although the worldmodel will have issues.

No workshop exist. Manual download and install required. Place in \Program Files (x86)\Steam\steamapps\common\Half-Life 2\hl2\custom
Will automatically apply to any episodes. No need for duplicates on your drive.

Compatible with Half Life 2: Update

Known issue: The z-buffer for viewmodels is less precise near the edges of the map boundry for larger maps. Z-fighting will occur should you face the center of the map from the edge and there is nothing that can be done to fix it.

Garrysmod Variant:


The mean one. Golly I sure do love animating everything multiple times.
Especially when the physgun will just ignore them. I’m still not sure how the animations for that actually work because it sure as hell is not using mine.

In anycase a heavy alteration of its hl2 counterpart to be made compatible with the different viewmodel system. Also is set up to allow for player weapon tinting like the vanilla.
Chews up more memory than the default of course even with compression. Garrysmod is 32 bit. Can only load so much in memory. I don’t know what you’ll have loaded at a time but try and keep in mind this will reduce your limit.

Known issue: Refract does not operate properly on playerbound worldmodels for no reason. Works fine on props so what the hell.
Haven’t been able to solve it. Gave up.

Workshop Downloads:
Source Filmmaker

Manual Downloads:
Half Life 2/Episodic
Garrysmod (legacy install)
Source Filmmaker

Source Files:
Highpoly (10,311,004 tri)
Lowpolys (View and World models. Unrigged)
Original Textures (Metallic PBR. Uncompressed colordepth)

This is great work you’ve done! Thank you for taking the time to do a better version, I’ll def be using this on Gmod.

This is one of the best things ever done for gmod and hl2. For hl2 perhaps the best.

Also, reading the description I really feel your pain.

I had some fun with your highpoly model.

This is pretty amazing. Not to mention the best hd remodel of the grav gun yet, none other has this level of quality while also looking so close to the original.


anyone remember this monstrosity?

friendly reminder that this gravity gun has lower poly count than that one does. take that as you will.

poly count =/= quality

Your work never ceases to surprise me, but you really did a really phenomenal effort on making this remaster and the WIPs of this remaster backs up that effort especially for the GMOD version.

Just Amazing !!

Fresh to death.

He’s bring up that gun’s polycount for a reason. It did matter but not for why you might think.
Back during the planning phase I needed to set my triangle limits on the lowpolys. This actually took a bit because I had to take into account potentially multiplying it up to 5-6 times. Explanation for that later.
So if I, say, modeled something at 15,000k triangles it could end up as 75,000k triangles inengine. Which conflicted with my want to make everything super pretty and disregard limits entirely.

So I needed a point of reference. That grav gun up there was really helpful in that regard. It sits at 74,612 tri and, more importantly, no one complained about performance when using it.
It’s not that unreasonably highpoly for what it is. Just uses a lot of cylinders.

It was settled on the viewmodel capping at 37,306 max (half of 74,612.) In the event 5 layers were needed (and they were) I could once again halve it relative to the viewing angle to help put it back down.
The final triangle count before multiplication is 34,503.

Funnily enough even with a limit of 37,306 tri I actually had difficulty reaching it. Had to unoptimize it to get close.
Here’s probably the best example of that unoptimization.

The worldmodel I got down to an initial 8,043 tri. Which meant at most it would be 40,215 inengine.
I would have preferred it lower but cutting it any lower would have it clash with the viewmodel. Something I went through great lengths to avoid.

why? this dielectic and metal are 2 bodygroups. one extra for colored envmaps. one for glow perhaps. imho. are you overcomplicating things? sux if you waste our hard drive space for that load of random textures for that.

i’m not really complaining tho. i don’t need this thing at all. :smile:

this is fucking amazing

GMODs engine is different from SFMs(Gmod doesnt have the customhero shader), so you gotta do 5 stacks instead of 3 for fake PBR.

I’m going to ignore how openly hostile that is and use this to explain the point of 28γ

You may remember that the Customhero shader is at the moment exclusive to the sfm branch as the original Source dota2 branch is gone. It was used entirely for the purpose of environmentmap tinting to albedo.
Half Life 2 and Garrysmod do not have Customhero. It didn’t exist at the time. So how do you think I got the environmentmaps to tint per texel?

That’s right. Additives layers for red, green, and blue. 2 additional layers. Less memory at 2k res than the customhero setup but more expensive to render.
In this case though for non-sfm versions I dropped the refract on the viewmodel and cut the model in half. So it’s actually cheaper. Imagine that.

yeh. that’s something i don’t understand why you do it. for me a pure reflection is always the same color. it’s the roughness that balances the diffuse and specular ‘tint’ of the envmap. i have never seen a 100 polished copper ball in a dark room with a far window tho. that’d be the scenario. so… i’m missing a realisitc reference.

Its really a nice work, the textures are on point and the materials are pretty.
Really like the attention to detail, would love to see a PortalGun done like that aswell.

@ageha @frederika did i post bs? i thought not. :smile:

A small handful of metals, like copper or gold, absorb specific wavelength within the visible spectrum much better than others. You said “a pure reflection is always the same color. it’s the roughness that balances the diffuse and specular ‘tint’ of the envmap” and that’s objectively wrong. You did in fact post ‘bullshit’.

It’s not that non metals can’t tint their reflections either. They just don’t do it enough for it to matter. Not to us.