SurfaceProjection object

Tbh I strongly agree with this.
A lot of features don’t exist in Roblox simply because “too hard to implement on mobile”.

I don’t make mobile games, I would sacrifice ALL mobile compatibility to have all these cool PC/Console-only features.
I wouldn’t miss out on anything, most of my projects don’t work for and aren’t intended for mobile anyway and I don’t plan on designing mobile controls any time soon either.

11 Likes

sadge no roblos replies :frowning:

This feature would make my life so much easier tbh.

3 Likes

This would indeed be really awesome. Bullet holes and explosion marks in Roblox games currently are forced to be flat parts which in various cases can float in the air, instantly breaking the immersion Roblox markets itself around.

My game has detailed buildings with very bumpy surfaces which doesn’t give much space for things like graffiti to properly fit on those. I’m sometimes forced to change up the building in a way that makes the graffiti look less like graffiti sprayed on the building and more like a mural that the building was created for instead. Bullet holes, attack indicators, wear & tear on objects, car decals and other things would be made easily possible with this! The Source engine already did it before Roblox even released. Artists on other engines have had this kind of thing for almost 2 decades now.

13 Likes

Most definitely, however there is supposedly an issue regarding mobile implementation of surface projected decals according to a Roblox engineer. Which honestly sucks, the reasoning was something along the lines of “We will not implement such a large feature unless we can have it compatible on all platforms” which is kind of stupid considering refraction for glass is disabled on mobile. I wish they could just move on and give us these literal industry standard features without attempting to cater so hard to the oldest of old mobile platforms.

2 Likes

Honestly, I can’t really believe them. I’ve seen many games have this kind of effect on mobile devices (Fortnite’s graffiti, for example).

And correct me if I’m wrong, but there’s literally a grid material option in Studio which IS a projected texture
Triplanar projection, my bad. Would be cool for materials, but I can see the various limitations it could have, such as physics objects.

The lack of basic industry-standard features like this on Roblox is what’s pushing the platform back so much. Roblox is almost on what I’d describe as some sort of Schrödinger’s game engine limitation uncanny valley, where it surpasses many engines but at the same time is missing basic features from those same engines, usually decades old.

11 Likes

Most likely because they opt to not support phones from over a decade ago…

I don’t think it is, because there are other ways to texture something (like through global coordinates instead of texture coordinates), but it is Studio, on a computer which is guaranteed to support projected textures.

nsgriff gave a more detailed explanation of what’s missing from these old mobile devices:

As a Roblox engineer stated on this thread (in the very quote reply above), that’s because glass refraction isn’t intended to be used as a gameplay feature, it’s just intended to look nice, but projected textures? Basically all of the examples in this thread given by developers for is for gameplay.

2 Likes

This is already possible with skinned meshes, it would be nice for it to be fully supported without hacky techniques though

2 Likes

This grid texture you’re showing isn’t exactly the same as projection.
By the looks of it it looks like tri-planar mapping.

Tri-planar mapping involves generating 3 UV coordinates, sampling from the same (or multiple) textures 3 times and then blending between them depending on the normal of each polygon.

E.g. a normal of 0, 1, 0 would only show the top texture, a normal of 0, 0, 1 would only show the texture aligned to the X axis, a normal in-between would blend both textures together.

Tri-planar mapping is quite easy to implement on almost any hardware nowadays, it’s only a bit more expensive on mobile devices because of a few lacking optimizations which are often used on PC/Console that normally make sampling the same texture multiple times really cheap or almost free.

I’ve made my own tri-planar mapping shaders while working in Unreal Engine projects because I needed terrain or walls that had the same texture all over from every angle.

So, unfortunately, this grid texture is not the same as the projection that’s being talked about here.
Still cool that Roblox already has that implemented at least. :slight_smile:

3 Likes

I agree with @C_Corpze. What you’re looking at isn’t actually projection. That’s just Tri-Planar doing its thing. Though I like the criticism!

4 Likes

Ive been wanting to create liveries for my vehicles,

dynamic snow/mud splats on the car,

potentially oil splats on the environment after a wreck (visuals only)

blood effects N holes for shooters

customizing the terrain manually for things such as burnt grass regions after a fire spread

9 Likes

Deferred Decals/Volumetric Decals would be an absolutely monumental addition to the Roblox engine! The amount of creativity simply introduced by 3D additive decals would explode in size and scope.

They could function as their own 3D objects that ‘float’ separate of anything else (represented in studio as a local billboardgui that is hidden during runtime), and/or they could be a child of a part/attachment to stay relative to their local CFrame.

  • Blood splatter
  • Wound marks on characters
  • Explosion/burn marks
  • Bullet holes
  • Environmental impact effects (cracked concrete, sword slash marks)
  • Telegraphing (arrow pointers,

It certainly is possible to do a lot of these effects already with decals, for example explosion scorch marks:
image
But the major falldown of this is that the effect struggles on uneven terrain / surfaces that are smaller than the effect.

Volumetric Decals would be the perfect solution for these scenarios.
They may cost a lot more in performance compared to flat decals since the engine has to check and project the texture onto many many parts at once, but with the right careful usage it would be fine.

17 Likes

This is definitely the main use case I could see this being useful for. We have no way to do explosion effects and scorch marks across multiple surfaces, which is a pretty important feature when it comes to polish. There already is functionality like this in the hacky spotlight / decal manipulation, but it’s highly limited in application due to it inherently relying on light. The fact the engine can already do something somewhat similar, this should be pretty easy to add on top of the existing lighting engine and it would make a MASSIVE difference for the capability of the platform

6 Likes

hehe hehe any news coming up on this? it’s been couple years now it’s time to have a separate client for mobile and pc it’s obvious as day light Mobile won’t be able to handle such features that are baseline since 1999 in basically every single engine BUT roblox. it’s time somethings change add these features and just make sure developers know some just won’t render on mobile i think this is the only solution not to stay behind every other engine in existence.

11 Likes

imo I feel like when creating a new experience developers should be able to choose between having their game mobile-compatible or having access to features like SurfaceProjection and other new features that mobile wouldn’t be able to run without various issues.

3 Likes

Yes please, you simply can’t make everything work cross-platform.
Even game engines like Unity and Unreal (which I use) will warn you if you use platform-specific features.

I will likely never in a 100 years make a mobile game on Roblox so I would gladly sacrifice and throw all mobile support out of the window to get better PC/Console-only features.

This wanting to support every feature everywhere is just not going to work and will make the Roblox game engine lag far behind other game engines.

Roblox is a decent game engine, it is easy to learn and use which I think is one of it’s great qualities.
But if it keeps up this “support everything on every platform” attitude it will simply miss great opportunities and features and fall behind, becoming less relevant as time goes.
It will never top game engines like Godot or other 3D engines simply because of this.

You simply can’t support every single platform and hardware specs, old phones don’t support a lot of graphics features and optimizations and they never will.
Supporting a 12 year old phone model will only hold us all back.

16 Likes

It makes very little sense to me we are allowed to choose if mobile users are allowed to enter the game, and write mobile only control schemes, but features that don’t work on mobile are held back. We have graphics settings for good reasons

7 Likes

It would be cool if, at the least, a .Position and .Size property were added to decals, because the proposed “SurfaceProjection” object is basically a decal, but over the whole world instead of restricted to one object.

4 Likes

Bumping this thread hoping it reaches ROBLOX’s attention. I believe we are at a point where the technology is available (skinned meshes perhaps may be repurposed for that?) but perhaps not. Either way, holding back such a good feature because of mobile feels a bit dumb.

17 Likes

Bumping this thread, this is too good of a feature to not be implemented in the roblox engine, especially if the engine is wanting to close to the level of something like unity or unreal

7 Likes

It has been more than three years since the last update from the Roblox Staff. Is there any news about this feature? Is it still planned or has it not even been considered?

9 Likes