SurfaceProjection object

We’ve done a thorough investigation into this several months ago. For now we’ve decided to not put this on our immediate roadmap which means it’s not going to happen in a year.

There are a few use cases here:

  • Static decals that modify the look of a surface, like layers of dirt and bullet holes.
    We have some vague plans around this, but nothing scheduled yet.
  • Texture-based spotlights, like the Batman symbol
    At some point we will release Future Is Bright Phase 3, which will have local light shadows. That should solve most of these use cases. If there are unmet use cases, we will take another look after we ship that.
  • Magic effects and indicators on the ground
    Making the effect dynamic and performant is tricky given the limitations discussed earlier. There are no current plans to ship something here. It’s still useful if you share your use cases for this so we can prioritize R&D and think about alternative solutions.
28 Likes

In World Zero we are limited to making our battle arenas 100% flat so that our hit markers can be displayed.

This is because we have to use a flat mesh / texture for our hit marker, and have no way of making it adhere to the surface.

With projected decals we would be able to make gameplay environments that are much more interesting for users to play in.

32 Likes

Since this thread has semi-recently resurfaced, I’d like to give an example of another use case that I would need surface projections for, and hopefully encourage Roblox to reconsider their decision about SurfaceProjections.

In Midnight Racing, we cannot allow for complex livery customization like games like Forza because decals do not apply properly to the cars to allow for that. Surface projections could be used to allow for placement of decals on cars in unique locations that require projecting onto different geometrical shapes.

Unfortunately, much of our player base doesn’t understand the developer constraints on roblox so they continue to ask for it even though we aren’t capable of giving them customization to this level. I think SurfaceProjections would be a perfect solution if it can be established that the SurfaceProjection will project onto a specific part and nothing else, and keep a position relative to that part (maybe this could be done by treating the Surface Projection like Attachments or something, idk).

Take a look at this speed design video if you want to have a little look at how the livery system works in Forza if you’re not familiar.

7 Likes

That video doesn’t look like surface projection. Seems like every texture gets drawn onto a canvas based on the mesh’s UV map and applied to the body texture.

An example of surface projection with car vinyls would be customization in old NFS games.

2 Likes

You’re right. I think the new NFS games do it the same way. This is a more proper portrayal of how this could be done with SurfaceProjections:

5 Likes

Bumping. This post is still very relevant to me. I see applications like bullet holes, moving texture shaders, vfx and as mentioned in the post, special abilities. I would love something like this to be added!

EDIT: I’ve been following this post for like ages. Have the devs found a way out of the depth buffer problem?

15 Likes

Huge support for this, bullet holes are a huge pain and I can’t even begin to imagine how difficult other effects would be.

11 Likes

Bumping after 2 years because as we develop our new RPG, we are still working within the same restrictions.

Mobile games running Unity have had access to this feature since 2013. Would be great to not have to make our game worlds simplistic as a gameplay tradeoff.

26 Likes

If the mobile buffer problem is too hard to fix, then just don’t make it work for mobile. I personally would rather have projection for pc and sacrifice mobile than not have it at all.

9 Likes

More support. This is a feature that needs to be implemented. There are a variety of uses such as blast/scorch marks, blood stains, bullet impacts, and many more uses. Another thing that would be cool would be the addition of something like cookies from Unity.

7 Likes

I’m also going to throw my support behind this. This would be really useful for bullet holes, blood stains, and probably my favorite use: area of effect projections.

7 Likes

I fully support this. Projecting textures should’ve been added much earlier given what developers could do with them. Roblox’s engine is incredibly behind on some fronts and this gap should definitely be closed.

7 Likes

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