SurfaceProjection object

Okie dokie. I wasn’t sure if you had tracked it or not lol. :sweat_smile:

It be about time they drop support for those ancient slabs.

I often feel like “mobile doesn’t support it” is like the sole reason/excuse that keeps being used for not adding a feature.
I don’t even make games for mobile, I don’t care if something doesn’t support mobile, just let me use it.

It should be the developer’s choice imo whether they want to support mobile or not so we can have more features and don’t need to wait for the newest smartslab-with-foldable-screen 9000 to support it.

Don’t make mobile games? Great! Here’s 10 more features you can use to make your game prettier and better because mobile phones no longer sit around attached to your foot like an anchor!

Make mobile games? Well, then simply don’t use those features. Very simple.

9 Likes

He’ll release it once editable meshes and images leave beta.

1 Like

They’re probably a lot more centered on catering to mobile because it’s where most of the player base and money is.

I’m well aware.

Statistically speaking

Mobile has the most users in the world.
More than PC and console combined if I’m not mistaken.

BUT

Mobile is also one of the worst platforms ever to be supporting games.

If a mobile game gets any more complex than a simple touch and swipe game or starts involving camera controls then it becomes an absolute nightmare.

I’ve played Roblox (and other games) on a mobile device, I’ve even played some first-person shooters on an mobile device.

From personal experience I can tell you they have some of the clunkiest, jankiest, worst controls I’ve ever had the displeasure of using.

I’ve played Minecraft on both an tablet and phone.
The controls are acceptable at best, it’s a perfectly playable and fun game but touch screens are absolutely horrid for controlling both movement and the camera at the same time.

For shooting games I typically criticize controllers for the fact that joysticks don’t give you that much precise control and aiming is harder than with a mouse but I’d prefer using joysticks over a touch screen for playing any game that involves 3D movement and camera controls.

The exact reason I don’t develop games for mobile is exactly because the controls are awful in every way.
The type of games I make or want to make are not optimized for mobile.

In theory you could play on mobile device, but unless you have a bluetooth controller and a high-end phone, your experience is absolutely not going to be optimal and you’ll be outclassed by players who play on console/PC for having better controls alone, that’s not even mentioning performance problems.

I’d gladly sacrifice mobile support for more features.
And I really wish Roblox would just give us a simple checkbox that can either lock or unlock features based on what platforms you want to develop on.

Both Unreal Engine and Unity which allow cross-platform game development, they both have checkboxes and settings which allow you to toggle features based on what platforms you plan to support.

Anyways, apologies if my little rant went a little off-topic.

I’m NOT saying Roblox should stop supporting mobile all-together because mobile does in fact have a very profitable player base.
But we should at least get more options and be able to decide ourselves what platforms we think are worth the effort to support and choose what we want to sacrifice or keep.

15 Likes

With roblox mobile dropping openGL ES 2.0 on march 1st and presumably moving on to 3.0, are deferred decals within engine limitations, now that creating GL_DEPTH_COMPONENT textures is possible?

11 Likes

One small thing, I think it would be very useful if the SurfaceProjection object had an adornee property.

Or even better, an Adornees property to allow it to project onto multiple parts in case you want it projected on a model/models with many parts. Would be annoying to have to create a SurfaceProjection for each and every part. Unfortunately that may not be possible with the methods they discussed, I believe they said the projections would not be movable so having one SurfaceProjection for many parts which could move relative to each other won’t work.

1 Like

Can this please be looked at again? My use case is SCP-106; similar to SCP: Secret Laboratory, it can create “sinkholes” or portals when it kills a player. I would love if the portals could match the surface, seamlessly.

1 Like

Bumping this. I see a lot of good use cases (such as paint, blood splatters, scorch marks, bullet holes, etc.)

1 Like

Best to have a array of objects it can cast on OR add a property on BaseParts called “ReceiveDecals” (Unreal has this so that player models for example don’t receive projection decals from the environment)

3 Likes

Bump, Bullet holes, because I can’t easily create good looking bulletholes around edges unless I script the living hell out of it by using glass and even that causes problems.
image

6 Likes

Bumping this too, how about you don’t release it on mobile.

When Future Lighting first came out, Roblox didn’t allow Mobile Devices to run Future Lighting, it just switched it out for ShadowMap.

All Roblox has to do is simply only allow this feature for computers, most games that will utilise this feature are designed for computers anyway.

11 Likes

Any updates on this topic? After all these years it is still a highly requested feature, and the example @nsgriff provided clearly shows it is a feature that is possible to implement, but there’s been no recent updates on the topic as far as I’m aware. :frowning_with_open_mouth:

9 Likes

afaik they dropped support for the phones that couldn’t use this feature recently, so there should be nothing stopping them from adding this now.

5 Likes

This isn’t even a issue anymore because, OpenGL ES 2.0 has been deprecated. The minimum required to play Roblox now is OpenGL ES 3.0+, that graphics API can very well support deferred decals. The others such as Metal, Vulkan, DirectX10+ all have support for this. So this is more of a “will Roblox remember that feature they made years ago and consider re-adding it?”

This is also the same for a Shadergraph, Roblox could make a somewhat functioning Shadergraph now that OpenGL ES 2.0 is no longer supported. We would be quite limited in what we can do but it would still be MILES better than the current system.

  • Post Processing Effects (Screen based Shaders)
  • PBR materials (Diffuse, AO, Normal, Emission, Specular, Metallic, Roughness)
  • Animated Materials (Animate UV TexCoords over time, make a noise texture shift etc…)
  • Scripted materials (such as making a material respond to a intermediate value on a object, such as a “health” attribute to control a emission intensity)
  • Deferred Decals (+Material based decals, so they also can be made using a Shadergraph like in UE, there are some limitations however.)

And this whole “Security Risk” of shipping a Shader compiler, if Roblox uses a Shadergraph then they can simply moderate / restrict what Shaders can do to actively prevent abusing/exploiting the Shader compiler. Giving users direct access to like HLSL or GLSL code writing is insecure and obviously not preferred because of its added complexity.

The main things that need to be accounted for are like:

  • Screen Based Shaders do not have the ability to interact/read anything of the UI.
  • UI Based Shaders do not have the ability to access anything within the CoreGUI.
  • Shaders are compiled in studio for preview reasons but the Shadergraph on publish is uploaded to Roblox’s servers which compile the Shaders and then package them into the place file. (This has some limitations, but overall those limitations shouldn’t be a big issue.)
13 Likes

I would love having a shader graph in Roblox.

Shaders are currently ONE OF THE BIGGEST limitations for me right now.
A lot of things I want to do are literally impossible because of this.

I’ve spend a lot of time learning about graphics, once you understand how graphics and shader languages work it’s quite amazing really.

In Unreal Engine I sometimes make very complicated shaders with lots of math to create cool effects and I love blending textures or performing operations on colors to create cool patterns.

Using post processing to filter lights and shadows to stylize them or create cell shading is fairly easy to do and it often looks pretty great and doesn’t have a big performance impact.

10 Likes

FYI this only applies to Android, there might be some iOS devices which still use OpenGL ES 2.0 and don’t support Metal

1 Like

iOS uses Metal. Apple has deprecated OpenGL on iOS/iPadOS years ago. If your apple device is still using OpenGL you probably have a iphone 4 or something…

3 Likes

That was applicable when Roblox was able to run on iOS 11 but they seem to have changed the system requirements recently requiring at least iOS 12 so this isn’t applicable