SurfaceProjection object

Roblox has a lot of really smart engineers – they’re generally not going to have trouble implementing something for the latest and newest hardware. The problem lies with mobile devices and old computers which aren’t meant to handle this sort of stuff.

11 Likes

I feel like simply having a size / position property to decals would work fine for this. It already works with SurfaceGuis - to an extent.

EDIT

I also just remembered the texture object already has a size property - it shouldn’t be much more difficult to add a size / position to decals, as well as adding a position property to textures.

1 Like

the only problem with having a position property is that it might mess up with unions and meshparts. having a sepearate object that does this would be better

1 Like

Or it might fix unions that have improper texture positioning.

It’s a double edged sword to be honest.

Breaking the silence on this dead thread again, but Developers really need this object. It’s much faster and more efficient than constantly creating new parts with decals on them, all while CFraming, resizing, etc.

I’d say for this feature, Mobile support should be the last priority that the engineers look into until they figure out how to work around the problems present with the depth buffer, rather than cut this feature out because Mobile is currently unable to support it.

Game developers would then have the option to opt for the less convenient and slow alternative of sticking a part onto a surface for players on Mobile.

7 Likes

We have no near term plans for this feature. A thorough investigation was done, and it is currently on the back-burner for now.

13 Likes

Has anything about the matter changed by now?

8 Likes

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