-
Notifications
You must be signed in to change notification settings - Fork 67
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Demo visuals phase one #460
Demo visuals phase one #460
Conversation
this adds the replacement map in the visual style of a holodeck *some scenes needed additional adjustments
this adds a table replacement model to suit the rest of the visual style changed teleporter material changed instructions meshinstance3d material
DemoShowcase.mp4 |
First and most important, as a long time Star Trek fan, I love the look. My biggest concerns are technical ones but I think all can be simply solved. Sky I do think we should have one demo that isn't using the holodeck and does have a panoramic sky, so an outdoor scene just to show the option. Triplanar mapping The problem with triplanar is that it puts a rather complex UV conversion in the fragment shader. Not a big problem on desktops, but on mobile devices (Quest, Pico, HTC, etc) it disables something called pre-fetch. Basically if you can calculate the UV coordinates in the vertex shader, and just use them in a texture lookup without further modification in the fragment shader, you get a performance boost. Seeing we're just dealing with a simple rectangle wall we have a few options:
Distance Fade If transparency is important (I don't think so in this case), we could split the wall into two parts. An upper part that is completely opaque and has no effects applied, and a bottom part that has the fadeout from opaque at the top, to transparent at the bottom. Seeing in our case we're not dealing with that we can make a fully opaque shader that simply fades from the texture color to a fixed color at the bottom. With a bit of math we could even approximate the fade out effect precisely assuming our ground is always on y = 0. I don't know how important this is for the visual effect. Emission and glow GI is out of the question for us. Glow is turned on in the editor but off in our environment so we don't benefit from this. Again on mobile hardware glow has a disproportional performance impact, it requires copying the end result of our render, creating a number of blurred levels, and then compositing the blur over the original image in a post pass. This also ends up disabling a subpass optimisation. The other problem with the current setup of emission is that we're reading two textures. Again not really something to write home about on desktop, but every texture you read from on mobile costs so you want to minimize that. In this particular case there isn't much point using the albedo texture. You could just make the albedo color black and purely rely on emission. However we can also go the other way if you do the following steps:
You can play around with different blur radiuses and adding more levels to create a stronger/weaker glow effect. Happy to create the shader for you that applies the above things. |
yeah i think we might be better off goin your route with the shader, my trys ended up being not satisfying, after all it is supposed to be a non distracting clean look so yes if you could make this into a shader, would be great, thx for takin the time to review |
Optimise holodeck shaders
thx @BastiaanOlij devine intervention as he optimized the visuals with shaders, this should now consume less performance now onto the pickables/interactables - phase 2 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@Malcolmnixon would be good if you could have a look at this too and see if there is anything you'd like to tweak. I really enjoy the holodeck look. It's also nice that all the larger scenes still have a normal environment so we're displaying different options.
@DigitalN8m4r3 what license is for those pickables/interactables - phase 2? (Personally they got me intrested as I want to try making space game that has support for both XR and desktop) |
for what its worth the 3d assets that am contributing to the xr tools are all licensed under public domain CC0 |
added suggested changes by malcolmnixon those include adding a color rect to the keyboard_test_screen from the pointer demo and adjusting the baseblack material of the tables, now it is a grey material
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It looks good to me - especially with the final tweaks for making the tables and the pointer-demo screen more visible.
Thanks! |
this updates the current xr tools demo scenes with a more modern fresh clean look
update includes:
new materials for the instruction meshes and the teleport body material
replaced table with a table model and a material to suit the rest of the visuals
added holodeck map and changed most of the scenes to use the holodeck instead of the basic map
Note:
as the title states, this is in fact a multipart pr.
this being the phase one, the next phase will concentrate on replacing the pickable models along with the interactables