this post was submitted on 10 Feb 2025
87 points (100.0% liked)

Godot

6214 readers
15 users here now

Welcome to the programming.dev Godot community!

This is a place where you can discuss about anything relating to the Godot game engine. Feel free to ask questions, post tutorials, show off your godot game, etc.

Make sure to follow the Godot CoC while chatting

We have a matrix room that can be used for chatting with other members of the community here

Links

Other Communities

Rules

We have a four strike system in this community where you get warned the first time you break a rule, then given a week ban, then given a year ban, then a permanent ban. Certain actions may bypass this and go straight to permanent ban if severe enough and done with malicious intent

Wormhole

!roguelikedev@programming.dev

Credits

founded 2 years ago
MODERATORS
top 3 comments
sorted by: hot top controversial new old
[–] insomniac_lemon@lemmy.cafe 11 points 1 day ago* (last edited 1 day ago) (1 children)

If you're making your own models, another option to somewhat sidestep textures is vertex colors.

At the very simplest objects can be 1* color, though it's still quite easy to color some details on low-poly models if you keep it in mind when you're designing your mesh (which going for an aesthetic, is the goal anyway).

Note that per-face VC is an option (in Blender: color attribute>domain:face corner, and then use selection plus the paint mask option right next to where you switched to vertex paint mode). You can also use the Spyro skybox trick to fake hard edges using your mesh.

Lots of simple options with big look changes too (unshaded vs. shaded, matte vs. plastic vs. metal, manually-painted VC shadows).

Adding even multi-use textures onto this, I'm not quite sure on especially as it requires messing at very least fixing the UV map+re-exporting. After that, object scale may be an issue (unless something like triplanar works for you).

I even tried doing my own watercolor stuff, a failed matcap texture (which might be a fault of the shader) and a maybe-fine splatter texture. It seems like going this route is a step up in one (if not multiple) skills to be an improvement rather than reduction over just VC. A generated noise normal map for metal (maybe glass/wood) is a somewhat more viable exception.

* even if you're using CSG (or say, textmesh) and not interested in VC, it might be a good idea to use a material that allows setting a color per-object via a shader parameter (this can be done via visual shader with ColorParameter plugged into albedo, blend mode can be used to allow grayscale texture like noise). A slight step up from graybox... unless your room is a cave, having color other than gray/white is an easy way to improve the representation enough for it to be playable.

EDIT: Alternatively, you could also just get the colors by using a set of materials like a color palette (stone, wood, grass, dirt, metal?).

[–] Clasm@ttrpg.network 7 points 1 day ago (1 children)

For some examples of games that used Vertex Shading, Super Mario Sunshine used them to fake the shadows and Homeworld used it for their fantastic skyboxes!

[–] insomniac_lemon@lemmy.cafe 4 points 1 day ago* (last edited 1 day ago)

I mentioned Spyro's skyboxes (also used for portals+seamless level transitions), but it also used VC for the textureless LoD models which allowed incredible draw distance for the era. Random effects mostly resulting from flame breath (soot, glow) but also some other small details (like the level boundary headbutt effect). Lighting too (more obvious in the worlds with bonfires).

Also Crash Bandicoot. Here's a video on the character design (the vertex animation and spin model is interesting as well).

VC might not be obvious especially when it was just an optimization, though it might be more obvious if it used for a specific effect (like transparency), especially when viewed with modern resolution (+unfiltered textures).

Lots of games from this era have vertex lighting (and it certainly is a cool aesthetic* on its own) but I am much more interested when it's actually used to significantly reduce texture usage (plus introducing other benefits). In-engine cutscenes and midi soundtracks (or stuff like sfxr) are also good for similar reasons.

* Will be nice to try it when 4.4 finally drops (it re-adds per-vertex shading) especially as it is an actual optimization. I say this as someone who turns pixelation filters off.