SurfaceAppearance Studio Beta [Released]

This is interesting, spent hours making a gun, textured it. I swear the textures aren’t red… kinda looking cool tho.

10 Likes

The mesh needs to be a .obj file.


Man this pbr stuff seriously rocks :grin: :grin: :call_me_hand: :+1:

46 Likes

Hi i wanted to say that when ever i import images to the assets manager it gives an error that unable to upload file does anyone have a solution pls let me know!!

2 Likes

This is truly AMAZING! When I first played the SurfaceAppearance game, I was like “Oh my God, ROBLOX is really improving it’s graphics!” Even when the Graphics Level is at 3, it still showed me amazing graphics! ROBLOX is really improving now, I can’t wait to see other developers use this amazing feature. SurfaceAppearance just makes everything look so real! It literally looks like something I would play on a Standalone game! Roblox, you amaze me everyday with these types of new updates. I hope to see some more improvements in the future!

Keep it up ROBLOX! :roblox: :roblox_light:

7 Likes

That’s not true. There is no change.

2 Likes

Layerable SurfaceAppearance / layers

+1 for needing this, this would greatly improve the quality of my customizeable space ships. This would let me apply a base “detail layer” to capture the ship’s design (i.e decals, shiny bits, panel gaps, rivets etc) and then a generic “skin layer” on top to capture the “paint coat” of the ship.

2 Likes

I’m questioning if a new SurfaceAppearance instance is the right way to go with this. Perhaps a new property & data type that encapsulates these textures (and future texture layers) would be less expensive to set because the reflection layer only needs to be crossed once.

Perhaps the new VM could optimize local foo = Instance.new(...) followed by setting properties to constants, or even just setting multiple properties consecutively in general.

Grouping equivalent SurfaceAppearances internally would likely improve performance though, and this process may be more complex with the multiple-properties-approach. If there was a new data type for PBR textures, perhaps it could be hashed / internalized similar to strings to make other optimizations involving rendering & memory usage much simpler.

There are arguments for the instance approach though, even if just for convenience. There’s even some overhead with just traversing the DataModel to fire descendant-related events for the extra instance. It would interesting if a single SurfaceAppearance could be applied to multiple parts somehow.


With the right design, it can be possible for developers to create worlds with thousands of unique 4K+ PBR textures. These textures could start replicated at a very low resolution for close to free, but are then downloaded progressively based on their on-screen size and device memory limitations. The way images are compressed & downloaded might vary depending on platform, but a solution that compresses resolutions as a difference from the previous resolution seems most ideal. There are multiple systems needed for this on both the front and back end, and their solutions need to collectively scale well for both small and huge PBR experiences.

14 Likes

I seriously feel like you should add displacement map support, it would look absolutely amazing, also, allowing 4k textures would also be good.

6 Likes

This addition would probably fry mobile users as displacement maps are generally used in conjuction with highly subdivised meshes. Normal maps are optimal for games; displacement maps are not.

5 Likes

Yeah but that could be an option for pc users only and that could be enabled with a minimum required graphic level?
Wouldnt that be possible by ease now tell me q:

2 Likes

Wow that looks incredible, i have a question is the ground or floor terrain or how do you made it?

2 Likes

What’s the sky box you’re using?

2 Likes

I mean, I think it would just be a waste of resources in the sense that normal maps do what displacement maps do but… better?

1 Like

They don’t do it “better”, they do it differently.

Normal maps just make it appear that the geometry has changed by changing the lighting calculation, but if you look at the object side-on you’ll see that it’s still made out of flat polygons. Displacement maps actually change the geometry itself, but at a significantly higher performance cost.

15 Likes

I get an issue where if I try upload a texture to roblox, It crashes the website. Some textures it works, and some it doesn’t. I am not sure why this is but hopefully it will get fixed on the official release of Surface Appearance.

UPDATE:
It wasn’t working because the image file size was too big.

1 Like

Good to see that the dev had some fun though :joy:

2 Likes

This is an awesome update for showcase game devs to give their objects a better quality.

I am aiming to create photo realistic showcases like the showcases put together with Unreal Engine 4. This is a great addition to getting the lighting correct on meshes etc. ;D

1 Like

https://gyazo.com/32fe83c2399564dee351e48451f3e495 WOW

8 Likes